diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-03-22 13:23:46 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-03-22 13:23:46 -0400 |
commit | 74511020dde10252f8b8e648690d99dba721de14 (patch) | |
tree | 04fc22bc7dd5d5b8d9294b2e57985b093858bd84 /drivers/mfd | |
parent | 69266866a5790080d7fe80094b28d670ff8aa765 (diff) | |
parent | 3cc4e53f86dab635166929bfa47cc68d59b28c26 (diff) |
Merge branch 'for-2.6.34' into for-2.6.35
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/Kconfig | 9 | ||||
-rw-r--r-- | drivers/mfd/sm501.c | 12 |
2 files changed, 11 insertions, 10 deletions
diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig index 20e322912a59..b2073e0266f5 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig | |||
@@ -11,7 +11,7 @@ config MFD_CORE | |||
11 | 11 | ||
12 | config MFD_88PM860X | 12 | config MFD_88PM860X |
13 | bool "Support Marvell 88PM8606/88PM8607" | 13 | bool "Support Marvell 88PM8606/88PM8607" |
14 | depends on I2C=y | 14 | depends on I2C=y && GENERIC_HARDIRQS |
15 | select MFD_CORE | 15 | select MFD_CORE |
16 | help | 16 | help |
17 | This supports for Marvell 88PM8606/88PM8607 Power Management IC. | 17 | This supports for Marvell 88PM8606/88PM8607 Power Management IC. |
@@ -209,7 +209,7 @@ config PMIC_ADP5520 | |||
209 | 209 | ||
210 | config MFD_MAX8925 | 210 | config MFD_MAX8925 |
211 | bool "Maxim Semiconductor MAX8925 PMIC Support" | 211 | bool "Maxim Semiconductor MAX8925 PMIC Support" |
212 | depends on I2C=y | 212 | depends on I2C=y && GENERIC_HARDIRQS |
213 | select MFD_CORE | 213 | select MFD_CORE |
214 | help | 214 | help |
215 | Say yes here to support for Maxim Semiconductor MAX8925. This is | 215 | Say yes here to support for Maxim Semiconductor MAX8925. This is |
@@ -230,7 +230,7 @@ config MFD_WM8400 | |||
230 | config MFD_WM831X | 230 | config MFD_WM831X |
231 | bool "Support Wolfson Microelectronics WM831x/2x PMICs" | 231 | bool "Support Wolfson Microelectronics WM831x/2x PMICs" |
232 | select MFD_CORE | 232 | select MFD_CORE |
233 | depends on I2C=y | 233 | depends on I2C=y && GENERIC_HARDIRQS |
234 | help | 234 | help |
235 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs. | 235 | Support for the Wolfson Microelecronics WM831x and WM832x PMICs. |
236 | This driver provides common support for accessing the device, | 236 | This driver provides common support for accessing the device, |
@@ -239,6 +239,7 @@ config MFD_WM831X | |||
239 | 239 | ||
240 | config MFD_WM8350 | 240 | config MFD_WM8350 |
241 | bool | 241 | bool |
242 | depends on GENERIC_HARDIRQS | ||
242 | 243 | ||
243 | config MFD_WM8350_CONFIG_MODE_0 | 244 | config MFD_WM8350_CONFIG_MODE_0 |
244 | bool | 245 | bool |
@@ -291,7 +292,7 @@ config MFD_WM8352_CONFIG_MODE_3 | |||
291 | config MFD_WM8350_I2C | 292 | config MFD_WM8350_I2C |
292 | bool "Support Wolfson Microelectronics WM8350 with I2C" | 293 | bool "Support Wolfson Microelectronics WM8350 with I2C" |
293 | select MFD_WM8350 | 294 | select MFD_WM8350 |
294 | depends on I2C=y | 295 | depends on I2C=y && GENERIC_HARDIRQS |
295 | help | 296 | help |
296 | The WM8350 is an integrated audio and power management | 297 | The WM8350 is an integrated audio and power management |
297 | subsystem with watchdog and RTC functionality for embedded | 298 | subsystem with watchdog and RTC functionality for embedded |
diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c index dc9ea95c0561..7b6652f60117 100644 --- a/drivers/mfd/sm501.c +++ b/drivers/mfd/sm501.c | |||
@@ -523,7 +523,7 @@ unsigned long sm501_set_clock(struct device *dev, | |||
523 | unsigned long clock = readl(sm->regs + SM501_CURRENT_CLOCK); | 523 | unsigned long clock = readl(sm->regs + SM501_CURRENT_CLOCK); |
524 | unsigned char reg; | 524 | unsigned char reg; |
525 | unsigned int pll_reg = 0; | 525 | unsigned int pll_reg = 0; |
526 | unsigned long sm501_freq; /* the actual frequency acheived */ | 526 | unsigned long sm501_freq; /* the actual frequency achieved */ |
527 | 527 | ||
528 | struct sm501_clock to; | 528 | struct sm501_clock to; |
529 | 529 | ||
@@ -533,7 +533,7 @@ unsigned long sm501_set_clock(struct device *dev, | |||
533 | 533 | ||
534 | switch (clksrc) { | 534 | switch (clksrc) { |
535 | case SM501_CLOCK_P2XCLK: | 535 | case SM501_CLOCK_P2XCLK: |
536 | /* This clock is divided in half so to achive the | 536 | /* This clock is divided in half so to achieve the |
537 | * requested frequency the value must be multiplied by | 537 | * requested frequency the value must be multiplied by |
538 | * 2. This clock also has an additional pre divisor */ | 538 | * 2. This clock also has an additional pre divisor */ |
539 | 539 | ||
@@ -562,7 +562,7 @@ unsigned long sm501_set_clock(struct device *dev, | |||
562 | break; | 562 | break; |
563 | 563 | ||
564 | case SM501_CLOCK_V2XCLK: | 564 | case SM501_CLOCK_V2XCLK: |
565 | /* This clock is divided in half so to achive the | 565 | /* This clock is divided in half so to achieve the |
566 | * requested frequency the value must be multiplied by 2. */ | 566 | * requested frequency the value must be multiplied by 2. */ |
567 | 567 | ||
568 | sm501_freq = (sm501_select_clock(2 * req_freq, &to, 3) / 2); | 568 | sm501_freq = (sm501_select_clock(2 * req_freq, &to, 3) / 2); |
@@ -648,7 +648,7 @@ unsigned long sm501_find_clock(struct device *dev, | |||
648 | unsigned long req_freq) | 648 | unsigned long req_freq) |
649 | { | 649 | { |
650 | struct sm501_devdata *sm = dev_get_drvdata(dev); | 650 | struct sm501_devdata *sm = dev_get_drvdata(dev); |
651 | unsigned long sm501_freq; /* the frequency achiveable by the 501 */ | 651 | unsigned long sm501_freq; /* the frequency achieveable by the 501 */ |
652 | struct sm501_clock to; | 652 | struct sm501_clock to; |
653 | 653 | ||
654 | switch (clksrc) { | 654 | switch (clksrc) { |
@@ -1430,7 +1430,7 @@ static int __devinit sm501_plat_probe(struct platform_device *dev) | |||
1430 | } | 1430 | } |
1431 | 1431 | ||
1432 | sm->regs_claim = request_mem_region(sm->io_res->start, | 1432 | sm->regs_claim = request_mem_region(sm->io_res->start, |
1433 | resource_size(sm->io_res), "sm501"); | 1433 | 0x100, "sm501"); |
1434 | 1434 | ||
1435 | if (sm->regs_claim == NULL) { | 1435 | if (sm->regs_claim == NULL) { |
1436 | dev_err(&dev->dev, "cannot claim registers\n"); | 1436 | dev_err(&dev->dev, "cannot claim registers\n"); |
@@ -1644,7 +1644,7 @@ static int __devinit sm501_pci_probe(struct pci_dev *dev, | |||
1644 | sm->mem_res = &dev->resource[0]; | 1644 | sm->mem_res = &dev->resource[0]; |
1645 | 1645 | ||
1646 | sm->regs_claim = request_mem_region(sm->io_res->start, | 1646 | sm->regs_claim = request_mem_region(sm->io_res->start, |
1647 | resource_size(sm->io_res), "sm501"); | 1647 | 0x100, "sm501"); |
1648 | if (sm->regs_claim == NULL) { | 1648 | if (sm->regs_claim == NULL) { |
1649 | dev_err(&dev->dev, "cannot claim registers\n"); | 1649 | dev_err(&dev->dev, "cannot claim registers\n"); |
1650 | err= -EBUSY; | 1650 | err= -EBUSY; |