diff options
-rw-r--r-- | arch/arm/mach-pxa/sharpsl_pm.c | 9 | ||||
-rw-r--r-- | drivers/hwmon/max1111.c | 13 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/sharpsl_pm.c b/arch/arm/mach-pxa/sharpsl_pm.c index e804ae09370c..9427d8088395 100644 --- a/arch/arm/mach-pxa/sharpsl_pm.c +++ b/arch/arm/mach-pxa/sharpsl_pm.c | |||
@@ -132,8 +132,17 @@ int sharpsl_pm_pxa_read_max1111(int channel) | |||
132 | if (machine_is_tosa()) // Ugly, better move this function into another module | 132 | if (machine_is_tosa()) // Ugly, better move this function into another module |
133 | return 0; | 133 | return 0; |
134 | 134 | ||
135 | #ifdef CONFIG_SENSORS_MAX1111 | ||
136 | extern int max1111_read_channel(int); | ||
137 | |||
138 | /* max1111 accepts channels from 0-3, however, | ||
139 | * it is encoded from 0-7 here in the code. | ||
140 | */ | ||
141 | return max1111_read_channel(channel >> 1); | ||
142 | #else | ||
135 | return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1 | 143 | return corgi_ssp_max1111_get((channel << MAXCTRL_SEL_SH) | MAXCTRL_PD0 | MAXCTRL_PD1 |
136 | | MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR); | 144 | | MAXCTRL_SGL | MAXCTRL_UNI | MAXCTRL_STR); |
145 | #endif | ||
137 | } | 146 | } |
138 | 147 | ||
139 | void sharpsl_pm_pxa_init(void) | 148 | void sharpsl_pm_pxa_init(void) |
diff --git a/drivers/hwmon/max1111.c b/drivers/hwmon/max1111.c index 12c05774a1c3..bfaa665ccf32 100644 --- a/drivers/hwmon/max1111.c +++ b/drivers/hwmon/max1111.c | |||
@@ -66,6 +66,16 @@ static int max1111_read(struct device *dev, int channel) | |||
66 | return (v1 << 2) | (v2 >> 6); | 66 | return (v1 << 2) | (v2 >> 6); |
67 | } | 67 | } |
68 | 68 | ||
69 | #ifdef CONFIG_SHARPSL_PM | ||
70 | static struct max1111_data *the_max1111; | ||
71 | |||
72 | int max1111_read_channel(int channel) | ||
73 | { | ||
74 | return max1111_read(&the_max1111->spi->dev, channel); | ||
75 | } | ||
76 | EXPORT_SYMBOL(max1111_read_channel); | ||
77 | #endif | ||
78 | |||
69 | /* | 79 | /* |
70 | * NOTE: SPI devices do not have a default 'name' attribute, which is | 80 | * NOTE: SPI devices do not have a default 'name' attribute, which is |
71 | * likely to be used by hwmon applications to distinguish between | 81 | * likely to be used by hwmon applications to distinguish between |
@@ -181,6 +191,9 @@ static int __devinit max1111_probe(struct spi_device *spi) | |||
181 | goto err_remove; | 191 | goto err_remove; |
182 | } | 192 | } |
183 | 193 | ||
194 | #ifdef CONFIG_SHARPSL_PM | ||
195 | the_max1111 = data; | ||
196 | #endif | ||
184 | return 0; | 197 | return 0; |
185 | 198 | ||
186 | err_remove: | 199 | err_remove: |