ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
Subsystems (3)
PATCH 1/2 ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
Move HWMON platform definition from plat-s3c24xx to plat-samsung and adjust mach-bast to use the new s3c_hwmon_set_platdata().
--- arch/arm/mach-s3c2410/mach-bast.c | 2 +- arch/arm/plat-s3c24xx/devs.c | 8 ----- arch/arm/plat-samsung/Kconfig | 5 +++ arch/arm/plat-samsung/Makefile | 1 + arch/arm/plat-samsung/dev-hwmon.c | 39 ++++++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/hwmon.h | 2 + 6 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 arch/arm/plat-samsung/dev-hwmon.c
(quoted diff) +0 -0
b/arch/arm/mach-s3c2410/mach-bast.c
index 02b1b62..c8786df 100644
arch/arm/mach-s3c2410/mach-bast.c +1 -1
@@ -634,7 +634,7 @@ static void __init bast_map_io(void)s3c24xx_register_clocks (bast_clocks,ARRAY_SIZE (bast_clocks)); - s3c_device_hwmon.dev.platform_data = &bast_hwmon_info; +s3c_hwmon_set_platdata (&bast_hwmon_info);s3c24xx_init_io (bast_iodesc,ARRAY_SIZE (bast_iodesc));s3c24xx_init_clocks (0 );
arch/arm/plat-s3c24xx/devs.c +0 -8
@@ -319,14 +319,6 @@ struct platform_device s3c_device_adc = { .resource = s3c_adc_resource, }; -/* HWMON */ - -struct platform_device s3c_device_hwmon = { - .name ="s3c-hwmon" , - .id =-1 , - .dev.parent = &s3c_device_adc.dev, -}; -/* SDI */ static struct resource s3c_sdi_resource[] = {
arch/arm/plat-samsung/Kconfig +5 -0
@@ -107,6 +107,11 @@ config S3C_DEV_HSMMC2 help Compile in platform device definitions for HSMMC channel 2 +config S3C_DEV_HWMON + bool + help + Compile in platform device definitions for HWMON + config S3C_DEV_I2C1 bool help
arch/arm/plat-samsung/Makefile +1 -0
@@ -31,6 +31,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o +obj-$(CONFIG_S3C_DEV_HWMON) += dev-hwmon.o obj-y += dev-i2c0.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
(quoted diff) +0 -0
b/arch/arm/plat-samsung/dev-hwmon.c
new file mode 100644
index 0000000..2c1080d
arch/arm/plat-samsung/dev-hwmon.c new file +39 -0
@@ -0,0 +1,39 @@ +/* linux/arch/arm/plat-samsung/dev-hwmon.c +* +* Copyright 2010 Maurus Cuelenaere +* +* Samsung series device definition for HWMON +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#include <linux/kernel.h> +#include <linux/platform_device.h> + +#include <plat/devs.h> +#include <plat/hwmon.h> + +struct platform_device s3c_device_hwmon = { + .name ="s3c-hwmon" , + .id =-1 , + .dev.parent = &s3c_device_adc.dev, +}; + +void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd) +{ +struct s3c_hwmon_pdata *npd; + +if (!pd) { +printk (KERN_ERR "%s: no platform data\n" , __func__); +return ; + } + + npd =kmemdup (pd,sizeof (struct s3c_hwmon_pdata ),GFP_KERNEL ); +if (!npd) +printk (KERN_ERR "%s: no memory for platform data\n" , __func__); + + s3c_device_hwmon.dev.platform_data = npd; +} +EXPORT_SYMBOL (s3c_hwmon_set_platdata);
(quoted diff) +0 -0
b/arch/arm/plat-samsung/include/plat/hwmon.h
index 1ba88ea..352795b 100644
arch/arm/plat-samsung/include/plat/hwmon.h +2 -0
@@ -37,5 +37,7 @@ struct s3c_hwmon_pdata { struct s3c_hwmon_chcfg *in[8]; }; +extern void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd); +#endif /* __ASM_ARCH_ADC_HWMON_H */
Signature · 1 line
1.6.6.1
PATCH v2 1/2 ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
Move HWMON platform definition from plat-s3c24xx to plat-samsung and adjust mach-bast to use the new s3c_hwmon_set_platdata().
---
Changes since v1:
select S3C_DEV_HWMON for mach-bast config
arch/arm/mach-s3c2410/Kconfig | 1 + arch/arm/mach-s3c2410/mach-bast.c | 2 +- arch/arm/plat-s3c24xx/devs.c | 8 ----- arch/arm/plat-samsung/Kconfig | 5 +++ arch/arm/plat-samsung/Makefile | 1 + arch/arm/plat-samsung/dev-hwmon.c | 39 ++++++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/hwmon.h | 2 + 7 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 arch/arm/plat-samsung/dev-hwmon.c
arch/arm/mach-s3c2410/Kconfig +1 -0
@@ -110,6 +110,7 @@ config ARCH_BAST select MACH_BAST_IDE select S3C24XX_DCLK select ISA + select S3C_DEV_HWMON select S3C_DEV_USB_HOST select S3C_DEV_NAND help
(quoted diff) +0 -0
b/arch/arm/mach-s3c2410/mach-bast.c
index 02b1b62..c8786df 100644
arch/arm/mach-s3c2410/mach-bast.c +1 -1
@@ -634,7 +634,7 @@ static void __init bast_map_io(void)s3c24xx_register_clocks (bast_clocks,ARRAY_SIZE (bast_clocks)); - s3c_device_hwmon.dev.platform_data = &bast_hwmon_info; +s3c_hwmon_set_platdata (&bast_hwmon_info);s3c24xx_init_io (bast_iodesc,ARRAY_SIZE (bast_iodesc));s3c24xx_init_clocks (0 );
arch/arm/plat-s3c24xx/devs.c +0 -8
@@ -319,14 +319,6 @@ struct platform_device s3c_device_adc = { .resource = s3c_adc_resource, }; -/* HWMON */ - -struct platform_device s3c_device_hwmon = { - .name ="s3c-hwmon" , - .id =-1 , - .dev.parent = &s3c_device_adc.dev, -}; -/* SDI */ static struct resource s3c_sdi_resource[] = {
arch/arm/plat-samsung/Kconfig +5 -0
@@ -107,6 +107,11 @@ config S3C_DEV_HSMMC2 help Compile in platform device definitions for HSMMC channel 2 +config S3C_DEV_HWMON + bool + help + Compile in platform device definitions for HWMON + config S3C_DEV_I2C1 bool help
arch/arm/plat-samsung/Makefile +1 -0
@@ -31,6 +31,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o +obj-$(CONFIG_S3C_DEV_HWMON) += dev-hwmon.o obj-y += dev-i2c0.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
(quoted diff) +0 -0
b/arch/arm/plat-samsung/dev-hwmon.c
new file mode 100644
index 0000000..2c1080d
arch/arm/plat-samsung/dev-hwmon.c new file +39 -0
@@ -0,0 +1,39 @@ +/* linux/arch/arm/plat-samsung/dev-hwmon.c +* +* Copyright 2010 Maurus Cuelenaere +* +* Samsung series device definition for HWMON +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#include <linux/kernel.h> +#include <linux/platform_device.h> + +#include <plat/devs.h> +#include <plat/hwmon.h> + +struct platform_device s3c_device_hwmon = { + .name ="s3c-hwmon" , + .id =-1 , + .dev.parent = &s3c_device_adc.dev, +}; + +void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd) +{ +struct s3c_hwmon_pdata *npd; + +if (!pd) { +printk (KERN_ERR "%s: no platform data\n" , __func__); +return ; + } + + npd =kmemdup (pd,sizeof (struct s3c_hwmon_pdata ),GFP_KERNEL ); +if (!npd) +printk (KERN_ERR "%s: no memory for platform data\n" , __func__); + + s3c_device_hwmon.dev.platform_data = npd; +} +EXPORT_SYMBOL (s3c_hwmon_set_platdata);
(quoted diff) +0 -0
b/arch/arm/plat-samsung/include/plat/hwmon.h
index 1ba88ea..352795b 100644
arch/arm/plat-samsung/include/plat/hwmon.h +2 -0
@@ -37,5 +37,7 @@ struct s3c_hwmon_pdata { struct s3c_hwmon_chcfg *in[8]; }; +extern void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd); +#endif /* __ASM_ARCH_ADC_HWMON_H */
Signature · 1 line
1.6.6.1
PATCH 1/2 ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
In reply to Maurus CuelenaereQuoted 82 lines · Maurus Cuelenaere
Move HWMON platform definition from plat-s3c24xx to plat-samsung and adjust mach-bast to use the new
s3c_hwmon_set_platdata().Signed-off-by Maurus Cuelenaere <[email protected]>--- arch/arm/mach-s3c2410/mach-bast.c | 2 +- arch/arm/plat-s3c24xx/devs.c | 8 ----- arch/arm/plat-samsung/Kconfig | 5 +++ arch/arm/plat-samsung/Makefile | 1 + arch/arm/plat-samsung/dev-hwmon.c | 39 ++++++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/hwmon.h | 2 + 6 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 arch/arm/plat-samsung/dev-hwmon.carch/arm/mach-s3c2410/mach-bast.c +1
-1@@ -634,7 +634,7 @@ static void __init bast_map_io(void)s3c24xx_register_clocks (bast_clocks,ARRAY_SIZE (bast_clocks)); - s3c_device_hwmon.dev.platform_data = &bast_hwmon_info; +s3c_hwmon_set_platdata (&bast_hwmon_info);s3c24xx_init_io (bast_iodesc,ARRAY_SIZE (bast_iodesc));s3c24xx_init_clocks (0 );arch/arm/plat-s3c24xx/devs.c +0
-8@@ -319,14 +319,6 @@ struct platform_device s3c_device_adc = { .resource = s3c_adc_resource, }; -/* HWMON */ - -struct platform_device s3c_device_hwmon = { - .name ="s3c-hwmon" , - .id =-1 , - .dev.parent = &s3c_device_adc.dev, -}; -/* SDI */ static struct resource s3c_sdi_resource[] = {arch/arm/plat-samsung/Kconfig +5
-0@@ -107,6 +107,11 @@ config S3C_DEV_HSMMC2 help Compile in platform device definitions for HSMMC channel 2 +config S3C_DEV_HWMON + bool + help + Compile in platform device definitions for HWMON + config S3C_DEV_I2C1 bool helparch/arm/plat-samsung/Makefile +1
-0@@ -31,6 +31,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o +obj-$(CONFIG_S3C_DEV_HWMON) += dev-hwmon.o obj-y += dev-i2c0.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.oarch/arm/plat-samsung/dev-hwmon.c new file +0
-0
arch/arm/plat-samsung/dev-hwmon.c line 3
Quoted 3 lines
arch/arm/plat-samsung/dev-hwmon.c new file +3
-0@@ -0,0 +1,39 @@ +/* linux/arch/arm/plat-samsung/dev-hwmon.c +* +* Copyright 2010 Maurus Cuelenaere
you've forgotten the copyright attribution from the original source...
Quoted 26 lines
arch/arm/plat-samsung/dev-hwmon.c new file +26
-0+* +* Samsung series device definition for HWMON +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#include <linux/kernel.h> +#include <linux/platform_device.h> + +#include <plat/devs.h> +#include <plat/hwmon.h> + +struct platform_device s3c_device_hwmon = { + .name ="s3c-hwmon" , + .id =-1 , + .dev.parent = &s3c_device_adc.dev, +}; + +void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd) +{ +struct s3c_hwmon_pdata *npd; + +if (!pd) { +printk (KERN_ERR "%s: no platform data\n" , __func__);
arch/arm/plat-samsung/dev-hwmon.c line 39
Quoted 10 lines
arch/arm/plat-samsung/dev-hwmon.c new file +10
-0+return ; + } + + npd =kmemdup (pd,sizeof (struct s3c_hwmon_pdata ),GFP_KERNEL ); +if (!npd) +printk (KERN_ERR "%s: no memory for platform data\n" , __func__); + + s3c_device_hwmon.dev.platform_data = npd; +} +EXPORT_SYMBOL (s3c_hwmon_set_platdata);
you don't need to EXPORT_SYMBOL() this, it is hardly likely to be used in anything other than machine support which is compiled into the kernel.
arch/arm/plat-samsung/include/plat/hwmon.h struct s3c_hwmon_pdata { · line 42
Quoted 12 lines
arch/arm/plat-samsung/include/plat/hwmon.h +2
-0@@ -37,5 +37,7 @@ struct s3c_hwmon_pdata { struct s3c_hwmon_chcfg *in[8]; }; +extern void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd); +#endif /* __ASM_ARCH_ADC_HWMON_H */
kerneldoc on this function addition would have been nice.
Signature · 4 lines
Ben Q: What's a light-year? A: One-third less calories than a regular year.
PATCH v3 1/2 ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
Move HWMON platform definition from plat-s3c24xx to plat-samsung and adjust mach-bast to use the new s3c_hwmon_set_platdata().
---
Changes since v2:
remove EXPORT_SYMBOL
add kerneldoc for s3c_hwmon_set_platdata
attribute original copyright holder
Changes since v1:
select S3C_DEV_HWMON for mach-bast config
arch/arm/mach-s3c2410/Kconfig | 1 + arch/arm/mach-s3c2410/mach-bast.c | 2 +- arch/arm/plat-s3c24xx/devs.c | 8 ----- arch/arm/plat-samsung/Kconfig | 5 +++ arch/arm/plat-samsung/Makefile | 1 + arch/arm/plat-samsung/dev-hwmon.c | 42 ++++++++++++++++++++++++++++ arch/arm/plat-samsung/include/plat/hwmon.h | 10 ++++++ 7 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 arch/arm/plat-samsung/dev-hwmon.c
arch/arm/mach-s3c2410/Kconfig +1 -0
@@ -110,6 +110,7 @@ config ARCH_BAST select MACH_BAST_IDE select S3C24XX_DCLK select ISA + select S3C_DEV_HWMON select S3C_DEV_USB_HOST select S3C_DEV_NAND help
(quoted diff) +0 -0
b/arch/arm/mach-s3c2410/mach-bast.c
index 02b1b62..c8786df 100644
arch/arm/mach-s3c2410/mach-bast.c +1 -1
@@ -634,7 +634,7 @@ static void __init bast_map_io(void)s3c24xx_register_clocks (bast_clocks,ARRAY_SIZE (bast_clocks)); - s3c_device_hwmon.dev.platform_data = &bast_hwmon_info; +s3c_hwmon_set_platdata (&bast_hwmon_info);s3c24xx_init_io (bast_iodesc,ARRAY_SIZE (bast_iodesc));s3c24xx_init_clocks (0 );
arch/arm/plat-s3c24xx/devs.c +0 -8
@@ -319,14 +319,6 @@ struct platform_device s3c_device_adc = { .resource = s3c_adc_resource, }; -/* HWMON */ - -struct platform_device s3c_device_hwmon = { - .name ="s3c-hwmon" , - .id =-1 , - .dev.parent = &s3c_device_adc.dev, -}; -/* SDI */ static struct resource s3c_sdi_resource[] = {
arch/arm/plat-samsung/Kconfig +5 -0
@@ -107,6 +107,11 @@ config S3C_DEV_HSMMC2 help Compile in platform device definitions for HSMMC channel 2 +config S3C_DEV_HWMON + bool + help + Compile in platform device definitions for HWMON + config S3C_DEV_I2C1 bool help
arch/arm/plat-samsung/Makefile +1 -0
@@ -31,6 +31,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o +obj-$(CONFIG_S3C_DEV_HWMON) += dev-hwmon.o obj-y += dev-i2c0.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
(quoted diff) +0 -0
b/arch/arm/plat-samsung/dev-hwmon.c
new file mode 100644
index 0000000..b3ffb95
arch/arm/plat-samsung/dev-hwmon.c new file +42 -0
42 lines not on this page · raw message
(quoted diff) +0 -0
b/arch/arm/plat-samsung/include/plat/hwmon.h
index 1ba88ea..c167e44 100644
arch/arm/plat-samsung/include/plat/hwmon.h +10 -0
@@ -37,5 +37,15 @@ struct s3c_hwmon_pdata { struct s3c_hwmon_chcfg *in[8]; }; +/** +* s3c_hwmon_set_platdata - Set platform data for S3C HWMON device +* @pd: Platform data to register to device. +* +* Register the given platform data for use with the S3C HWMON device. +* The call will copy the platform data, so the board definitions can +* make the structure itself __initdata. +*/ +extern void __init s3c_hwmon_set_platdata (struct s3c_hwmon_pdata *pd); +#endif /* __ASM_ARCH_ADC_HWMON_H */
Signature · 1 line
1.6.6.1
PATCH v3 1/2 ARM: SAMSUNG: Move HWMON from plat-s3c24xx to plat-samsung
Quoted 4 lines · Maurus Cuelenaere
Move HWMON platform definition from plat-s3c24xx to plat-samsung and adjust mach-bast to use the new
s3c_hwmon_set_platdata().Signed-off-by Maurus Cuelenaere <[email protected]>
Quoted 9 lines
---
Changes since v2:
removeEXPORT_SYMBOL
add kerneldoc fors3c_hwmon_set_platdata
attribute original copyright holderChanges since v1:
selectS3C_DEV_HWMONfor mach-bast config
Any updates on this?
--
Maurus Cuelenaere