diff options
| author | Wolfgang Grandegger <wg@denx.de> | 2010-02-17 05:19:17 -0500 |
|---|---|---|
| committer | Ben Dooks <ben-linux@fluff.org> | 2010-03-07 17:03:09 -0500 |
| commit | 6e56dd3d0e1e899a824c247aa72bc4250ce7668a (patch) | |
| tree | 647450d75e638ff047b99010054d232c32e31fd9 | |
| parent | 96eb7164e3c2f8c1b53118078e5c06f7c34c2d49 (diff) | |
i2c-mpc: use __devinit[data] for initialization functions and data
"__devinit[data]" has not yet been used for all initialization functions
and data. To avoid truncating lines, the struct "mpc_i2c_match_data" has
been renamed to "mpc_i2c_data", which is even the better name.
Signed-off-by: Wolfgang Grandegger <wg@denx.de>
Tested-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| -rw-r--r-- | drivers/i2c/busses/i2c-mpc.c | 99 |
1 files changed, 46 insertions, 53 deletions
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c index f627001108b8..2f74d9b6c0b9 100644 --- a/drivers/i2c/busses/i2c-mpc.c +++ b/drivers/i2c/busses/i2c-mpc.c | |||
| @@ -66,7 +66,7 @@ struct mpc_i2c_divider { | |||
| 66 | u16 fdr; /* including dfsrr */ | 66 | u16 fdr; /* including dfsrr */ |
| 67 | }; | 67 | }; |
| 68 | 68 | ||
| 69 | struct mpc_i2c_match_data { | 69 | struct mpc_i2c_data { |
| 70 | void (*setclock)(struct device_node *node, | 70 | void (*setclock)(struct device_node *node, |
| 71 | struct mpc_i2c *i2c, | 71 | struct mpc_i2c *i2c, |
| 72 | u32 clock, u32 prescaler); | 72 | u32 clock, u32 prescaler); |
| @@ -165,7 +165,7 @@ static int i2c_wait(struct mpc_i2c *i2c, unsigned timeout, int writing) | |||
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | #ifdef CONFIG_PPC_MPC52xx | 167 | #ifdef CONFIG_PPC_MPC52xx |
| 168 | static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { | 168 | static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] __devinitconst = { |
| 169 | {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23}, | 169 | {20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23}, |
| 170 | {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02}, | 170 | {28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02}, |
| 171 | {36, 0x26}, {40, 0x27}, {44, 0x04}, {48, 0x28}, | 171 | {36, 0x26}, {40, 0x27}, {44, 0x04}, {48, 0x28}, |
| @@ -186,7 +186,8 @@ static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = { | |||
| 186 | {10240, 0x9d}, {12288, 0x9e}, {15360, 0x9f} | 186 | {10240, 0x9d}, {12288, 0x9e}, {15360, 0x9f} |
| 187 | }; | 187 | }; |
| 188 | 188 | ||
| 189 | int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) | 189 | static int __devinit mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, |
| 190 | int prescaler) | ||
| 190 | { | 191 | { |
| 191 | const struct mpc_i2c_divider *div = NULL; | 192 | const struct mpc_i2c_divider *div = NULL; |
| 192 | unsigned int pvr = mfspr(SPRN_PVR); | 193 | unsigned int pvr = mfspr(SPRN_PVR); |
| @@ -215,9 +216,9 @@ int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler) | |||
| 215 | return div ? (int)div->fdr : -EINVAL; | 216 | return div ? (int)div->fdr : -EINVAL; |
| 216 | } | 217 | } |
| 217 | 218 | ||
| 218 | static void mpc_i2c_setclock_52xx(struct device_node *node, | 219 | static void __devinit mpc_i2c_setclock_52xx(struct device_node *node, |
| 219 | struct mpc_i2c *i2c, | 220 | struct mpc_i2c *i2c, |
| 220 | u32 clock, u32 prescaler) | 221 | u32 clock, u32 prescaler) |
| 221 | { | 222 | { |
| 222 | int ret, fdr; | 223 | int ret, fdr; |
| 223 | 224 | ||
| @@ -230,15 +231,15 @@ static void mpc_i2c_setclock_52xx(struct device_node *node, | |||
| 230 | dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr); | 231 | dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr); |
| 231 | } | 232 | } |
| 232 | #else /* !CONFIG_PPC_MPC52xx */ | 233 | #else /* !CONFIG_PPC_MPC52xx */ |
| 233 | static void mpc_i2c_setclock_52xx(struct device_node *node, | 234 | static void __devinit mpc_i2c_setclock_52xx(struct device_node *node, |
| 234 | struct mpc_i2c *i2c, | 235 | struct mpc_i2c *i2c, |
| 235 | u32 clock, u32 prescaler) | 236 | u32 clock, u32 prescaler) |
| 236 | { | 237 | { |
| 237 | } | 238 | } |
| 238 | #endif /* CONFIG_PPC_MPC52xx*/ | 239 | #endif /* CONFIG_PPC_MPC52xx*/ |
| 239 | 240 | ||
| 240 | #ifdef CONFIG_FSL_SOC | 241 | #ifdef CONFIG_FSL_SOC |
| 241 | static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = { | 242 | static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] __devinitconst = { |
| 242 | {160, 0x0120}, {192, 0x0121}, {224, 0x0122}, {256, 0x0123}, | 243 | {160, 0x0120}, {192, 0x0121}, {224, 0x0122}, {256, 0x0123}, |
| 243 | {288, 0x0100}, {320, 0x0101}, {352, 0x0601}, {384, 0x0102}, | 244 | {288, 0x0100}, {320, 0x0101}, {352, 0x0601}, {384, 0x0102}, |
| 244 | {416, 0x0602}, {448, 0x0126}, {480, 0x0103}, {512, 0x0127}, | 245 | {416, 0x0602}, {448, 0x0126}, {480, 0x0103}, {512, 0x0127}, |
| @@ -258,7 +259,7 @@ static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = { | |||
| 258 | {49152, 0x011e}, {61440, 0x011f} | 259 | {49152, 0x011e}, {61440, 0x011f} |
| 259 | }; | 260 | }; |
| 260 | 261 | ||
| 261 | u32 mpc_i2c_get_sec_cfg_8xxx(void) | 262 | static u32 __devinit mpc_i2c_get_sec_cfg_8xxx(void) |
| 262 | { | 263 | { |
| 263 | struct device_node *node = NULL; | 264 | struct device_node *node = NULL; |
| 264 | u32 __iomem *reg; | 265 | u32 __iomem *reg; |
| @@ -287,7 +288,8 @@ u32 mpc_i2c_get_sec_cfg_8xxx(void) | |||
| 287 | return val; | 288 | return val; |
| 288 | } | 289 | } |
| 289 | 290 | ||
| 290 | int mpc_i2c_get_fdr_8xxx(struct device_node *node, u32 clock, u32 prescaler) | 291 | static int __devinit mpc_i2c_get_fdr_8xxx(struct device_node *node, u32 clock, |
| 292 | u32 prescaler) | ||
| 291 | { | 293 | { |
| 292 | const struct mpc_i2c_divider *div = NULL; | 294 | const struct mpc_i2c_divider *div = NULL; |
| 293 | u32 divider; | 295 | u32 divider; |
| @@ -320,9 +322,9 @@ int mpc_i2c_get_fdr_8xxx(struct device_node *node, u32 clock, u32 prescaler) | |||
| 320 | return div ? (int)div->fdr : -EINVAL; | 322 | return div ? (int)div->fdr : -EINVAL; |
| 321 | } | 323 | } |
| 322 | 324 | ||
| 323 | static void mpc_i2c_setclock_8xxx(struct device_node *node, | 325 | static void __devinit mpc_i2c_setclock_8xxx(struct device_node *node, |
| 324 | struct mpc_i2c *i2c, | 326 | struct mpc_i2c *i2c, |
| 325 | u32 clock, u32 prescaler) | 327 | u32 clock, u32 prescaler) |
| 326 | { | 328 | { |
| 327 | int ret, fdr; | 329 | int ret, fdr; |
| 328 | 330 | ||
| @@ -338,9 +340,9 @@ static void mpc_i2c_setclock_8xxx(struct device_node *node, | |||
| 338 | } | 340 | } |
| 339 | 341 | ||
| 340 | #else /* !CONFIG_FSL_SOC */ | 342 | #else /* !CONFIG_FSL_SOC */ |
| 341 | static void mpc_i2c_setclock_8xxx(struct device_node *node, | 343 | static void __devinit mpc_i2c_setclock_8xxx(struct device_node *node, |
| 342 | struct mpc_i2c *i2c, | 344 | struct mpc_i2c *i2c, |
| 343 | u32 clock, u32 prescaler) | 345 | u32 clock, u32 prescaler) |
| 344 | { | 346 | { |
| 345 | } | 347 | } |
| 346 | #endif /* CONFIG_FSL_SOC */ | 348 | #endif /* CONFIG_FSL_SOC */ |
| @@ -529,8 +531,8 @@ static int __devinit fsl_i2c_probe(struct of_device *op, | |||
| 529 | clock = *prop; | 531 | clock = *prop; |
| 530 | 532 | ||
| 531 | if (match->data) { | 533 | if (match->data) { |
| 532 | struct mpc_i2c_match_data *data = | 534 | struct mpc_i2c_data *data = |
| 533 | (struct mpc_i2c_match_data *)match->data; | 535 | (struct mpc_i2c_data *)match->data; |
| 534 | data->setclock(op->node, i2c, clock, data->prescaler); | 536 | data->setclock(op->node, i2c, clock, data->prescaler); |
| 535 | } else { | 537 | } else { |
| 536 | /* Backwards compatibility */ | 538 | /* Backwards compatibility */ |
| @@ -582,44 +584,35 @@ static int __devexit fsl_i2c_remove(struct of_device *op) | |||
| 582 | return 0; | 584 | return 0; |
| 583 | }; | 585 | }; |
| 584 | 586 | ||
| 587 | static struct mpc_i2c_data mpc_i2c_data_52xx __devinitdata = { | ||
| 588 | .setclock = mpc_i2c_setclock_52xx, | ||
| 589 | }; | ||
| 590 | |||
| 591 | static struct mpc_i2c_data mpc_i2c_data_8313 __devinitdata = { | ||
| 592 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 593 | }; | ||
| 594 | |||
| 595 | static struct mpc_i2c_data mpc_i2c_data_8543 __devinitdata = { | ||
| 596 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 597 | .prescaler = 2, | ||
| 598 | }; | ||
| 599 | |||
| 600 | static struct mpc_i2c_data mpc_i2c_data_8544 __devinitdata = { | ||
| 601 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 602 | .prescaler = 3, | ||
| 603 | }; | ||
| 604 | |||
| 585 | static const struct of_device_id mpc_i2c_of_match[] = { | 605 | static const struct of_device_id mpc_i2c_of_match[] = { |
| 586 | {.compatible = "mpc5200-i2c", | 606 | {.compatible = "mpc5200-i2c", .data = &mpc_i2c_data_52xx, }, |
| 587 | .data = &(struct mpc_i2c_match_data) { | 607 | {.compatible = "fsl,mpc5200b-i2c", .data = &mpc_i2c_data_52xx, }, |
| 588 | .setclock = mpc_i2c_setclock_52xx, | 608 | {.compatible = "fsl,mpc5200-i2c", .data = &mpc_i2c_data_52xx, }, |
| 589 | }, | 609 | {.compatible = "fsl,mpc8313-i2c", .data = &mpc_i2c_data_8313, }, |
| 590 | }, | 610 | {.compatible = "fsl,mpc8543-i2c", .data = &mpc_i2c_data_8543, }, |
| 591 | {.compatible = "fsl,mpc5200b-i2c", | 611 | {.compatible = "fsl,mpc8544-i2c", .data = &mpc_i2c_data_8544, }, |
| 592 | .data = &(struct mpc_i2c_match_data) { | ||
| 593 | .setclock = mpc_i2c_setclock_52xx, | ||
| 594 | }, | ||
| 595 | }, | ||
| 596 | {.compatible = "fsl,mpc5200-i2c", | ||
| 597 | .data = &(struct mpc_i2c_match_data) { | ||
| 598 | .setclock = mpc_i2c_setclock_52xx, | ||
| 599 | }, | ||
| 600 | }, | ||
| 601 | {.compatible = "fsl,mpc8313-i2c", | ||
| 602 | .data = &(struct mpc_i2c_match_data) { | ||
| 603 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 604 | }, | ||
| 605 | }, | ||
| 606 | {.compatible = "fsl,mpc8543-i2c", | ||
| 607 | .data = &(struct mpc_i2c_match_data) { | ||
| 608 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 609 | .prescaler = 2, | ||
| 610 | }, | ||
| 611 | }, | ||
| 612 | {.compatible = "fsl,mpc8544-i2c", | ||
| 613 | .data = &(struct mpc_i2c_match_data) { | ||
| 614 | .setclock = mpc_i2c_setclock_8xxx, | ||
| 615 | .prescaler = 3, | ||
| 616 | }, | ||
| 617 | /* Backward compatibility */ | 612 | /* Backward compatibility */ |
| 618 | }, | ||
| 619 | {.compatible = "fsl-i2c", }, | 613 | {.compatible = "fsl-i2c", }, |
| 620 | {}, | 614 | {}, |
| 621 | }; | 615 | }; |
| 622 | |||
| 623 | MODULE_DEVICE_TABLE(of, mpc_i2c_of_match); | 616 | MODULE_DEVICE_TABLE(of, mpc_i2c_of_match); |
| 624 | 617 | ||
| 625 | 618 | ||
