misc: ad525x_dpot: Add support for SPI module device table matching
Passing device name via platform data, is a leftover from times where SPI module device table matching was not existent. * Add id_table and remove old mechanism. (To my knowledge no intree boards affected) * Miscellaneous other cleanup. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
cfcfc9eca2
commit
7f3379de9c
@@ -64,7 +64,7 @@
|
||||
* Author: Chris Verges <chrisv@cyberswitching.com>
|
||||
*
|
||||
* derived from ad5252.c
|
||||
* Copyright (c) 2006 Michael Hennerich <hennerich@blackfin.uclinux.org>
|
||||
* Copyright (c) 2006-2011 Michael Hennerich <hennerich@blackfin.uclinux.org>
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
@@ -76,8 +76,6 @@
|
||||
#include <linux/delay.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#define DRIVER_VERSION "0.2"
|
||||
|
||||
#include "ad525x_dpot.h"
|
||||
|
||||
/*
|
||||
@@ -687,8 +685,9 @@ inline void ad_dpot_remove_files(struct device *dev,
|
||||
}
|
||||
}
|
||||
|
||||
__devinit int ad_dpot_probe(struct device *dev,
|
||||
struct ad_dpot_bus_data *bdata, const struct ad_dpot_id *id)
|
||||
int __devinit ad_dpot_probe(struct device *dev,
|
||||
struct ad_dpot_bus_data *bdata, unsigned long devid,
|
||||
const char *name)
|
||||
{
|
||||
|
||||
struct dpot_data *data;
|
||||
@@ -704,13 +703,13 @@ __devinit int ad_dpot_probe(struct device *dev,
|
||||
mutex_init(&data->update_lock);
|
||||
|
||||
data->bdata = *bdata;
|
||||
data->devid = id->devid;
|
||||
data->devid = devid;
|
||||
|
||||
data->max_pos = 1 << DPOT_MAX_POS(data->devid);
|
||||
data->max_pos = 1 << DPOT_MAX_POS(devid);
|
||||
data->rdac_mask = data->max_pos - 1;
|
||||
data->feat = DPOT_FEAT(data->devid);
|
||||
data->uid = DPOT_UID(data->devid);
|
||||
data->wipers = DPOT_WIPERS(data->devid);
|
||||
data->feat = DPOT_FEAT(devid);
|
||||
data->uid = DPOT_UID(devid);
|
||||
data->wipers = DPOT_WIPERS(devid);
|
||||
|
||||
for (i = DPOT_RDAC0; i < MAX_RDACS; i++)
|
||||
if (data->wipers & (1 << i)) {
|
||||
@@ -731,7 +730,7 @@ __devinit int ad_dpot_probe(struct device *dev,
|
||||
}
|
||||
|
||||
dev_info(dev, "%s %d-Position Digital Potentiometer registered\n",
|
||||
id->name, data->max_pos);
|
||||
name, data->max_pos);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -745,7 +744,7 @@ exit_free:
|
||||
dev_set_drvdata(dev, NULL);
|
||||
exit:
|
||||
dev_err(dev, "failed to create client for %s ID 0x%lX\n",
|
||||
id->name, id->devid);
|
||||
name, devid);
|
||||
return err;
|
||||
}
|
||||
EXPORT_SYMBOL(ad_dpot_probe);
|
||||
@@ -770,4 +769,3 @@ MODULE_AUTHOR("Chris Verges <chrisv@cyberswitching.com>, "
|
||||
"Michael Hennerich <hennerich@blackfin.uclinux.org>");
|
||||
MODULE_DESCRIPTION("Digital potentiometer driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_VERSION(DRIVER_VERSION);
|
||||
|
Reference in New Issue
Block a user