提交 f447ea4b 编写于 作者: B Ben Dooks

ARM: Merge for-2635/samsung-hwmon

Merge branch 'for-2635/samsung-hwmon' into for-linus/samsung2
...@@ -110,6 +110,7 @@ config ARCH_BAST ...@@ -110,6 +110,7 @@ config ARCH_BAST
select MACH_BAST_IDE select MACH_BAST_IDE
select S3C24XX_DCLK select S3C24XX_DCLK
select ISA select ISA
select S3C_DEV_HWMON
select S3C_DEV_USB_HOST select S3C_DEV_USB_HOST
select S3C_DEV_NAND select S3C_DEV_NAND
help help
......
...@@ -634,7 +634,7 @@ static void __init bast_map_io(void) ...@@ -634,7 +634,7 @@ static void __init bast_map_io(void)
s3c24xx_register_clocks(bast_clocks, ARRAY_SIZE(bast_clocks)); 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_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
s3c24xx_init_clocks(0); s3c24xx_init_clocks(0);
......
...@@ -343,14 +343,6 @@ struct platform_device s3c_device_adc = { ...@@ -343,14 +343,6 @@ struct platform_device s3c_device_adc = {
.resource = s3c_adc_resource, .resource = s3c_adc_resource,
}; };
/* HWMON */
struct platform_device s3c_device_hwmon = {
.name = "s3c-hwmon",
.id = -1,
.dev.parent = &s3c_device_adc.dev,
};
/* SDI */ /* SDI */
static struct resource s3c_sdi_resource[] = { static struct resource s3c_sdi_resource[] = {
......
...@@ -160,6 +160,11 @@ config S3C_DEV_HSMMC2 ...@@ -160,6 +160,11 @@ config S3C_DEV_HSMMC2
help help
Compile in platform device definitions for HSMMC channel 2 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 config S3C_DEV_I2C1
bool bool
help help
......
...@@ -33,6 +33,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o ...@@ -33,6 +33,7 @@ obj-$(CONFIG_S3C_ADC) += adc.o
obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o
obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o obj-$(CONFIG_S3C_DEV_HSMMC1) += dev-hsmmc1.o
obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o obj-$(CONFIG_S3C_DEV_HSMMC2) += dev-hsmmc2.o
obj-$(CONFIG_S3C_DEV_HWMON) += dev-hwmon.o
obj-y += dev-i2c0.o obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
......
/* linux/arch/arm/plat-samsung/dev-hwmon.c
*
* Copyright 2008 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
* http://armlinux.simtec.co.uk/
*
* Adapted for HWMON by 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;
}
...@@ -37,5 +37,15 @@ struct s3c_hwmon_pdata { ...@@ -37,5 +37,15 @@ struct s3c_hwmon_pdata {
struct s3c_hwmon_chcfg *in[8]; 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 */ #endif /* __ASM_ARCH_ADC_HWMON_H */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册