Skip to content

Commit 5443040

Browse files
committed
Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-core: i2c bus should support PM entries in struct dev_pm_ops i2c: Get rid of I2C_CLIENT_MODULE_PARM i2c: Drop I2C_CLIENT_INSMOD_2 to 8 i2c: Drop I2C_CLIENT_INSMOD_1 i2c: Get rid of struct i2c_client_address_data i2c: Drop the kind parameter from detect callbacks
2 parents 3ea6b3d + 54067ee commit 5443040

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+232
-411
lines changed

Documentation/i2c/writing-clients

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ static struct i2c_driver foo_driver = {
4444
/* if device autodetection is needed: */
4545
.class = I2C_CLASS_SOMETHING,
4646
.detect = foo_detect,
47-
.address_data = &addr_data,
47+
.address_list = normal_i2c,
4848

4949
.shutdown = foo_shutdown, /* optional */
5050
.suspend = foo_suspend, /* optional */

drivers/hwmon/adm1021.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@
3434
static const unsigned short normal_i2c[] = {
3535
0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e, I2C_CLIENT_END };
3636

37-
/* Insmod parameters */
38-
I2C_CLIENT_INSMOD_8(adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm,
39-
mc1066);
37+
enum chips {
38+
adm1021, adm1023, max1617, max1617a, thmc10, lm84, gl523sm, mc1066 };
4039

4140
/* adm1021 constants specified below */
4241

@@ -97,7 +96,7 @@ struct adm1021_data {
9796

9897
static int adm1021_probe(struct i2c_client *client,
9998
const struct i2c_device_id *id);
100-
static int adm1021_detect(struct i2c_client *client, int kind,
99+
static int adm1021_detect(struct i2c_client *client,
101100
struct i2c_board_info *info);
102101
static void adm1021_init_client(struct i2c_client *client);
103102
static int adm1021_remove(struct i2c_client *client);
@@ -130,7 +129,7 @@ static struct i2c_driver adm1021_driver = {
130129
.remove = adm1021_remove,
131130
.id_table = adm1021_id,
132131
.detect = adm1021_detect,
133-
.address_data = &addr_data,
132+
.address_list = normal_i2c,
134133
};
135134

136135
static ssize_t show_temp(struct device *dev,
@@ -284,7 +283,7 @@ static const struct attribute_group adm1021_group = {
284283
};
285284

286285
/* Return 0 if detection is successful, -ENODEV otherwise */
287-
static int adm1021_detect(struct i2c_client *client, int kind,
286+
static int adm1021_detect(struct i2c_client *client,
288287
struct i2c_board_info *info)
289288
{
290289
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adm1025.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,7 @@
6464

6565
static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
6666

67-
/*
68-
* Insmod parameters
69-
*/
70-
71-
I2C_CLIENT_INSMOD_2(adm1025, ne1619);
67+
enum chips { adm1025, ne1619 };
7268

7369
/*
7470
* The ADM1025 registers
@@ -111,7 +107,7 @@ static const int in_scale[6] = { 2500, 2250, 3300, 5000, 12000, 3300 };
111107

112108
static int adm1025_probe(struct i2c_client *client,
113109
const struct i2c_device_id *id);
114-
static int adm1025_detect(struct i2c_client *client, int kind,
110+
static int adm1025_detect(struct i2c_client *client,
115111
struct i2c_board_info *info);
116112
static void adm1025_init_client(struct i2c_client *client);
117113
static int adm1025_remove(struct i2c_client *client);
@@ -137,7 +133,7 @@ static struct i2c_driver adm1025_driver = {
137133
.remove = adm1025_remove,
138134
.id_table = adm1025_id,
139135
.detect = adm1025_detect,
140-
.address_data = &addr_data,
136+
.address_list = normal_i2c,
141137
};
142138

143139
/*
@@ -409,7 +405,7 @@ static const struct attribute_group adm1025_group_in4 = {
409405
};
410406

411407
/* Return 0 if detection is successful, -ENODEV otherwise */
412-
static int adm1025_detect(struct i2c_client *client, int kind,
408+
static int adm1025_detect(struct i2c_client *client,
413409
struct i2c_board_info *info)
414410
{
415411
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adm1026.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,6 @@
3737
/* Addresses to scan */
3838
static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
3939

40-
/* Insmod parameters */
41-
I2C_CLIENT_INSMOD_1(adm1026);
42-
4340
static int gpio_input[17] = { -1, -1, -1, -1, -1, -1, -1, -1, -1,
4441
-1, -1, -1, -1, -1, -1, -1, -1 };
4542
static int gpio_output[17] = { -1, -1, -1, -1, -1, -1, -1, -1, -1,
@@ -293,7 +290,7 @@ struct adm1026_data {
293290

294291
static int adm1026_probe(struct i2c_client *client,
295292
const struct i2c_device_id *id);
296-
static int adm1026_detect(struct i2c_client *client, int kind,
293+
static int adm1026_detect(struct i2c_client *client,
297294
struct i2c_board_info *info);
298295
static int adm1026_remove(struct i2c_client *client);
299296
static int adm1026_read_value(struct i2c_client *client, u8 reg);
@@ -305,7 +302,7 @@ static void adm1026_init_client(struct i2c_client *client);
305302

306303

307304
static const struct i2c_device_id adm1026_id[] = {
308-
{ "adm1026", adm1026 },
305+
{ "adm1026", 0 },
309306
{ }
310307
};
311308
MODULE_DEVICE_TABLE(i2c, adm1026_id);
@@ -319,7 +316,7 @@ static struct i2c_driver adm1026_driver = {
319316
.remove = adm1026_remove,
320317
.id_table = adm1026_id,
321318
.detect = adm1026_detect,
322-
.address_data = &addr_data,
319+
.address_list = normal_i2c,
323320
};
324321

325322
static int adm1026_read_value(struct i2c_client *client, u8 reg)
@@ -1650,7 +1647,7 @@ static const struct attribute_group adm1026_group_in8_9 = {
16501647
};
16511648

16521649
/* Return 0 if detection is successful, -ENODEV otherwise */
1653-
static int adm1026_detect(struct i2c_client *client, int kind,
1650+
static int adm1026_detect(struct i2c_client *client,
16541651
struct i2c_board_info *info)
16551652
{
16561653
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adm1029.c

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,6 @@ static const unsigned short normal_i2c[] = { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d,
4343
0x2e, 0x2f, I2C_CLIENT_END
4444
};
4545

46-
/*
47-
* Insmod parameters
48-
*/
49-
50-
I2C_CLIENT_INSMOD_1(adm1029);
51-
5246
/*
5347
* The ADM1029 registers
5448
* Manufacturer ID is 0x41 for Analog Devices
@@ -117,7 +111,7 @@ static const u8 ADM1029_REG_FAN_DIV[] = {
117111

118112
static int adm1029_probe(struct i2c_client *client,
119113
const struct i2c_device_id *id);
120-
static int adm1029_detect(struct i2c_client *client, int kind,
114+
static int adm1029_detect(struct i2c_client *client,
121115
struct i2c_board_info *info);
122116
static int adm1029_remove(struct i2c_client *client);
123117
static struct adm1029_data *adm1029_update_device(struct device *dev);
@@ -128,7 +122,7 @@ static int adm1029_init_client(struct i2c_client *client);
128122
*/
129123

130124
static const struct i2c_device_id adm1029_id[] = {
131-
{ "adm1029", adm1029 },
125+
{ "adm1029", 0 },
132126
{ }
133127
};
134128
MODULE_DEVICE_TABLE(i2c, adm1029_id);
@@ -142,7 +136,7 @@ static struct i2c_driver adm1029_driver = {
142136
.remove = adm1029_remove,
143137
.id_table = adm1029_id,
144138
.detect = adm1029_detect,
145-
.address_data = &addr_data,
139+
.address_list = normal_i2c,
146140
};
147141

148142
/*
@@ -297,7 +291,7 @@ static const struct attribute_group adm1029_group = {
297291
*/
298292

299293
/* Return 0 if detection is successful, -ENODEV otherwise */
300-
static int adm1029_detect(struct i2c_client *client, int kind,
294+
static int adm1029_detect(struct i2c_client *client,
301295
struct i2c_board_info *info)
302296
{
303297
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adm1031.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,7 @@
6464
/* Addresses to scan */
6565
static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, I2C_CLIENT_END };
6666

67-
/* Insmod parameters */
68-
I2C_CLIENT_INSMOD_2(adm1030, adm1031);
67+
enum chips { adm1030, adm1031 };
6968

7069
typedef u8 auto_chan_table_t[8][2];
7170

@@ -102,7 +101,7 @@ struct adm1031_data {
102101

103102
static int adm1031_probe(struct i2c_client *client,
104103
const struct i2c_device_id *id);
105-
static int adm1031_detect(struct i2c_client *client, int kind,
104+
static int adm1031_detect(struct i2c_client *client,
106105
struct i2c_board_info *info);
107106
static void adm1031_init_client(struct i2c_client *client);
108107
static int adm1031_remove(struct i2c_client *client);
@@ -125,7 +124,7 @@ static struct i2c_driver adm1031_driver = {
125124
.remove = adm1031_remove,
126125
.id_table = adm1031_id,
127126
.detect = adm1031_detect,
128-
.address_data = &addr_data,
127+
.address_list = normal_i2c,
129128
};
130129

131130
static inline u8 adm1031_read_value(struct i2c_client *client, u8 reg)
@@ -813,7 +812,7 @@ static const struct attribute_group adm1031_group_opt = {
813812
};
814813

815814
/* Return 0 if detection is successful, -ENODEV otherwise */
816-
static int adm1031_detect(struct i2c_client *client, int kind,
815+
static int adm1031_detect(struct i2c_client *client,
817816
struct i2c_board_info *info)
818817
{
819818
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adm9240.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@
5555
static const unsigned short normal_i2c[] = { 0x2c, 0x2d, 0x2e, 0x2f,
5656
I2C_CLIENT_END };
5757

58-
/* Insmod parameters */
59-
I2C_CLIENT_INSMOD_3(adm9240, ds1780, lm81);
58+
enum chips { adm9240, ds1780, lm81 };
6059

6160
/* ADM9240 registers */
6261
#define ADM9240_REG_MAN_ID 0x3e
@@ -132,7 +131,7 @@ static inline unsigned int AOUT_FROM_REG(u8 reg)
132131

133132
static int adm9240_probe(struct i2c_client *client,
134133
const struct i2c_device_id *id);
135-
static int adm9240_detect(struct i2c_client *client, int kind,
134+
static int adm9240_detect(struct i2c_client *client,
136135
struct i2c_board_info *info);
137136
static void adm9240_init_client(struct i2c_client *client);
138137
static int adm9240_remove(struct i2c_client *client);
@@ -156,7 +155,7 @@ static struct i2c_driver adm9240_driver = {
156155
.remove = adm9240_remove,
157156
.id_table = adm9240_id,
158157
.detect = adm9240_detect,
159-
.address_data = &addr_data,
158+
.address_list = normal_i2c,
160159
};
161160

162161
/* per client data */
@@ -545,7 +544,7 @@ static const struct attribute_group adm9240_group = {
545544
/*** sensor chip detect and driver install ***/
546545

547546
/* Return 0 if detection is successful, -ENODEV otherwise */
548-
static int adm9240_detect(struct i2c_client *new_client, int kind,
547+
static int adm9240_detect(struct i2c_client *new_client,
549548
struct i2c_board_info *info)
550549
{
551550
struct i2c_adapter *adapter = new_client->adapter;

drivers/hwmon/ads7828.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,7 @@
4747
static const unsigned short normal_i2c[] = { 0x48, 0x49, 0x4a, 0x4b,
4848
I2C_CLIENT_END };
4949

50-
/* Insmod parameters */
51-
I2C_CLIENT_INSMOD_1(ads7828);
52-
53-
/* Other module parameters */
50+
/* Module parameters */
5451
static int se_input = 1; /* Default is SE, 0 == diff */
5552
static int int_vref = 1; /* Default is internal ref ON */
5653
static int vref_mv = ADS7828_INT_VREF_MV; /* set if vref != 2.5V */
@@ -72,7 +69,7 @@ struct ads7828_data {
7269
};
7370

7471
/* Function declaration - necessary due to function dependencies */
75-
static int ads7828_detect(struct i2c_client *client, int kind,
72+
static int ads7828_detect(struct i2c_client *client,
7673
struct i2c_board_info *info);
7774
static int ads7828_probe(struct i2c_client *client,
7875
const struct i2c_device_id *id);
@@ -168,7 +165,7 @@ static int ads7828_remove(struct i2c_client *client)
168165
}
169166

170167
static const struct i2c_device_id ads7828_id[] = {
171-
{ "ads7828", ads7828 },
168+
{ "ads7828", 0 },
172169
{ }
173170
};
174171
MODULE_DEVICE_TABLE(i2c, ads7828_id);
@@ -183,11 +180,11 @@ static struct i2c_driver ads7828_driver = {
183180
.remove = ads7828_remove,
184181
.id_table = ads7828_id,
185182
.detect = ads7828_detect,
186-
.address_data = &addr_data,
183+
.address_list = normal_i2c,
187184
};
188185

189186
/* Return 0 if detection is successful, -ENODEV otherwise */
190-
static int ads7828_detect(struct i2c_client *client, int kind,
187+
static int ads7828_detect(struct i2c_client *client,
191188
struct i2c_board_info *info)
192189
{
193190
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adt7462.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@
3232
/* Addresses to scan */
3333
static const unsigned short normal_i2c[] = { 0x58, 0x5C, I2C_CLIENT_END };
3434

35-
/* Insmod parameters */
36-
I2C_CLIENT_INSMOD_1(adt7462);
37-
3835
/* ADT7462 registers */
3936
#define ADT7462_REG_DEVICE 0x3D
4037
#define ADT7462_REG_VENDOR 0x3E
@@ -237,12 +234,12 @@ struct adt7462_data {
237234

238235
static int adt7462_probe(struct i2c_client *client,
239236
const struct i2c_device_id *id);
240-
static int adt7462_detect(struct i2c_client *client, int kind,
237+
static int adt7462_detect(struct i2c_client *client,
241238
struct i2c_board_info *info);
242239
static int adt7462_remove(struct i2c_client *client);
243240

244241
static const struct i2c_device_id adt7462_id[] = {
245-
{ "adt7462", adt7462 },
242+
{ "adt7462", 0 },
246243
{ }
247244
};
248245
MODULE_DEVICE_TABLE(i2c, adt7462_id);
@@ -256,7 +253,7 @@ static struct i2c_driver adt7462_driver = {
256253
.remove = adt7462_remove,
257254
.id_table = adt7462_id,
258255
.detect = adt7462_detect,
259-
.address_data = &addr_data,
256+
.address_list = normal_i2c,
260257
};
261258

262259
/*
@@ -1902,7 +1899,7 @@ static struct attribute *adt7462_attr[] =
19021899
};
19031900

19041901
/* Return 0 if detection is successful, -ENODEV otherwise */
1905-
static int adt7462_detect(struct i2c_client *client, int kind,
1902+
static int adt7462_detect(struct i2c_client *client,
19061903
struct i2c_board_info *info)
19071904
{
19081905
struct i2c_adapter *adapter = client->adapter;

drivers/hwmon/adt7470.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,6 @@
3333
/* Addresses to scan */
3434
static const unsigned short normal_i2c[] = { 0x2C, 0x2E, 0x2F, I2C_CLIENT_END };
3535

36-
/* Insmod parameters */
37-
I2C_CLIENT_INSMOD_1(adt7470);
38-
3936
/* ADT7470 registers */
4037
#define ADT7470_REG_BASE_ADDR 0x20
4138
#define ADT7470_REG_TEMP_BASE_ADDR 0x20
@@ -177,12 +174,12 @@ struct adt7470_data {
177174

178175
static int adt7470_probe(struct i2c_client *client,
179176
const struct i2c_device_id *id);
180-
static int adt7470_detect(struct i2c_client *client, int kind,
177+
static int adt7470_detect(struct i2c_client *client,
181178
struct i2c_board_info *info);
182179
static int adt7470_remove(struct i2c_client *client);
183180

184181
static const struct i2c_device_id adt7470_id[] = {
185-
{ "adt7470", adt7470 },
182+
{ "adt7470", 0 },
186183
{ }
187184
};
188185
MODULE_DEVICE_TABLE(i2c, adt7470_id);
@@ -196,7 +193,7 @@ static struct i2c_driver adt7470_driver = {
196193
.remove = adt7470_remove,
197194
.id_table = adt7470_id,
198195
.detect = adt7470_detect,
199-
.address_data = &addr_data,
196+
.address_list = normal_i2c,
200197
};
201198

202199
/*
@@ -1225,7 +1222,7 @@ static struct attribute *adt7470_attr[] =
12251222
};
12261223

12271224
/* Return 0 if detection is successful, -ENODEV otherwise */
1228-
static int adt7470_detect(struct i2c_client *client, int kind,
1225+
static int adt7470_detect(struct i2c_client *client,
12291226
struct i2c_board_info *info)
12301227
{
12311228
struct i2c_adapter *adapter = client->adapter;

0 commit comments

Comments
 (0)