i2c: Add support for device alias names

Based on earlier work by Jon Smirl and Jochen Friedrich.

This patch allows new-style i2c chip drivers to have alias names using
the official kernel aliasing system and MODULE_DEVICE_TABLE(). At this
point, the old i2c driver binding scheme (driver_name/type) is still
supported.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jochen Friedrich <jochen@scram.de>
Cc: Jon Smirl <jonsmirl@gmail.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
This commit is contained in:
Jean Delvare
2008-04-29 23:11:39 +02:00
committed by Jean Delvare
parent ee56d97742
commit d2653e9273
43 changed files with 146 additions and 54 deletions

View File

@ -326,7 +326,8 @@ static struct bin_attribute nvram = {
static struct i2c_driver ds1307_driver;
static int __devinit ds1307_probe(struct i2c_client *client)
static int __devinit ds1307_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct ds1307 *ds1307;
int err = -ENODEV;

View File

@ -355,7 +355,8 @@ static const struct rtc_class_ops ds1374_rtc_ops = {
.ioctl = ds1374_ioctl,
};
static int ds1374_probe(struct i2c_client *client)
static int ds1374_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct ds1374 *ds1374;
int ret;

View File

@ -490,7 +490,7 @@ isl1208_sysfs_unregister(struct device *dev)
}
static int
isl1208_probe(struct i2c_client *client)
isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
int rc = 0;
struct rtc_device *rtc;

View File

@ -756,7 +756,8 @@ static struct notifier_block wdt_notifier = {
*
*****************************************************************************
*/
static int m41t80_probe(struct i2c_client *client)
static int m41t80_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
int i, rc = 0;
struct rtc_device *rtc = NULL;

View File

@ -246,7 +246,8 @@ static const struct rtc_class_ops pcf8563_rtc_ops = {
.set_time = pcf8563_rtc_set_time,
};
static int pcf8563_probe(struct i2c_client *client)
static int pcf8563_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct pcf8563 *pcf8563;

View File

@ -494,7 +494,8 @@ static void rs5c_sysfs_unregister(struct device *dev)
static struct i2c_driver rs5c372_driver;
static int rs5c372_probe(struct i2c_client *client)
static int rs5c372_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
int err = 0;
struct rs5c372 *rs5c372;

View File

@ -195,7 +195,8 @@ static const struct rtc_class_ops s35390a_rtc_ops = {
static struct i2c_driver s35390a_driver;
static int s35390a_probe(struct i2c_client *client)
static int s35390a_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
int err;
unsigned int i;

View File

@ -494,7 +494,8 @@ static void x1205_sysfs_unregister(struct device *dev)
}
static int x1205_probe(struct i2c_client *client)
static int x1205_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
int err = 0;
unsigned char sr;