Module: xenomai-rpm Branch: for-upstream Commit: 50b289784ef2b0734bef1e99b008ff4b79ad5409 URL: http://git.xenomai.org/?p=xenomai-rpm.git;a=commit;h=50b289784ef2b0734bef1e99b008ff4b79ad5409
Author: Philippe Gerum <r...@xenomai.org> Date: Wed Oct 6 08:00:47 2010 +0200 can: adapt to platform driver infrastructure changes for 2.6.35 --- ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c | 16 ++++++++++++++-- ksrc/drivers/can/mscan/rtcan_mscan_regs.h | 6 ++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c b/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c index 48abd89..52f3ec8 100644 --- a/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c +++ b/ksrc/drivers/can/mscan/rtcan_mscan_mpc5xxx.c @@ -76,7 +76,7 @@ static u32 __devinit mpc52xx_can_get_clock(struct of_device *ofdev, else *mscan_clksrc = MSCAN_CLKSRC_XTAL; - freq = mpc5xxx_get_bus_frequency(ofdev->node); + freq = mpc5xxx_get_bus_frequency(mpc5xxx_get_of_node(ofdev)); if (!freq) return 0; @@ -254,7 +254,7 @@ static int __devinit mpc5xxx_can_probe(struct of_device *ofdev, const struct of_device_id *id) { struct mpc5xxx_can_data *data = (struct mpc5xxx_can_data *)id->data; - struct device_node *np = ofdev->node; + struct device_node *np = mpc5xxx_get_of_node(ofdev); struct rtcan_device *dev; void __iomem *base; const char *clock_name = NULL; @@ -349,6 +349,17 @@ static struct of_device_id __devinitdata mpc5xxx_can_table[] = { {}, }; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) +static struct of_platform_driver mpc5xxx_can_driver = { + .driver = { + .owner = THIS_MODULE, + .name = RTCAN_DRV_NAME, + .of_match_table = mpc5xxx_can_table, + }, + .probe = mpc5xxx_can_probe, + .remove = __devexit_p(mpc5xxx_can_remove), +}; +#else static struct of_platform_driver mpc5xxx_can_driver = { .owner = THIS_MODULE, .name = RTCAN_DRV_NAME, @@ -356,6 +367,7 @@ static struct of_platform_driver mpc5xxx_can_driver = { .remove = __devexit_p(mpc5xxx_can_remove), .match_table = mpc5xxx_can_table, }; +#endif static int __init mpc5xxx_can_init(void) { diff --git a/ksrc/drivers/can/mscan/rtcan_mscan_regs.h b/ksrc/drivers/can/mscan/rtcan_mscan_regs.h index dfad5e0..1df50a5 100644 --- a/ksrc/drivers/can/mscan/rtcan_mscan_regs.h +++ b/ksrc/drivers/can/mscan/rtcan_mscan_regs.h @@ -63,6 +63,12 @@ static inline void __iomem *mpc5xxx_gpio_find_and_map(void) #endif #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) +#define mpc5xxx_get_of_node(ofdev) (ofdev)->dev.of_node +#else +#define mpc5xxx_get_of_node(ofdev) (ofdev)->node +#endif + #define MSCAN_CAN1_ADDR (MSCAN_MBAR + 0x0900) /* MSCAN Module 1 */ #define MSCAN_CAN2_ADDR (MSCAN_MBAR + 0x0980) /* MSCAN Module 2 */ #define MSCAN_SIZE 0x80 _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git