Use platform_device_add_data() in hardware monitoring drivers. This makes the code nicer and smaller too. Reported by David Hubbard. Signed-off-by: Jean Delvare <khali at linux-fr.org> Cc: David Hubbard <david.c.hubbard at gmail.com> --- drivers/hwmon/f71805f.c | 9 +++------ drivers/hwmon/smsc47m1.c | 9 +++------ drivers/hwmon/w83627hf.c | 9 +++------ 3 files changed, 9 insertions(+), 18 deletions(-) --- linux-2.6.22-rc2.orig/drivers/hwmon/w83627hf.c 2007-05-20 21:37:42.000000000 +0200 +++ linux-2.6.22-rc2/drivers/hwmon/w83627hf.c 2007-05-22 08:53:32.000000000 +0200 @@ -1548,15 +1548,12 @@ static int __init w83627hf_device_add(un goto exit_device_put; } - pdev->dev.platform_data = kmalloc(sizeof(struct w83627hf_sio_data), - GFP_KERNEL); - if (!pdev->dev.platform_data) { - err = -ENOMEM; + err = platform_device_add_data(pdev, sio_data, + sizeof(struct w83627hf_sio_data)); + if (err) { printk(KERN_ERR DRVNAME ": Platform data allocation failed\n"); goto exit_device_put; } - memcpy(pdev->dev.platform_data, sio_data, - sizeof(struct w83627hf_sio_data)); err = platform_device_add(pdev); if (err) { --- linux-2.6.22-rc2.orig/drivers/hwmon/f71805f.c 2007-05-13 10:01:15.000000000 +0200 +++ linux-2.6.22-rc2/drivers/hwmon/f71805f.c 2007-05-22 08:55:08.000000000 +0200 @@ -1290,15 +1290,12 @@ static int __init f71805f_device_add(uns goto exit_device_put; } - pdev->dev.platform_data = kmalloc(sizeof(struct f71805f_sio_data), - GFP_KERNEL); - if (!pdev->dev.platform_data) { - err = -ENOMEM; + err = platform_device_add_data(pdev, sio_data, + sizeof(struct f71805f_sio_data)); + if (err) { printk(KERN_ERR DRVNAME ": Platform data allocation failed\n"); goto exit_device_put; } - memcpy(pdev->dev.platform_data, sio_data, - sizeof(struct f71805f_sio_data)); err = platform_device_add(pdev); if (err) { --- linux-2.6.22-rc2.orig/drivers/hwmon/smsc47m1.c 2007-05-13 10:01:15.000000000 +0200 +++ linux-2.6.22-rc2/drivers/hwmon/smsc47m1.c 2007-05-22 08:54:41.000000000 +0200 @@ -693,15 +693,12 @@ static int __init smsc47m1_device_add(un goto exit_device_put; } - pdev->dev.platform_data = kmalloc(sizeof(struct smsc47m1_sio_data), - GFP_KERNEL); - if (!pdev->dev.platform_data) { - err = -ENOMEM; + err = platform_device_add_data(pdev, sio_data, + sizeof(struct smsc47m1_sio_data)); + if (err) { printk(KERN_ERR DRVNAME ": Platform data allocation failed\n"); goto exit_device_put; } - memcpy(pdev->dev.platform_data, sio_data, - sizeof(struct smsc47m1_sio_data)); err = platform_device_add(pdev); if (err) { -- Jean Delvare