[meta-ti] [PATCH 2/8] linux-3.0: remove old beagleboard-specific 3.0 and 3.1rc kernel recipes

Denys Dmytriyenko denis at denix.org
Sat Sep 28 15:53:59 PDT 2013


From: Denys Dmytriyenko <denys at ti.com>

Beagleboard is supported by newer 3.2 and 3.3.7 kernel recipes.

Signed-off-by: Denys Dmytriyenko <denys at ti.com>
---
 ...OMAP3-beagle-add-support-for-expansionboa.patch |  340 --
 ...0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch |   26 -
 .../0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch   |   31 -
 .../linux/linux-3.0+3.1rc/beagleboard/defconfig    | 3517 -------------------
 .../linux/linux-3.0+3.1rc/fixes/vout.patch         |   79 -
 ...01-Enabling-Hwmon-driver-for-twl4030-madc.patch |   46 -
 .../madc/0002-mfd-twl-core-enable-madc-clock.patch |   54 -
 recipes-kernel/linux/linux-3.0+3.1rc/patch.sh      |   27 -
 ...001-ARM-L2-Add-and-export-outer_clean_all.patch |   67 -
 ...e-add-support-for-beagleboard-xM-revision.patch |  196 --
 ...OMAP3-beagle-add-support-for-expansionboa.patch |  340 --
 ...0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch |   26 -
 .../0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch   |   31 -
 ...5-omap3-Add-basic-support-for-720MHz-part.patch |  202 --
 ...eagleboard-make-wilink-init-look-more-lik.patch |   32 -
 ...Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch |   33 -
 ...add-cpu-id-register-to-MAC-address-helper.patch |   89 -
 ...BeagleBoard-Fix-up-random-or-missing-MAC-.patch |  156 -
 ...eagleboard-fix-mmc-write-protect-pin-when.patch |   26 -
 ...d-reinstate-usage-of-hi-speed-PLL-divider.patch |   29 -
 .../linux/linux-3.0/beagleboard/defconfig          | 3604 --------------------
 ...3630-PRM-add-ABB-PRM-register-definitions.patch |   93 -
 ...P3-PM-VP-generalize-PRM-interrupt-helpers.patch |  263 --
 ...P3-PRM-add-tranxdone-IRQ-handlers-for-ABB.patch |  202 --
 ...P3-ABB-Adaptive-Body-Bias-structures-data.patch |  240 --
 ...-OMAP3-OPP-add-ABB-data-to-voltage-tables.patch |  194 --
 ...3-Voltage-add-ABB-data-to-voltage-domains.patch |   83 -
 ...3-ABB-initialization-transition-functions.patch |  274 --
 ...-OMAP3-Voltage-add-ABB-to-voltage-scaling.patch |  114 -
 ...01-Enabling-Hwmon-driver-for-twl4030-madc.patch |   46 -
 .../madc/0002-mfd-twl-core-enable-madc-clock.patch |   54 -
 ...Undef-before-redefining-__attribute_const.patch |   31 -
 ...llow-OPP-enumeration-to-continue-if-devic.patch |   43 -
 ...nking-error-in-twl-common.c-for-OMAP2-3-4.patch |  129 -
 recipes-kernel/linux/linux-3.0/patch.sh            |   29 -
 ...-introduce-function-to-free-cpufreq-table.patch |   84 -
 ...q-ensure-driver-initializes-after-cpufreq.patch |   28 -
 ...PUfreq-ensure-policy-is-fully-initialized.patch |   32 -
 .../0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch   |  264 --
 ...AP-PM-CPUFREQ-Fix-conditional-compilation.patch |   33 -
 ...-cpufreq-fixup-after-new-OPP-layer-merged.patch |   34 -
 ...q-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch |  673 ----
 ...cpufreq-Add-SMP-support-to-cater-OMAP4430.patch |  171 -
 ...pufreq-Fix-typo-when-attempting-to-set-mp.patch |   30 -
 ...P2-cpufreq-move-clk-name-decision-to-init.patch |   64 -
 ...-cpufreq-deny-initialization-if-no-mpudev.patch |   64 -
 ...012-OMAP2-cpufreq-dont-support-freq_table.patch |  129 -
 ...3-OMAP2-cpufreq-only-supports-OPP-library.patch |   46 -
 ...-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch |   61 -
 .../0015-OMAP2-cpufreq-fix-freq_table-leak.patch   |   90 -
 ...eq-Remove-superfluous-check-in-target-for.patch |   58 -
 ...ufreq-notify-even-with-bad-boot-frequency.patch |   48 -
 ...req-Enable-all-CPUs-in-shared-policy-mask.patch |   42 -
 ...eq-update-lpj-with-reference-value-to-avo.patch |  121 -
 ...egulator-supply-definitions-in-mach-omap2.patch | 1083 ------
 ...style-supply.dev-assignments-common-in-hs.patch |  160 -
 ...parate-init_irq-functions-to-avoid-cpu_is.patch |  802 -----
 ...parate-timer-init-functions-to-avoid-cpu_.patch |  689 ----
 ...05-omap-Move-dmtimer-defines-to-dmtimer.h.patch |  287 --
 ...-subset-of-dmtimer-functions-into-inline-.patch |  323 --
 ...7-omap2-Use-dmtimer-macros-for-clockevent.patch |  279 --
 .../0008-omap2-Remove-gptimer_wakeup-for-now.patch |  177 -
 ...OMAP3-SR-make-notify-independent-of-class.patch |   47 -
 ...010-OMAP3-SR-disable-interrupt-by-default.patch |   36 -
 ...1-OMAP3-SR-enable-disable-SR-only-on-need.patch |   40 -
 .../0012-OMAP3-SR-fix-cosmetic-indentation.patch   |   48 -
 ...ve-clocksource-and-timesource-and-initial.patch |  125 -
 ...-omap2-Use-dmtimer-macros-for-clocksource.patch |  163 -
 ...p2-Remove-omap2_gp_clockevent_set_gptimer.patch |  240 --
 ...e-timer-gp.c-into-timer.c-to-combine-time.patch |  737 ----
 .../0017-omap-cleanup-NAND-platform-data.patch     |  165 -
 ...omap-board-omap3evm-Fix-compilation-error.patch |   40 -
 .../0019-omap-mcbsp-Drop-SPI-mode-support.patch    |  311 --
 ...map-mcbsp-Drop-in-driver-transfer-support.patch |  548 ---
 .../voltdm/0021-omap2-fix-build-regression.patch   |   29 -
 ...w-twl-common-for-common-TWL-configuration.patch |  200 --
 ...common-twl6030-configuration-to-twl-commo.patch |  601 ----
 ...ve-common-twl-configuration-to-twl-common.patch |  827 -----
 ...common-regulator-configuration-to-twl-com.patch |  924 -----
 ...mcbsp-Remove-rx_-tx_word_length-variables.patch |   45 -
 .../0027-omap-mcbsp-Remove-port-number-enums.patch |   68 -
 .../0028-OMAP-dmtimer-add-missing-include.patch    |   31 -
 ...P2-hwmod-Fix-smart-standby-wakeup-support.patch |  130 -
 ...4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch |   61 -
 ...-Enable-module-in-shutdown-to-access-sysc.patch |   37 -
 ...-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch |   65 -
 ...wmod-Remove-_populate_mpu_rt_base-warning.patch |   33 -
 ...4-OMAP2-hwmod-Fix-the-HW-reset-management.patch |   87 -
 ...-OMAP-hwmod-Add-warnings-if-enable-failed.patch |   30 -
 ...-Move-pr_debug-to-improve-the-readability.patch |   95 -
 ...use-a-null-structure-record-to-terminate-.patch | 3529 -------------------
 ...share-identical-omap_hwmod_addr_space-arr.patch | 1958 -----------
 ...use-a-terminator-record-with-omap_hwmod_m.patch | 2904 ----------------
 ...share-identical-omap_hwmod_mpu_irqs-array.patch | 1815 ----------
 ...use-a-terminator-record-with-omap_hwmod_d.patch | 1382 --------
 ...share-identical-omap_hwmod_dma_info-array.patch |  935 -----
 ...share-identical-omap_hwmod_class-omap_hwm.patch | 1730 ----------
 ...-data-Fix-L3-interconnect-data-order-and-.patch |  116 -
 ...-OMAP4-hwmod-data-Remove-un-needed-parens.patch |   42 -
 .../0046-OMAP4-hwmod-data-Fix-bad-alignement.patch |  218 --
 ...-data-Align-interconnect-format-with-regu.patch |  154 -
 ...48-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch |   31 -
 ...-data-Remove-usb_host_fs-clkdev-with-NULL.patch |   48 -
 ...-data-Re-order-some-clock-nodes-and-struc.patch |  229 --
 ...ck-data-Fix-max-mult-and-div-for-USB-DPLL.patch |  143 -
 ...OMAP4-prcm-Fix-errors-in-few-defines-name.patch |  256 --
 ...MAP4-prm-Remove-wrong-clockdomain-offsets.patch |   50 -
 ...54-OMAP4-powerdomain-data-Fix-indentation.patch |  109 -
 ...move-RESTORE-macros-to-avoid-access-from-.patch | 1523 ---------
 ...6-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch |  111 -
 ...domain-data-Fix-data-order-and-wrong-name.patch |  294 --
 ...evice-replace-_find_by_pdev-with-to_omap_.patch |   84 -
 ...OMAP-PM-remove-OMAP_PM_NONE-config-option.patch |   63 -
 ...-data-Remove-McASP2-McASP3-and-MMC6-clock.patch |  178 -
 ...MAP4-clock-data-Remove-UNIPRO-clock-nodes.patch |   99 -
 ...62-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch |  153 -
 ...itialise-sleep_switch-to-a-non-valid-valu.patch |   39 -
 ...domain-data-Fix-core-mem-states-and-missi.patch |   68 -
 ...-data-Keep-GPMC-clocks-always-enabled-and.patch |   45 -
 ...domain-data-Remove-unsupported-MPU-powerd.patch |   44 -
 ...AP4-hwmod-data-Change-DSS-main_clk-scheme.patch |  163 -
 ...et-hwmod-flags-to-only-allow-16-bit-acces.patch |  133 -
 ...ncrease-omap_i2c_dev_attr-flags-from-u8-t.patch |   46 -
 ...AP2-Introduce-I2C-IP-versioning-constants.patch |   61 -
 ...MAP2-create-omap-I2C-functionality-flags-.patch |   51 -
 ...ag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch |   77 -
 ...dd-correct-functionality-flags-to-all-oma.patch |  146 -
 ...d-fix-the-i2c-reset-timeout-during-bootup.patch |  286 --
 ...evice-Create-clkdev-entry-for-hwmod-main_.patch |  437 ---
 ...-data-Add-missing-divider-selection-for-a.patch |  292 --
 ...AP4-hwmod-data-Add-clock-domain-attribute.patch |  724 ----
 ...OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch |   86 -
 ...-Replace-CLKCTRL-absolute-address-with-of.patch |  976 ------
 ...hwmod-Wait-the-idle-status-to-be-disabled.patch |  153 -
 ...-Replace-RSTCTRL-absolute-address-with-of.patch |  459 ---
 ...eplace-warm-reset-API-with-the-offset-bas.patch |  125 -
 ...083-OMAP4-prm-Remove-deprecated-functions.patch |   81 -
 ...wmod-data-Add-PRM-context-register-offset.patch |  630 ----
 ...-data-Add-modulemode-entry-in-omap_hwmod-.patch |  503 ---
 ...m-Add-two-new-APIs-for-modulemode-control.patch |   88 -
 ...-Introduce-the-module-control-in-hwmod-co.patch |  129 -
 ...omain-Remove-redundant-call-to-pwrdm_wait.patch |   30 -
 ...domain-Add-2-APIs-to-control-clockdomain-.patch |  231 --
 ...0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch |  141 -
 ...P2-PM-idle-clkdms-only-if-already-in-idle.patch |   53 -
 ...domain-Add-per-clkdm-lock-to-prevent-conc.patch |  264 --
 ...-allow-per-SoC-clock-init-code-to-prevent.patch |  123 -
 ...-Follow-the-recommended-PRCM-module-enabl.patch |  173 -
 ...bugfs-node-to-show-the-summary-of-all-clo.patch |   84 -
 ...hwmod-remove-unused-voltagedomain-pointer.patch |   30 -
 ...ge-move-PRCM-mod-offets-into-VC-VP-struct.patch |  577 ----
 ...ge-move-prm_irqst_reg-from-VP-into-voltag.patch |  203 --
 ...ge-start-towards-a-new-voltagedomain-laye.patch |  986 ------
 ...ltage-rename-mpu-voltagedomain-to-mpu_iva.patch |   82 -
 ...MAP3-voltagedomain-data-add-wakeup-domain.patch |   37 -
 ...oltage-add-scalable-flag-to-voltagedomain.patch |   93 -
 ...domain-add-voltagedomain-to-struct-powerd.patch |   51 -
 ...oltage-domains-and-connect-to-powerdomain.patch |  138 -
 ...MAP3-powerdomain-data-add-voltage-domains.patch |  161 -
 ...MAP4-powerdomain-data-add-voltage-domains.patch |  177 -
 ...domain-add-voltage-domain-lookup-during-r.patch |   89 -
 ...ge-keep-track-of-powerdomains-in-each-vol.patch |  200 --
 ...ge-split-voltage-controller-VC-code-into-.patch |  666 ----
 ...ge-move-VC-into-struct-voltagedomain-misc.patch |  544 ---
 ...ge-enable-VC-bypass-scale-method-when-VC-.patch |   37 -
 ...ge-split-out-voltage-processor-VP-code-in.patch |  874 -----
 ...pport-PMICs-with-separate-voltage-and-com.patch |  109 -
 ...RM-VP-functions-for-checking-clearing-VP-.patch |  375 --
 ...place-transaction-done-check-clear-with-V.patch |  142 -
 ...M-add-register-access-functions-for-VC-VP.patch |  119 -
 ...ge-convert-to-PRM-register-access-functio.patch |  627 ----
 ...C-cleanup-i2c-slave-address-configuration.patch |  145 -
 ...eanup-PMIC-register-address-configuration.patch |  185 -
 ...pass-use-fields-from-VC-struct-instead-of.patch |   42 -
 ...-cleanup-voltage-setup-time-configuration.patch |  227 --
 ...ve-on-onlp-ret-off-command-configuration-.patch |   83 -
 ...AP3-VC-abstract-out-channel-configuration.patch |  267 --
 ...ge-domain-move-PMIC-struct-from-vdd_info-.patch |  394 ---
 ...ke-I2C-config-programmable-with-PMIC-spec.patch |  221 --
 ...-handle-mutant-channel-config-for-OMAP4-M.patch |  168 -
 ...e-last-nominal-voltage-setting-to-get-cur.patch |   31 -
 ...eanup-move-VP-instance-into-voltdm-misc.-.patch |  643 ----
 ...voltage-remove-unneeded-debugfs-interface.patch |  317 --
 ...ruct-omap_vp_common-replace-shift-with-__.patch |  214 --
 ...ve-SoC-specific-sys-clock-rate-retreival-.patch |  184 -
 ...ve-timing-calculation-config-into-VP-init.patch |   94 -
 ...eate-VP-helper-function-for-updating-erro.patch |  107 -
 ...0134-OMAP3-VP-remove-omap_vp_runtime_data.patch |  170 -
 ...ve-voltage-scale-function-pointer-into-st.patch |  134 -
 ...6-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch |   81 -
 ...P3-VP-update_errorgain-return-error-if-VP.patch |   29 -
 ...P3-VP-remove-unused-omap_vp_get_curr_volt.patch |   70 -
 ...mbine-setting-init-voltage-into-common-fu.patch |  141 -
 ...ge-rename-scale-and-reset-functions-using.patch |  141 -
 ...ge-move-rename-curr_volt-from-vdd_info-in.patch |  106 -
 ...AP3-voltdm-final-removal-of-omap_vdd_info.patch |  282 --
 ...ge-rename-omap_voltage_get_nom_volt-voltd.patch |   91 -
 ...ge-update-nominal-voltage-in-voltdm_scale.patch |   49 -
 ...PM-TWL6030-fix-voltage-conversion-formula.patch |   85 -
 ...AP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch |   37 -
 ...7-OMAP4-PM-TWL6030-address-0V-conversions.patch |   38 -
 ...-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch |   71 -
 .../0149-OMAP4-PM-TWL6030-add-cmd-register.patch   |   56 -
 ...isplay-single-block-read-console-messages.patch |   28 -
 ...-omap_device-activate-dectivate-latency-m.patch |   49 -
 ...dd-bootarg-for-selecting-svideo-or-compos.patch |   75 -
 ...iminate-noisey-uncorrectable-error-messag.patch |   28 -
 .../sakoman/0005-video-add-timings-for-hd720.patch |   27 -
 ...-smsc911x-return-ENODEV-if-device-is-not-.patch |   29 -
 ...ut-touchscreen-ads7846-return-ENODEV-if-d.patch |   45 -
 ...08-Revert-omap2_mcspi-Flush-posted-writes.patch |   27 -
 ...-threaded-IRQ-remove-IRQ-enable-in-interr.patch |   57 -
 ...0-rtc-twl-Fix-registration-vs.-init-order.patch |  122 -
 ...Enable-audio-capture-by-default-for-twl40.patch |   27 -
 ...odecs-twl4030-Turn-on-mic-bias-by-default.patch |   25 -
 ...l4030-move-clock-input-selection-prior-to.patch |   39 -
 ...l-add-support-for-backup-battery-recharge.patch |   57 -
 ...001-ARM-L2-Add-and-export-outer_clean_all.patch |   67 -
 ...ix-build-break-caused-by-update_mode-remo.patch |   44 -
 ...-beagleboard-add-bbtoys-ulcd-lite-support.patch |  235 --
 ...eagleboard-add-support-for-loopthrough-ex.patch |   61 -
 ...add-initial-support-for-WS2801-controller.patch |  242 --
 .../usb/0001-Fix-sprz319-erratum-2.1.patch         |  210 --
 recipes-kernel/linux/linux_3.0.bb                  |  234 --
 recipes-kernel/linux/linux_3.1.bb                  |   33 -
 225 files changed, 60457 deletions(-)
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/beagle/0001-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/beagle/0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/beagle/0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/beagleboard/defconfig
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/fixes/vout.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/madc/0002-mfd-twl-core-enable-madc-clock.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/patch.sh
 delete mode 100644 recipes-kernel/linux/linux-3.0+3.1rc/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0006-ARM-OMAP2-beagleboard-make-wilink-init-look-more-lik.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0007-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0010-ARM-OMAP2-beagleboard-fix-mmc-write-protect-pin-when.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagle/0011-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/beagleboard/defconfig
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0001-OMAP3630-PRM-add-ABB-PRM-register-definitions.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0002-OMAP3-PM-VP-generalize-PRM-interrupt-helpers.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0003-OMAP3-PRM-add-tranxdone-IRQ-handlers-for-ABB.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0004-OMAP3-ABB-Adaptive-Body-Bias-structures-data.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0005-OMAP3-OPP-add-ABB-data-to-voltage-tables.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0006-OMAP3-Voltage-add-ABB-data-to-voltage-domains.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0007-OMAP3-ABB-initialization-transition-functions.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/bias/0008-OMAP3-Voltage-add-ABB-to-voltage-scaling.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/madc/0002-mfd-twl-core-enable-madc-clock.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch
 delete mode 100755 recipes-kernel/linux/linux-3.0/patch.sh
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0001-PM-OPP-introduce-function-to-free-cpufreq-table.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0002-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0003-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0005-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0006-cpufreq-fixup-after-new-OPP-layer-merged.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0007-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0008-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0009-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0010-OMAP2-cpufreq-move-clk-name-decision-to-init.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0011-OMAP2-cpufreq-deny-initialization-if-no-mpudev.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0012-OMAP2-cpufreq-dont-support-freq_table.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0013-OMAP2-cpufreq-only-supports-OPP-library.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0014-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0015-OMAP2-cpufreq-fix-freq_table-leak.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0017-OMAP2-cpufreq-notify-even-with-bad-boot-frequency.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0018-OMAP2-cpufreq-Enable-all-CPUs-in-shared-policy-mask.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0019-OMAP2-CPUfreq-update-lpj-with-reference-value-to-avo.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0001-cleanup-regulator-supply-definitions-in-mach-omap2.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0002-Remove-old-style-supply.dev-assignments-common-in-hs.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0003-omap-Use-separate-init_irq-functions-to-avoid-cpu_is.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0004-omap-Set-separate-timer-init-functions-to-avoid-cpu_.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0005-omap-Move-dmtimer-defines-to-dmtimer.h.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0006-omap-Make-a-subset-of-dmtimer-functions-into-inline-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0007-omap2-Use-dmtimer-macros-for-clockevent.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0008-omap2-Remove-gptimer_wakeup-for-now.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0009-OMAP3-SR-make-notify-independent-of-class.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0010-OMAP3-SR-disable-interrupt-by-default.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0013-omap2-Reserve-clocksource-and-timesource-and-initial.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0014-omap2-Use-dmtimer-macros-for-clocksource.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0015-omap2-Remove-omap2_gp_clockevent_set_gptimer.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0016-omap2-Rename-timer-gp.c-into-timer.c-to-combine-time.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0017-omap-cleanup-NAND-platform-data.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0018-omap-board-omap3evm-Fix-compilation-error.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0019-omap-mcbsp-Drop-SPI-mode-support.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0020-omap-mcbsp-Drop-in-driver-transfer-support.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0021-omap2-fix-build-regression.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0022-OMAP-New-twl-common-for-common-TWL-configuration.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0023-OMAP4-Move-common-twl6030-configuration-to-twl-commo.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0024-OMAP3-Move-common-twl-configuration-to-twl-common.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0025-OMAP3-Move-common-regulator-configuration-to-twl-com.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0026-omap-mcbsp-Remove-rx_-tx_word_length-variables.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0027-omap-mcbsp-Remove-port-number-enums.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0028-OMAP-dmtimer-add-missing-include.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0029-OMAP2-hwmod-Fix-smart-standby-wakeup-support.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0030-OMAP4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0031-OMAP2-hwmod-Enable-module-in-shutdown-to-access-sysc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0032-OMAP2-hwmod-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0033-OMAP2-hwmod-Remove-_populate_mpu_rt_base-warning.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0034-OMAP2-hwmod-Fix-the-HW-reset-management.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0035-OMAP-hwmod-Add-warnings-if-enable-failed.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0036-OMAP-hwmod-Move-pr_debug-to-improve-the-readability.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0037-omap_hwmod-use-a-null-structure-record-to-terminate-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0038-omap_hwmod-share-identical-omap_hwmod_addr_space-arr.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0039-omap_hwmod-use-a-terminator-record-with-omap_hwmod_m.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0040-omap_hwmod-share-identical-omap_hwmod_mpu_irqs-array.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0041-omap_hwmod-use-a-terminator-record-with-omap_hwmod_d.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0042-omap_hwmod-share-identical-omap_hwmod_dma_info-array.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0043-omap_hwmod-share-identical-omap_hwmod_class-omap_hwm.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0044-OMAP4-hwmod-data-Fix-L3-interconnect-data-order-and-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0045-OMAP4-hwmod-data-Remove-un-needed-parens.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0046-OMAP4-hwmod-data-Fix-bad-alignement.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0047-OMAP4-hwmod-data-Align-interconnect-format-with-regu.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0048-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0049-OMAP4-clock-data-Remove-usb_host_fs-clkdev-with-NULL.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0050-OMAP4-clock-data-Re-order-some-clock-nodes-and-struc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0051-OMAP4-clock-data-Fix-max-mult-and-div-for-USB-DPLL.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0052-OMAP4-prcm-Fix-errors-in-few-defines-name.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0053-OMAP4-prm-Remove-wrong-clockdomain-offsets.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0054-OMAP4-powerdomain-data-Fix-indentation.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0055-OMAP4-cm-Remove-RESTORE-macros-to-avoid-access-from-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0056-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0057-OMAP4-clockdomain-data-Fix-data-order-and-wrong-name.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0058-OMAP-omap_device-replace-_find_by_pdev-with-to_omap_.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0059-OMAP-PM-remove-OMAP_PM_NONE-config-option.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0060-OMAP4-clock-data-Remove-McASP2-McASP3-and-MMC6-clock.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0061-OMAP4-clock-data-Remove-UNIPRO-clock-nodes.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0062-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0063-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0064-OMAP4-powerdomain-data-Fix-core-mem-states-and-missi.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0065-OMAP4-clock-data-Keep-GPMC-clocks-always-enabled-and.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0066-OMAP4-powerdomain-data-Remove-unsupported-MPU-powerd.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0067-OMAP4-hwmod-data-Change-DSS-main_clk-scheme.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0068-I2C-OMAP2-Set-hwmod-flags-to-only-allow-16-bit-acces.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0069-I2C-OMAP2-increase-omap_i2c_dev_attr-flags-from-u8-t.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0070-I2C-OMAP2-Introduce-I2C-IP-versioning-constants.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0071-I2C-OMAP1-OMAP2-create-omap-I2C-functionality-flags-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0072-I2C-OMAP2-Tag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0073-I2C-OMAP2-add-correct-functionality-flags-to-all-oma.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0074-OMAP-hwmod-fix-the-i2c-reset-timeout-during-bootup.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0075-OMAP-omap_device-Create-clkdev-entry-for-hwmod-main_.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0076-OMAP4-clock-data-Add-missing-divider-selection-for-a.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0077-OMAP4-hwmod-data-Add-clock-domain-attribute.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0078-OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0079-OMAP4-hwmod-Replace-CLKCTRL-absolute-address-with-of.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0080-OMAP-hwmod-Wait-the-idle-status-to-be-disabled.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0081-OMAP4-hwmod-Replace-RSTCTRL-absolute-address-with-of.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0082-OMAP4-prm-Replace-warm-reset-API-with-the-offset-bas.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0083-OMAP4-prm-Remove-deprecated-functions.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0085-OMAP4-hwmod-data-Add-modulemode-entry-in-omap_hwmod-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0086-OMAP4-cm-Add-two-new-APIs-for-modulemode-control.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0087-OMAP4-hwmod-Introduce-the-module-control-in-hwmod-co.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0088-OMAP-clockdomain-Remove-redundant-call-to-pwrdm_wait.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0089-OMAP2-clockdomain-Add-2-APIs-to-control-clockdomain-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0091-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0092-OMAP2-clockdomain-Add-per-clkdm-lock-to-prevent-conc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0093-OMAP2-clock-allow-per-SoC-clock-init-code-to-prevent.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0094-OMAP2-hwmod-Follow-the-recommended-PRCM-module-enabl.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0095-OMAP-Add-debugfs-node-to-show-the-summary-of-all-clo.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0096-OMAP2-hwmod-remove-unused-voltagedomain-pointer.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0097-OMAP2-voltage-move-PRCM-mod-offets-into-VC-VP-struct.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0098-OMAP2-voltage-move-prm_irqst_reg-from-VP-into-voltag.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0099-OMAP2-voltage-start-towards-a-new-voltagedomain-laye.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0100-OMAP3-voltage-rename-mpu-voltagedomain-to-mpu_iva.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0101-OMAP3-voltagedomain-data-add-wakeup-domain.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0102-OMAP3-voltage-add-scalable-flag-to-voltagedomain.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0103-OMAP2-powerdomain-add-voltagedomain-to-struct-powerd.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0104-OMAP2-add-voltage-domains-and-connect-to-powerdomain.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0105-OMAP3-powerdomain-data-add-voltage-domains.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0106-OMAP4-powerdomain-data-add-voltage-domains.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0107-OMAP2-powerdomain-add-voltage-domain-lookup-during-r.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0108-OMAP2-voltage-keep-track-of-powerdomains-in-each-vol.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0109-OMAP2-voltage-split-voltage-controller-VC-code-into-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0110-OMAP2-voltage-move-VC-into-struct-voltagedomain-misc.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0111-OMAP2-voltage-enable-VC-bypass-scale-method-when-VC-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0112-OMAP2-voltage-split-out-voltage-processor-VP-code-in.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0113-OMAP2-VC-support-PMICs-with-separate-voltage-and-com.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0114-OMAP2-add-PRM-VP-functions-for-checking-clearing-VP-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0115-OMAP3-VP-replace-transaction-done-check-clear-with-V.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0116-OMAP2-PRM-add-register-access-functions-for-VC-VP.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0117-OMAP3-voltage-convert-to-PRM-register-access-functio.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0118-OMAP3-VC-cleanup-i2c-slave-address-configuration.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0119-OMAP3-VC-cleanup-PMIC-register-address-configuration.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0120-OMAP3-VC-bypass-use-fields-from-VC-struct-instead-of.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0121-OMAP3-VC-cleanup-voltage-setup-time-configuration.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0122-OMAP3-VC-move-on-onlp-ret-off-command-configuration-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0123-OMAP3-VC-abstract-out-channel-configuration.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0124-OMAP3-voltage-domain-move-PMIC-struct-from-vdd_info-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0125-OMAP3-VC-make-I2C-config-programmable-with-PMIC-spec.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0126-OMAP3-PM-VC-handle-mutant-channel-config-for-OMAP4-M.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0127-OMAP3-VC-use-last-nominal-voltage-setting-to-get-cur.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0128-OMAP3-VP-cleanup-move-VP-instance-into-voltdm-misc.-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0129-OMAP3-voltage-remove-unneeded-debugfs-interface.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0130-OMAP3-VP-struct-omap_vp_common-replace-shift-with-__.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0131-OMAP3-VP-move-SoC-specific-sys-clock-rate-retreival-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0133-OMAP3-VP-create-VP-helper-function-for-updating-erro.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0134-OMAP3-VP-remove-omap_vp_runtime_data.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0135-OMAP3-VP-move-voltage-scale-function-pointer-into-st.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0136-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0137-OMAP3-VP-update_errorgain-return-error-if-VP.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0138-OMAP3-VP-remove-unused-omap_vp_get_curr_volt.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0139-OMAP3-VP-combine-setting-init-voltage-into-common-fu.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0140-OMAP3-voltage-rename-scale-and-reset-functions-using.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0141-OMAP3-voltage-move-rename-curr_volt-from-vdd_info-in.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0142-OMAP3-voltdm-final-removal-of-omap_vdd_info.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0143-OMAP3-voltage-rename-omap_voltage_get_nom_volt-voltd.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0144-OMAP3-voltage-update-nominal-voltage-in-voltdm_scale.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0145-OMAP4-PM-TWL6030-fix-voltage-conversion-formula.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0146-OMAP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0147-OMAP4-PM-TWL6030-address-0V-conversions.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0148-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0149-OMAP4-PM-TWL6030-add-cmd-register.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0003-ARM-OMAP2-beagleboard-add-support-for-loopthrough-ex.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/ulcd/0004-LEDS-add-initial-support-for-WS2801-controller.patch
 delete mode 100644 recipes-kernel/linux/linux-3.0/usb/0001-Fix-sprz319-erratum-2.1.patch
 delete mode 100644 recipes-kernel/linux/linux_3.0.bb
 delete mode 100644 recipes-kernel/linux/linux_3.1.bb

diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0001-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch b/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0001-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
deleted file mode 100644
index 5d25cf0..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0001-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
+++ /dev/null
@@ -1,340 +0,0 @@
-From 3721255965a94417996df6f2402a288aa09cb5b2 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 21 Jul 2011 14:29:42 +0200
-Subject: [PATCH 1/3] UNFINISHED: OMAP3: beagle: add support for expansionboards
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |  266 +++++++++++++++++++++++++++++++
- 1 files changed, 266 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 32f5f89..f26a9a8 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -21,6 +21,7 @@
- #include <linux/io.h>
- #include <linux/leds.h>
- #include <linux/gpio.h>
-+#include <linux/irq.h>
- #include <linux/input.h>
- #include <linux/gpio_keys.h>
- #include <linux/opp.h>
-@@ -156,6 +157,167 @@ static void __init omap3_beagle_init_rev(void)
- 	}
- }
- 
-+char expansionboard_name[16];
-+
-+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
-+#include <linux/regulator/fixed.h>
-+#include <linux/wl12xx.h>
-+
-+#define OMAP_BEAGLE_WLAN_EN_GPIO    (139)
-+#define OMAP_BEAGLE_BT_EN_GPIO      (138)
-+#define OMAP_BEAGLE_WLAN_IRQ_GPIO   (137)
-+#define OMAP_BEAGLE_FM_EN_BT_WU     (136)
-+
-+struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
-+	.irq = OMAP_GPIO_IRQ(OMAP_BEAGLE_WLAN_IRQ_GPIO),
-+	.board_ref_clock = 2, /* 38.4 MHz */
-+};
-+
-+static int gpios[] = {OMAP_BEAGLE_BT_EN_GPIO, OMAP_BEAGLE_FM_EN_BT_WU, -1};
-+static struct platform_device wl12xx_device = {
-+		.name		= "kim",
-+		.id			= -1,
-+		.dev.platform_data = &gpios,
-+};
-+
-+static struct omap2_hsmmc_info mmcbbt[] = {
-+ 	{
-+ 		.mmc		= 1,
-+ 		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
-+ 		.gpio_wp	= 29,
-+ 	},
-+	{
-+		.name		= "wl1271",
-+		.mmc		= 2,
-+		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
-+		.gpio_wp	= -EINVAL,
-+		.gpio_cd	= -EINVAL,
-+		.ocr_mask	= MMC_VDD_165_195,
-+		.nonremovable	= true,
-+	},
-+ 	{}	/* Terminator */
-+ };
-+
-+static struct regulator_consumer_supply beagle_vmmc2_supply = 
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+
-+static struct regulator_init_data beagle_vmmc2 = {
-+	.constraints = {
-+		.min_uV			= 1850000,
-+		.max_uV			= 1850000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+	.num_consumer_supplies = 1,
-+	.consumer_supplies = &beagle_vmmc2_supply,
-+};
-+
-+static struct fixed_voltage_config beagle_vwlan = {
-+	.supply_name = "vwl1271",
-+	.microvolts = 1800000,  /* 1.8V */
-+	.gpio = OMAP_BEAGLE_WLAN_EN_GPIO,
-+	.startup_delay = 70000, /* 70ms */
-+	.enable_high = 1,
-+	.enabled_at_boot = 0,
-+	.init_data = &beagle_vmmc2,
-+};
-+
-+static struct platform_device omap_vwlan_device = {
-+	.name           = "reg-fixed-voltage",
-+	.id             = 1,
-+	.dev = {
-+		.platform_data = &beagle_vwlan,
-+	},
-+};
-+#endif
-+
-+#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE)
-+
-+#include <plat/mcspi.h>
-+#include <linux/spi/spi.h>
-+
-+#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157
-+
-+static struct omap2_mcspi_device_config enc28j60_spi_chip_info = {
-+	.turbo_mode	= 0,
-+	.single_channel	= 1,	/* 0: slave, 1: master */
-+};
-+
-+static struct spi_board_info omap3beagle_zippy_spi_board_info[] __initdata = {
-+	{
-+		.modalias		= "enc28j60",
-+		.bus_num		= 4,
-+		.chip_select		= 0,
-+		.max_speed_hz		= 20000000,
-+		.controller_data	= &enc28j60_spi_chip_info,
-+	},
-+};
-+
-+static void __init omap3beagle_enc28j60_init(void)
-+{
-+	if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) &&
-+	    (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) {
-+		gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0);
-+		omap3beagle_zippy_spi_board_info[0].irq	= OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ);
-+		irq_set_irq_type(omap3beagle_zippy_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
-+	} else {
-+		printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n");
-+		return;
-+	}
-+
-+	spi_register_board_info(omap3beagle_zippy_spi_board_info,
-+			ARRAY_SIZE(omap3beagle_zippy_spi_board_info));
-+}
-+
-+#else
-+static inline void __init omap3beagle_enc28j60_init(void) { return; }
-+#endif
-+
-+#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)
-+
-+#include <plat/mcspi.h>
-+#include <linux/spi/spi.h>
-+
-+#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
-+
-+static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
-+	.turbo_mode	= 0,
-+	.single_channel	= 1,	/* 0: slave, 1: master */
-+};
-+
-+static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
-+	{
-+		.modalias		= "ks8851",
-+		.bus_num		= 4,
-+		.chip_select		= 0,
-+		.max_speed_hz		= 36000000,
-+		.controller_data	= &ks8851_spi_chip_info,
-+	},
-+};
-+
-+static void __init omap3beagle_ks8851_init(void)
-+{
-+	if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
-+	    (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
-+		gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
-+		omap3beagle_zippy2_spi_board_info[0].irq	= OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_KS8851_IRQ);
-+		irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
-+	} else {
-+		printk(KERN_ERR "could not obtain gpio for KS8851_IRQ\n");
-+		return;
-+	}
-+	
-+	spi_register_board_info(omap3beagle_zippy2_spi_board_info,
-+							ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
-+}
-+
-+#else
-+static inline void __init omap3beagle_ks8851_init(void) { return; }
-+#endif
-+
- static struct mtd_partition omap3beagle_nand_partitions[] = {
- 	/* All the partition sizes are listed in terms of NAND block size */
- 	{
-@@ -254,6 +416,12 @@ static struct omap2_hsmmc_info mmc[] = {
- 		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
- 		.gpio_wp	= -EINVAL,
- 	},
-+	{
-+		.mmc		= 2,
-+		.caps       = MMC_CAP_4_BIT_DATA,
-+		.transceiver	= true,
-+		.ocr_mask	= 0x00100000,	/* 3.3V */
-+	},
- 	{}	/* Terminator */
- };
- 
-@@ -277,7 +445,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
- 	/* gpio + 0 is "mmc0_cd" (input/IRQ) */
- 	mmc[0].gpio_cd = gpio + 0;
-+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
-+	if(!strcmp(expansionboard_name, "bbtoys-wifi")) { 
-+		omap2_hsmmc_init(mmcbbt);
-+	} else {
-+		omap2_hsmmc_init(mmc);
-+	}
-+#else
- 	omap2_hsmmc_init(mmc);
-+#endif
- 
- 	/*
- 	 * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
-@@ -375,6 +551,19 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
-        },
- };
- 
-+#if defined(CONFIG_RTC_DRV_DS1307) || \
-+	defined(CONFIG_RTC_DRV_DS1307_MODULE)
-+
-+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
-+	{
-+		I2C_BOARD_INFO("eeprom", 0x50),
-+		I2C_BOARD_INFO("ds1307", 0x68),
-+	},
-+};
-+#else
-+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
-+#endif
-+
- static int __init omap3_beagle_i2c_init(void)
- {
- 	omap3_pmic_get_config(&beagle_twldata,
-@@ -479,6 +668,15 @@ static struct omap_board_mux board_mux[] __initdata = {
- };
- #endif
- 
-+static int __init expansionboard_setup(char *str)
-+{
-+	if (!str)
-+		return -EINVAL;
-+	strncpy(expansionboard_name, str, 16);
-+	printk(KERN_INFO "Beagle expansionboard: %s\n", expansionboard_name);
-+	return 0;
-+}
-+
- static void __init beagle_opp_init(void)
- {
- 	int r = 0;
-@@ -542,6 +740,72 @@ static void __init omap3_beagle_init(void)
- 	/* REVISIT leave DVI powered down until it's needed ... */
- 	gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
- 
-+	if(!strcmp(expansionboard_name, "zippy")) 
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: initializing enc28j60\n");
-+		omap3beagle_enc28j60_init();
-+		printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
-+		mmc[1].gpio_wp = 141;
-+		mmc[1].gpio_cd = 162;
-+		printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy board\n");
-+		omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
-+							ARRAY_SIZE(beagle_i2c2_zippy));
-+
-+	}
-+	
-+	if(!strcmp(expansionboard_name, "zippy2")) 
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: initializing ks_8851\n");
-+		omap3beagle_ks8851_init();
-+		printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
-+		mmc[1].gpio_wp = 141;
-+		mmc[1].gpio_cd = 162;
-+		printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy2 board\n");
-+		omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
-+							ARRAY_SIZE(beagle_i2c2_zippy));		
-+	}
-+
-+	if(!strcmp(expansionboard_name, "trainer"))
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: exporting GPIOs 130-141,162 to userspace\n");
-+		gpio_request(130, "sysfs");
-+		gpio_export(130, 1);
-+		gpio_request(131, "sysfs");
-+		gpio_export(131, 1);
-+		gpio_request(132, "sysfs");
-+		gpio_export(132, 1);
-+		gpio_request(133, "sysfs");
-+		gpio_export(133, 1);
-+		gpio_request(134, "sysfs");
-+		gpio_export(134, 1);
-+		gpio_request(135, "sysfs");
-+		gpio_export(135, 1);
-+		gpio_request(136, "sysfs");
-+		gpio_export(136, 1);
-+		gpio_request(137, "sysfs");
-+		gpio_export(137, 1);
-+		gpio_request(138, "sysfs");
-+		gpio_export(138, 1);
-+		gpio_request(139, "sysfs");
-+		gpio_export(139, 1);
-+		gpio_request(140, "sysfs");
-+		gpio_export(140, 1);
-+		gpio_request(141, "sysfs");
-+		gpio_export(141, 1);
-+		gpio_request(162, "sysfs");
-+		gpio_export(162, 1);
-+	}
-+
-+	if(!strcmp(expansionboard_name, "bbtoys-wifi"))
-+	{
-+		if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
-+			pr_err("error setting wl12xx data\n");
-+		printk(KERN_INFO "Beagle expansionboard: registering wl12xx bt platform device\n");
-+		platform_device_register(&wl12xx_device);
-+		printk(KERN_INFO "Beagle expansionboard: registering wl12xx wifi platform device\n");
-+		platform_device_register(&omap_vwlan_device);
-+	}
-+
- 	usb_musb_init(NULL);
- 	usbhs_init(&usbhs_bdata);
- 	omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
-@@ -558,6 +822,8 @@ static void __init omap3_beagle_init(void)
- 	beagle_opp_init();
- }
- 
-+early_param("buddy", expansionboard_setup);
-+
- MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
- 	.boot_params	= 0x80000100,
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch b/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
deleted file mode 100644
index ebc1456..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 6bdb8e890f8e5d11be3c4953d7d10f4a5f160cd4 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 21 Jul 2011 12:59:20 +0200
-Subject: [PATCH 2/3] HACK: OMAP3: beagle: switch to GPTIMER1
-
-Breaks with B3 and older due to clock noise
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index f26a9a8..a04f5a0 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -832,5 +832,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	.init_early	= omap3_beagle_init_early,
- 	.init_irq	= omap3_beagle_init_irq,
- 	.init_machine	= omap3_beagle_init,
--	.timer		= &omap3_secure_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch b/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
deleted file mode 100644
index defd517..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/beagle/0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6667757c5f8a473b9cbbe5f6d64eee65a52aad54 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Wed, 25 May 2011 08:57:40 +0200
-Subject: [PATCH 3/3] OMAP3: beagle: HACK! add in 1GHz OPP
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index a04f5a0..5e1d9f9 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -701,11 +701,13 @@ static void __init beagle_opp_init(void)
- 		/* Enable MPU 1GHz and lower opps */
- 		dev = &mh->od->pdev.dev;
- 		r = opp_enable(dev, 800000000);
-+		r |= opp_enable(dev, 1000000000);
- 		/* TODO: MPU 1GHz needs SR and ABB */
- 
- 		/* Enable IVA 800MHz and lower opps */
- 		dev = &dh->od->pdev.dev;
- 		r |= opp_enable(dev, 660000000);
-+		r |= opp_enable(dev, 800000000);
- 		/* TODO: DSP 800MHz needs SR and ABB */
- 		if (r) {
- 			pr_err("%s: failed to enable higher opp %d\n",
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/beagleboard/defconfig b/recipes-kernel/linux/linux-3.0+3.1rc/beagleboard/defconfig
deleted file mode 100644
index 1942725..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/beagleboard/defconfig
+++ /dev/null
@@ -1,3517 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 2.6.39 Kernel Configuration
-# Sun Jun  5 11:03:19 2011
-#
-CONFIG_ARM=y
-CONFIG_HAVE_PWM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_HAVE_PROC_CPU=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_ARCH_HAS_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_VECTORS_BASE=0xffff0000
-# CONFIG_ARM_PATCH_PHYS_VIRT is not set
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_CONSTRUCTORS=y
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-CONFIG_FHANDLE=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_SHOW=y
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_NS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=y
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_STMP3XXX is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_NS9XXX is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5P6442 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_EXYNOS4 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-CONFIG_ARCH_OMAP=y
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_ARCH_VT8500 is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# TI OMAP Common Features
-#
-CONFIG_ARCH_OMAP_OTG=y
-# CONFIG_ARCH_OMAP1 is not set
-CONFIG_ARCH_OMAP2PLUS=y
-
-#
-# OMAP Feature Selections
-#
-CONFIG_OMAP_SMARTREFLEX=y
-CONFIG_OMAP_SMARTREFLEX_CLASS3=y
-CONFIG_OMAP_RESET_CLOCKS=y
-# CONFIG_OMAP_MUX is not set
-CONFIG_OMAP_MCBSP=y
-CONFIG_OMAP_MBOX_FWK=m
-CONFIG_OMAP_MBOX_KFIFO_SIZE=256
-CONFIG_OMAP_IOMMU=y
-CONFIG_OMAP_IOMMU_DEBUG=m
-CONFIG_OMAP_32K_TIMER=y
-# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
-CONFIG_OMAP_32K_TIMER_HZ=128
-CONFIG_OMAP_DM_TIMER=y
-# CONFIG_OMAP_PM_NONE is not set
-CONFIG_OMAP_PM_NOOP=y
-
-#
-# TI OMAP2/3/4 Specific Features
-#
-CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
-# CONFIG_ARCH_OMAP2 is not set
-CONFIG_ARCH_OMAP3=y
-CONFIG_ARCH_OMAP4=y
-CONFIG_SOC_OMAP3430=y
-# CONFIG_SOC_OMAPTI816X is not set
-CONFIG_OMAP_PACKAGE_CBB=y
-
-#
-# OMAP Board Type
-#
-CONFIG_MACH_OMAP3_BEAGLE=y
-# CONFIG_MACH_DEVKIT8000 is not set
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP3530_LV_SOM is not set
-# CONFIG_MACH_OMAP3_TORPEDO is not set
-CONFIG_MACH_OVERO=y
-CONFIG_MACH_OMAP3EVM=y
-# CONFIG_MACH_OMAP3517EVM is not set
-# CONFIG_MACH_CRANEBOARD is not set
-# CONFIG_MACH_OMAP3_PANDORA is not set
-CONFIG_MACH_OMAP3_TOUCHBOOK=y
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_NOKIA_RM680 is not set
-# CONFIG_MACH_NOKIA_RX51 is not set
-CONFIG_MACH_OMAP_ZOOM2=y
-# CONFIG_MACH_OMAP_ZOOM3 is not set
-# CONFIG_MACH_CM_T35 is not set
-# CONFIG_MACH_CM_T3517 is not set
-# CONFIG_MACH_IGEP0020 is not set
-# CONFIG_MACH_IGEP0030 is not set
-# CONFIG_MACH_SBC3530 is not set
-# CONFIG_MACH_OMAP_3630SDP is not set
-# CONFIG_OMAP3_EMU is not set
-# CONFIG_OMAP3_SDRC_AC_TIMING is not set
-
-#
-# System MMU
-#
-
-#
-# Processor Type
-#
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v6K=y
-CONFIG_CPU_32v7=y
-CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_V7=y
-CONFIG_CPU_CACHE_V7=y
-CONFIG_CPU_CACHE_VIPT=y
-CONFIG_CPU_COPY_V6=y
-CONFIG_CPU_TLB_V7=y
-CONFIG_CPU_HAS_ASID=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_THUMBEE=y
-# CONFIG_SWP_EMULATE is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_BPREDICT_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT_6=y
-CONFIG_ARM_L1_CACHE_SHIFT=6
-CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-CONFIG_ARM_ERRATA_430973=y
-# CONFIG_ARM_ERRATA_458693 is not set
-# CONFIG_ARM_ERRATA_460075 is not set
-# CONFIG_ARM_ERRATA_743622 is not set
-# CONFIG_ARM_ERRATA_754322 is not set
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=128
-# CONFIG_THUMB2_KERNEL is not set
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-CONFIG_AUTO_ZRELADDR=y
-
-#
-# CPU Power Management
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-# CONFIG_CPU_FREQ_DEBUG is not set
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_HOTPLUG is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_VFP=y
-CONFIG_VFPv3=y
-CONFIG_NEON=y
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=y
-
-#
-# Power management options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_PM_SLEEP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_VERBOSE is not set
-# CONFIG_PM_ADVANCED_DEBUG is not set
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_CAN_PM_TRACE=y
-# CONFIG_APM_EMULATION is not set
-CONFIG_ARCH_HAS_OPP=y
-CONFIG_PM_OPP=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=y
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_ROUTE_CLASSID=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-# CONFIG_IPV6_PIMSM_V2 is not set
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-# CONFIG_NETFILTER_XT_MATCH_OSF is not set
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-# CONFIG_IP_SET_BITMAP_IP is not set
-# CONFIG_IP_SET_BITMAP_IPMAC is not set
-# CONFIG_IP_SET_BITMAP_PORT is not set
-# CONFIG_IP_SET_HASH_IP is not set
-# CONFIG_IP_SET_HASH_IPPORT is not set
-# CONFIG_IP_SET_HASH_IPPORTIP is not set
-# CONFIG_IP_SET_HASH_IPPORTNET is not set
-# CONFIG_IP_SET_HASH_NET is not set
-# CONFIG_IP_SET_HASH_NETPORT is not set
-# CONFIG_IP_SET_LIST_SET is not set
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_DEBUG=y
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-# CONFIG_IP_VS_PROTO_SCTP is not set
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_RDS is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-# CONFIG_NET_SCH_SFB is not set
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_PERF=y
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=m
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_CLS_ACT is not set
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_BATMAN_ADV is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-# CONFIG_CAN_DEV is not set
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_ACT200L_DONGLE is not set
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_BT_MRVL=m
-# CONFIG_BT_MRVL_SDIO is not set
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-# CONFIG_RXKAD is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=y
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_DEFAULT="pid"
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=y
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_NET_9P=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-CONFIG_SM_FTL=m
-# CONFIG_MTD_OOPS is not set
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_OMAP2=y
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-CONFIG_MTD_NAND_PLATFORM=y
-# CONFIG_MTD_ALAUDA is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-CONFIG_SENSORS_BH1780=m
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-CONFIG_HMC6352=m
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-CONFIG_BMP085=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-CONFIG_EEPROM_93CX6=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-CONFIG_SCSI_ISCSI_ATTRS=m
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID456=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_RAID=m
-# CONFIG_DM_LOG_USERSPACE is not set
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_MULTIPATH_QL is not set
-# CONFIG_DM_MULTIPATH_ST is not set
-CONFIG_DM_DELAY=m
-# CONFIG_DM_UEVENT is not set
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=m
-CONFIG_BONDING=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_EQUALIZER=m
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_MII=y
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-CONFIG_BCM63XX_PHY=m
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-CONFIG_MICREL_PHY=m
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-CONFIG_SMC91X=y
-# CONFIG_TI_DAVINCI_EMAC is not set
-CONFIG_TI_DAVINCI_MDIO=m
-CONFIG_TI_DAVINCI_CPDMA=m
-# CONFIG_DM9000 is not set
-CONFIG_ENC28J60=y
-# CONFIG_ENC28J60_WRITEVERIFY is not set
-# CONFIG_ETHOC is not set
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_SMSC911X_ARCH_HOOKS is not set
-# CONFIG_DNET is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-# CONFIG_B44 is not set
-CONFIG_KS8842=m
-CONFIG_KS8851=y
-# CONFIG_KS8851_MLL is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_AT76C50X_USB=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-# CONFIG_MAC80211_HWSIM is not set
-# CONFIG_ATH_COMMON is not set
-CONFIG_B43=m
-# CONFIG_B43_SDIO is not set
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-# CONFIG_IWM is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-# CONFIG_LIBERTAS_SDIO is not set
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_MESH is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-# CONFIG_P54_SPI is not set
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-# CONFIG_RT2800USB is not set
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SPI=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_HT=y
-CONFIG_WL12XX_SPI=m
-CONFIG_WL12XX_SDIO=m
-# CONFIG_WL12XX_SDIO_TEST is not set
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-CONFIG_WIMAX_IWMC3200_SDIO=y
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=y
-CONFIG_USB_KAWETH=y
-CONFIG_USB_PEGASUS=y
-CONFIG_USB_RTL8150=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_AX8817X=y
-CONFIG_USB_NET_CDCETHER=y
-# CONFIG_USB_NET_CDC_EEM is not set
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=y
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_GL620A=y
-CONFIG_USB_NET_NET1080=y
-CONFIG_USB_NET_PLUSB=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_USB_NET_RNDIS_HOST=y
-CONFIG_USB_NET_CDC_SUBSET=y
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=y
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-# CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATM_TCP is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-# CONFIG_PPPOATM is not set
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NETPOLL_TRAP=y
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=y
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-CONFIG_KEYBOARD_MCS=m
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_TWL4030 is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_GPIO is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_AD714X_SPI=m
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_CM109 is not set
-CONFIG_INPUT_TWL4030_PWRBUTTON=y
-CONFIG_INPUT_TWL4030_VIBRA=m
-CONFIG_INPUT_UINPUT=y
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_PWM_BEEPER=m
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_ADXL34X_SPI=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_N_GSM=m
-CONFIG_DEVKMEM=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_OMAP=y
-CONFIG_SERIAL_OMAP_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_SERIAL_IFX6X60=m
-CONFIG_TTY_PRINTK=y
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_ALGOBIT=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-# CONFIG_SPI_OC_TINY is not set
-CONFIG_SPI_OMAP24XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_SPIDEV=y
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO expanders:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-CONFIG_GPIO_TWL4030=y
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=m
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-CONFIG_TEST_POWER=m
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_ISP1704=m
-CONFIG_CHARGER_TWL4030=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-CONFIG_SENSORS_ADT7411=m
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-CONFIG_SENSORS_ASC7621=m
-# CONFIG_SENSORS_ATXP1 is not set
-CONFIG_SENSORS_DS620=m
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-CONFIG_SENSORS_GPIO_FAN=m
-# CONFIG_SENSORS_IT87 is not set
-CONFIG_SENSORS_JC42=m
-# CONFIG_SENSORS_LINEAGE is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_LTC4151 is not set
-# CONFIG_SENSORS_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-# CONFIG_SENSORS_MAX1111 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX6639 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_PMBUS is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-CONFIG_SENSORS_SMM665=m
-# CONFIG_SENSORS_DME1737 is not set
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SCH5627 is not set
-# CONFIG_SENSORS_ADS1015 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-CONFIG_SENSORS_ADS7871=m
-CONFIG_SENSORS_AMC6821=m
-# CONFIG_SENSORS_THMC50 is not set
-CONFIG_SENSORS_TMP102=m
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-CONFIG_SENSORS_TWL4030_MADC=m
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-CONFIG_THERMAL=y
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_OMAP_WATCHDOG=y
-# CONFIG_TWL4030_WATCHDOG is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-# CONFIG_SSB_SDIOHOST is not set
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_HTC_I2CPLD is not set
-CONFIG_TPS6105X=m
-# CONFIG_TPS65010 is not set
-CONFIG_TPS6507X=m
-CONFIG_TWL4030_CORE=y
-CONFIG_TWL4030_MADC=m
-CONFIG_TWL4030_POWER=y
-CONFIG_TWL4030_SCRIPT=y
-CONFIG_TWL4030_CODEC=y
-CONFIG_TWL4030_POWEROFF=y
-CONFIG_TWL6030_PWM=m
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-CONFIG_MFD_TPS6586X=y
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_MFD_OMAP_USB_HOST=y
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-CONFIG_REGULATOR_DUMMY=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-CONFIG_REGULATOR_TWL4030=y
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-CONFIG_REGULATOR_TPS6105X=m
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_AD5398 is not set
-CONFIG_REGULATOR_TPS6586X=m
-CONFIG_REGULATOR_TPS6524X=m
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2_COMMON=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_DVB_CORE=m
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-# CONFIG_IR_IMON is not set
-# CONFIG_IR_MCEUSB is not set
-# CONFIG_IR_STREAMZAP is not set
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEOBUF_GEN=y
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=y
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders/decoders and other helper chips
-#
-
-#
-# Audio decoders
-#
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-CONFIG_VIDEO_MSP3400=m
-# CONFIG_VIDEO_CS5345 is not set
-CONFIG_VIDEO_CS53L32A=m
-# CONFIG_VIDEO_M52790 is not set
-# CONFIG_VIDEO_TLV320AIC23B is not set
-CONFIG_VIDEO_WM8775=m
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-
-#
-# RDS decoders
-#
-# CONFIG_VIDEO_SAA6588 is not set
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_KS0127 is not set
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9P031=y
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_MT9V032=y
-# CONFIG_VIDEO_TCM825X is not set
-# CONFIG_VIDEO_SAA7110 is not set
-CONFIG_VIDEO_SAA711X=m
-# CONFIG_VIDEO_SAA717X is not set
-# CONFIG_VIDEO_SAA7191 is not set
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-# CONFIG_VIDEO_VPX3220 is not set
-
-#
-# Video and audio decoders
-#
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_ADV7343 is not set
-# CONFIG_VIDEO_AK881X is not set
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_VPSS_SYSTEM=m
-CONFIG_VIDEO_VPFE_CAPTURE=y
-CONFIG_VIDEO_DM6446_CCDC=m
-CONFIG_VIDEO_OMAP2_VOUT=y
-# CONFIG_VIDEO_CPIA2 is not set
-CONFIG_VIDEO_TIMBERDALE=m
-# CONFIG_VIDEO_AU0828 is not set
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_NOON010PC30=m
-CONFIG_VIDEO_OMAP3=y
-CONFIG_VIDEO_OMAP3_DEBUG=y
-# CONFIG_SOC_CAMERA is not set
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-# CONFIG_USB_GL860 is not set
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-# CONFIG_USB_GSPCA_JEILINJ is not set
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-# CONFIG_USB_GSPCA_MR97310A is not set
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-# CONFIG_USB_GSPCA_PAC7302 is not set
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SN9C2028=m
-# CONFIG_USB_GSPCA_SN9C20X is not set
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-# CONFIG_USB_GSPCA_SQ905 is not set
-# CONFIG_USB_GSPCA_SQ905C is not set
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-# CONFIG_USB_GSPCA_STV0680 is not set
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-# CONFIG_VIDEO_CX231XX_ALSA is not set
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_I2C_SI4713 is not set
-# CONFIG_RADIO_SI4713 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_RADIO_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-CONFIG_RADIO_SAA7706H=m
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-# CONFIG_TTPCI_EEPROM is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-# CONFIG_DVB_USB_CE6230 is not set
-# CONFIG_DVB_USB_FRIIO is not set
-# CONFIG_DVB_USB_EC168 is not set
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-# CONFIG_SMS_SIANO_MDTV is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported DVB Frontends
-#
-# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_IX2505V=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-CONFIG_DRM=m
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_TMIO is not set
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_OMAP2_VRAM=y
-CONFIG_OMAP2_VRFB=y
-CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_VRAM_SIZE=14
-CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
-# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
-CONFIG_OMAP2_DSS_DPI=y
-# CONFIG_OMAP2_DSS_RFBI is not set
-CONFIG_OMAP2_DSS_VENC=y
-# CONFIG_OMAP2_DSS_SDI is not set
-CONFIG_OMAP2_DSS_DSI=y
-CONFIG_OMAP2_DSS_USE_DSI_PLL=y
-# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-CONFIG_FB_OMAP2=y
-CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
-CONFIG_FB_OMAP2_NUM_FBS=2
-
-#
-# OMAP2/3 Display Device Drivers
-#
-CONFIG_PANEL_GENERIC_DPI=y
-# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set
-CONFIG_PANEL_SHARP_LS037V7DW01=y
-CONFIG_PANEL_NEC_NL8048HL11_01B=y
-# CONFIG_PANEL_TAAL is not set
-CONFIG_PANEL_TPO_TD043MTEA1=m
-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=y
-CONFIG_SND_RAWMIDI=y
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_RAWMIDI_SEQ=m
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-CONFIG_SND_ALOOP=m
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_ARM is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=y
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_CACHE_LZO=y
-CONFIG_SND_OMAP_SOC=y
-CONFIG_SND_OMAP_SOC_MCBSP=y
-CONFIG_SND_OMAP_SOC_OVERO=y
-CONFIG_SND_OMAP_SOC_OMAP3EVM=y
-CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y
-CONFIG_SND_OMAP_SOC_ZOOM2=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_TWL4030=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_3M_PCT is not set
-CONFIG_HID_A4TECH=y
-CONFIG_HID_ACRUX=m
-# CONFIG_HID_ACRUX_FF is not set
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-# CONFIG_HID_CANDO is not set
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-# CONFIG_HID_PRODIKEYS is not set
-CONFIG_HID_CYPRESS=y
-# CONFIG_HID_DRAGONRISE is not set
-CONFIG_HID_EMS_FF=m
-# CONFIG_HID_ELECOM is not set
-CONFIG_HID_EZKEY=y
-CONFIG_HID_KEYTOUCH=m
-# CONFIG_HID_KYE is not set
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=y
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=y
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=y
-# CONFIG_HID_MOSART is not set
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=y
-# CONFIG_HID_ORTEK is not set
-CONFIG_HID_PANTHERLORD=y
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-# CONFIG_HID_ROCCAT_PYRA is not set
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_STANTUM=m
-CONFIG_HID_SUNPLUS=y
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-CONFIG_HID_TOPSEED=y
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-CONFIG_USB_OTG=y
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=y
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_HCD_OMAP=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_U132_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-CONFIG_USB_MUSB_HDRC=y
-# CONFIG_USB_MUSB_TUSB6010 is not set
-CONFIG_USB_MUSB_OMAP2PLUS=y
-# CONFIG_USB_MUSB_AM35X is not set
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PERIPHERAL is not set
-CONFIG_USB_MUSB_OTG=y
-CONFIG_USB_GADGET_MUSB_HDRC=y
-CONFIG_USB_MUSB_HDRC_HCD=y
-# CONFIG_MUSB_PIO_ONLY is not set
-CONFIG_USB_INVENTRA_DMA=y
-# CONFIG_USB_TI_CPPI_DMA is not set
-# CONFIG_USB_MUSB_DEBUG is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-# CONFIG_USB_SERIAL_QUALCOMM is not set
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_SAMBA=m
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
-# CONFIG_USB_SERIAL_TI is not set
-CONFIG_USB_SERIAL_CYBERJACK=m
-# CONFIG_USB_SERIAL_XIRCOM is not set
-# CONFIG_USB_SERIAL_OPTION is not set
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_IOWARRIOR is not set
-CONFIG_USB_TEST=m
-# CONFIG_USB_ISIGHTFW is not set
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=480
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_FUSB300 is not set
-# CONFIG_USB_GADGET_OMAP is not set
-# CONFIG_USB_GADGET_R8A66597 is not set
-# CONFIG_USB_GADGET_PXA_U2O is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-CONFIG_USB_GADGET_DUALSPEED=y
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
-CONFIG_USB_G_NCM=m
-# CONFIG_USB_GADGETFS is not set
-CONFIG_USB_FUNCTIONFS=m
-# CONFIG_USB_FUNCTIONFS_ETH is not set
-CONFIG_USB_FUNCTIONFS_RNDIS=y
-# CONFIG_USB_FUNCTIONFS_GENERIC is not set
-# CONFIG_USB_FILE_STORAGE is not set
-# CONFIG_USB_MASS_STORAGE is not set
-# CONFIG_USB_G_SERIAL is not set
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
-# CONFIG_USB_CDC_COMPOSITE is not set
-# CONFIG_USB_G_MULTI is not set
-CONFIG_USB_G_HID=m
-CONFIG_USB_G_DBGP=m
-# CONFIG_USB_G_DBGP_PRINTK is not set
-CONFIG_USB_G_DBGP_SERIAL=y
-CONFIG_USB_G_WEBCAM=m
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=y
-# CONFIG_ISP1301_OMAP is not set
-# CONFIG_USB_ULPI is not set
-CONFIG_TWL4030_USB=y
-CONFIG_TWL6030_USB=m
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_UNSAFE_RESUME=y
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=y
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_OMAP is not set
-CONFIG_MMC_OMAP_HS=y
-CONFIG_MMC_SPI=m
-# CONFIG_MMC_DW is not set
-CONFIG_MMC_USHC=m
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-CONFIG_LEDS_PWM=m
-CONFIG_LEDS_REGULATOR=m
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_NFC_DEVICES=y
-CONFIG_PN544_NFC=m
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=y
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_TWL4030=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_DS3234 is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-CONFIG_TIMB_DMA=m
-CONFIG_DMA_ENGINE=y
-# CONFIG_AUXDISPLAY is not set
-CONFIG_UIO=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_STAGING=y
-# CONFIG_STAGING_EXCLUDE_BUILD is not set
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_USB_IP_COMMON is not set
-CONFIG_W35UND=m
-CONFIG_PRISM2_USB=m
-CONFIG_ECHO=m
-CONFIG_BRCM80211=m
-CONFIG_BRCMFMAC=y
-# CONFIG_BRCMDBG is not set
-CONFIG_RT2870=m
-# CONFIG_COMEDI is not set
-# CONFIG_ASUS_OLED is not set
-CONFIG_R8712U=m
-CONFIG_R8712_AP=y
-# CONFIG_TRANZPORT is not set
-# CONFIG_POHMELFS is not set
-# CONFIG_LINE6_USB is not set
-# CONFIG_USB_SERIAL_QUATECH2 is not set
-# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
-# CONFIG_VT6656 is not set
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-# CONFIG_FB_SM7XX is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_TIDSPBRIDGE is not set
-# CONFIG_MACH_OMAP3_WESTBRIDGE_AST_PNAND_HAL is not set
-CONFIG_MACH_NO_WESTBRIDGE=y
-# CONFIG_ATH6K_LEGACY is not set
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-
-#
-# Speakup console speech
-#
-# CONFIG_SPEAKUP is not set
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-
-#
-# Altera FPGA firmware download module
-#
-# CONFIG_ALTERA_STAPL is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-# CONFIG_REISERFS_FS_POSIX_ACL is not set
-# CONFIG_REISERFS_FS_SECURITY is not set
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-# CONFIG_JFS_SECURITY is not set
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_STATISTICS=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-CONFIG_OCFS2_FS_STATS=y
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-CONFIG_QUOTA=y
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_PRINT_QUOTA_WARNING=y
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-CONFIG_FSCACHE_HISTOGRAM=y
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-CONFIG_CACHEFILES_HISTOGRAM=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-# CONFIG_NTFS_RW is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=m
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-# CONFIG_ECRYPT_FS is not set
-CONFIG_UNION_FS=m
-CONFIG_UNION_FS_XATTR=y
-# CONFIG_UNION_FS_DEBUG is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_FS_POSIX_ACL=y
-CONFIG_JFFS2_FS_SECURITY=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-# CONFIG_JFFS2_CMODE_PRIORITY is not set
-# CONFIG_JFFS2_CMODE_SIZE is not set
-CONFIG_JFFS2_CMODE_FAVOURLZO=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=y
-# CONFIG_SQUASHFS_XATTR is not set
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=m
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-# CONFIG_ROMFS_BACKED_BY_MTD is not set
-# CONFIG_ROMFS_BACKED_BY_BOTH is not set
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_PNFS_FILE_LAYOUT=y
-CONFIG_ROOT_NFS=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-CONFIG_CIFS_STATS2=y
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_DEBUG2 is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_CIFS_ACL=y
-CONFIG_CIFS_EXPERIMENTAL=y
-CONFIG_NCP_FS=m
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-CONFIG_9P_FSCACHE=y
-CONFIG_9P_FS_POSIX_ACL=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-CONFIG_LDM_DEBUG=y
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_ENABLE_DEFAULT_TRACERS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_ASYNC_RAID6_TEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_SEQIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_OMAP_SHAM=m
-CONFIG_CRYPTO_DEV_OMAP_AES=m
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-CONFIG_BITREVERSE=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-CONFIG_XZ_DEC_TEST=m
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_AVERAGE=y
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/fixes/vout.patch b/recipes-kernel/linux/linux-3.0+3.1rc/fixes/vout.patch
deleted file mode 100644
index 5a14540..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/fixes/vout.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-Delivered-To: koen at dominion.thruhere.net
-Received: by 10.236.157.72 with SMTP id n48cs4581yhk;
-        Fri, 5 Aug 2011 00:10:45 -0700 (PDT)
-Received: by 10.147.146.12 with SMTP id y12mr1585882yan.12.1312528245335;
-        Fri, 05 Aug 2011 00:10:45 -0700 (PDT)
-Return-Path: <archit at ti.com>
-Received: from bear.ext.ti.com (bear.ext.ti.com [192.94.94.41])
-        by mx.google.com with ESMTPS id x20si3422127ani.205.2011.08.05.00.10.45
-        (version=TLSv1/SSLv3 cipher=OTHER);
-        Fri, 05 Aug 2011 00:10:45 -0700 (PDT)
-Received-SPF: pass (google.com: domain of archit at ti.com designates 192.94.94.41 as permitted sender) client-ip=192.94.94.41;
-Authentication-Results: mx.google.com; spf=pass (google.com: domain of archit at ti.com designates 192.94.94.41 as permitted sender) smtp.mail=archit at ti.com
-Received: from dlep33.itg.ti.com ([157.170.170.112])
-	by bear.ext.ti.com (8.13.7/8.13.7) with ESMTP id p757AiHb023389
-	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
-	Fri, 5 Aug 2011 02:10:44 -0500
-Received: from dlep26.itg.ti.com (smtp-le.itg.ti.com [157.170.170.27])
-	by dlep33.itg.ti.com (8.13.7/8.13.8) with ESMTP id p757AiWp004418;
-	Fri, 5 Aug 2011 02:10:44 -0500 (CDT)
-Received: from dlee73.ent.ti.com (localhost [127.0.0.1])
-	by dlep26.itg.ti.com (8.13.8/8.13.8) with ESMTP id p757AiBJ012377;
-	Fri, 5 Aug 2011 02:10:44 -0500 (CDT)
-Received: from dlelxv23.itg.ti.com (172.17.1.198) by DLEE73.ent.ti.com
- (157.170.170.88) with Microsoft SMTP Server id 8.3.106.1; Fri, 5 Aug 2011
- 02:10:44 -0500
-Received: from legion.dal.design.ti.com (legion.dal.design.ti.com
- [128.247.22.53])	by dlelxv23.itg.ti.com (8.13.8/8.13.8) with ESMTP id
- p757Ai9V018852;	Fri, 5 Aug 2011 02:10:44 -0500
-Received: from localhost (a0393947pc.apr.dhcp.ti.com [172.24.137.144])	by
- legion.dal.design.ti.com (8.11.7p1+Sun/8.11.7) with ESMTP id p757Aef10060;
-	Fri, 5 Aug 2011 02:10:41 -0500 (CDT)
-From: Archit Taneja <archit at ti.com>
-To: <hvaibhav at ti.com>, <linux-media at vger.kernel.org>
-CC: <koen at dominion.thruhere.net>, <tomi.valkeinen at ti.com>,
-        <linux-omap at vger.kernel.org>, Archit Taneja <archit at ti.com>
-Subject: [PATCH] [media] OMAP_VOUT: Fix build break caused by update_mode removal in DSS2
-Date: Fri, 5 Aug 2011 12:49:21 +0530
-Message-ID: <1312528761-18241-1-git-send-email-archit at ti.com>
-X-Mailer: git-send-email 1.7.1
-MIME-Version: 1.0
-Content-Type: text/plain
-
-The DSS2 driver does not support the configuration of the update_mode of a
-panel anymore. Remove the setting of update_mode done in omap_vout_probe().
-Ignore configuration of TE since omap_vout driver doesn't support manual update
-displays anyway.
-
-Signed-off-by: Archit Taneja <archit at ti.com>
----
- drivers/media/video/omap/omap_vout.c |   13 -------------
- 1 files changed, 0 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
-index b5ef362..b3a5ecd 100644
---- a/drivers/media/video/omap/omap_vout.c
-+++ b/drivers/media/video/omap/omap_vout.c
-@@ -2194,19 +2194,6 @@ static int __init omap_vout_probe(struct platform_device *pdev)
- 					"'%s' Display already enabled\n",
- 					def_display->name);
- 			}
--			/* set the update mode */
--			if (def_display->caps &
--					OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
--				if (dssdrv->enable_te)
--					dssdrv->enable_te(def_display, 0);
--				if (dssdrv->set_update_mode)
--					dssdrv->set_update_mode(def_display,
--							OMAP_DSS_UPDATE_MANUAL);
--			} else {
--				if (dssdrv->set_update_mode)
--					dssdrv->set_update_mode(def_display,
--							OMAP_DSS_UPDATE_AUTO);
--			}
- 		}
- 	}
- 
--- 
-1.7.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch b/recipes-kernel/linux/linux-3.0+3.1rc/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
deleted file mode 100644
index 38e96e3..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 428afa6e7a96419f6f17158a9ac38ab24d664997 Mon Sep 17 00:00:00 2001
-From: Keerthy <j-keerthy at ti.com>
-Date: Wed, 4 May 2011 01:14:50 +0530
-Subject: [PATCH 1/2] Enabling Hwmon driver for twl4030-madc
-
-Signed-off-by: Keerthy <j-keerthy at ti.com>
----
- drivers/mfd/twl-core.c |   15 +++++++++++++++
- 1 files changed, 15 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
-index a2eddc7..81fcf18 100644
---- a/drivers/mfd/twl-core.c
-+++ b/drivers/mfd/twl-core.c
-@@ -83,6 +83,13 @@
- #define twl_has_madc()	false
- #endif
- 
-+#if defined(CONFIG_SENSORS_TWL4030_MADC) ||\
-+	 defined(CONFIG_SENSORS_TWL4030_MADC_MODULE)
-+#define twl_has_madc_hwmon()  true
-+#else
-+#define twl_has_madc_hwmon()  false
-+#endif
-+
- #ifdef CONFIG_TWL4030_POWER
- #define twl_has_power()        true
- #else
-@@ -669,6 +676,14 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
- 			return PTR_ERR(child);
- 	}
- 
-+if (twl_has_madc_hwmon()) {
-+		child = add_child(2, "twl4030_madc_hwmon",
-+				NULL, 0,
-+				true, pdata->irq_base + MADC_INTR_OFFSET, 0);
-+		if (IS_ERR(child))
-+			return PTR_ERR(child);
-+	}
-+
- 	if (twl_has_rtc()) {
- 		/*
- 		 * REVISIT platform_data here currently might expose the
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/madc/0002-mfd-twl-core-enable-madc-clock.patch b/recipes-kernel/linux/linux-3.0+3.1rc/madc/0002-mfd-twl-core-enable-madc-clock.patch
deleted file mode 100644
index 7dc8e54..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/madc/0002-mfd-twl-core-enable-madc-clock.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fbfdf09f148219d48ee35e830923ca75bbd0b91b Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Sat, 23 Jan 2010 06:26:54 -0800
-Subject: [PATCH 2/2] mfd: twl-core: enable madc clock
-
-Now that the madc driver has been merged it is also necessary to enable the clock to the madc block
-
-Signed-off-by: Steve Sakoman <steve at sakoman.com>
----
- drivers/mfd/twl-core.c  |    8 ++++++++
- include/linux/i2c/twl.h |    1 +
- 2 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
-index 81fcf18..08aa64f 100644
---- a/drivers/mfd/twl-core.c
-+++ b/drivers/mfd/twl-core.c
-@@ -217,6 +217,11 @@
- 
- /* Few power values */
- #define R_CFG_BOOT			0x05
-+#define R_GPBR1				0x0C
-+
-+/* MADC clock values for R_GPBR1 */
-+#define MADC_HFCLK_EN			0x80
-+#define DEFAULT_MADC_CLK_EN		0x10
- 
- /* some fields in R_CFG_BOOT */
- #define HFCLK_FREQ_19p2_MHZ		(1 << 0)
-@@ -1151,6 +1156,9 @@ static void clocks_init(struct device *dev,
- 
- 	e |= unprotect_pm_master();
- 	/* effect->MADC+USB ck en */
-+	if (twl_has_madc())
-+		e |= twl_i2c_write_u8(TWL_MODULE_INTBR,
-+				MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
- 	e |= twl_i2c_write_u8(TWL_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
- 	e |= protect_pm_master();
- 
-diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
-index 114c0f6..f060751 100644
---- a/include/linux/i2c/twl.h
-+++ b/include/linux/i2c/twl.h
-@@ -74,6 +74,7 @@
- 
- #define TWL_MODULE_USB		TWL4030_MODULE_USB
- #define TWL_MODULE_AUDIO_VOICE	TWL4030_MODULE_AUDIO_VOICE
-+#define TWL_MODULE_INTBR	TWL4030_MODULE_INTBR
- #define TWL_MODULE_PIH		TWL4030_MODULE_PIH
- #define TWL_MODULE_MADC		TWL4030_MODULE_MADC
- #define TWL_MODULE_MAIN_CHARGE	TWL4030_MODULE_MAIN_CHARGE
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/patch.sh b/recipes-kernel/linux/linux-3.0+3.1rc/patch.sh
deleted file mode 100644
index 50f146e..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/patch.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-# (c) 2009 - 2011 Koen Kooi <koen at dominion.thruhere.net>
-# This script will take a set of directories with patches and make a git tree out of it
-# After all the patches are applied it will output a SRC_URI fragment you can copy/paste into a recipe
-
-TAG="mainline/master"
-EXTRATAG="-3.1"
-
-git fetch mainline
-git am --abort
-git reset --hard ${TAG}
-rm export -rf
-
-previous=${TAG}
-PATCHSET="beagle madc sgx"
-
-# apply patches
-for patchset in ${PATCHSET} ; do
-	git am $patchset/* && git tag "${patchset}${EXTRATAG}" -f
-done
-
-# export patches and output SRC_URI for them
-for patchset in ${PATCHSET} ; do
-	mkdir export/$patchset -p
-	( cd export/$patchset && git format-patch ${previous}..${patchset}${EXTRATAG} >& /dev/null && for i in *.patch ; do echo "            file://${patchset}/$i \\" ; done )
-	previous=${patchset}${EXTRATAG}
-done
diff --git a/recipes-kernel/linux/linux-3.0+3.1rc/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch b/recipes-kernel/linux/linux-3.0+3.1rc/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
deleted file mode 100644
index 5d45229..0000000
--- a/recipes-kernel/linux/linux-3.0+3.1rc/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 927d1d96b5c4d3439a301b73804ade67b8cdd81a Mon Sep 17 00:00:00 2001
-From: Vikram Pandita <vikram.pandita at ti.com>
-Date: Tue, 31 May 2011 09:24:58 +0100
-Subject: [PATCH] ARM: L2: Add and export outer_clean_all
-
-The Errata 588369 and 539766 demands that clean all operation be done
-as clean each way at a time
-
-This patch also raps the implementation under the CONFIG errata
-macro so that for non-errata version silicon it can be disabled
-
-Signed-off-by: Vikram Pandita <vikram.pandita at ti.com>
-Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Cc: Woodruff, Richard <r-woodruff2 at ti.com>
----
- arch/arm/include/asm/outercache.h |    8 ++++++++
- arch/arm/mm/cache-l2x0.c          |    1 +
- 2 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
-index d838743..fa8cbd8 100644
---- a/arch/arm/include/asm/outercache.h
-+++ b/arch/arm/include/asm/outercache.h
-@@ -28,6 +28,7 @@ struct outer_cache_fns {
- 	void (*clean_range)(unsigned long, unsigned long);
- 	void (*flush_range)(unsigned long, unsigned long);
- 	void (*flush_all)(void);
-+	void (*clean_all)(void);
- 	void (*inv_all)(void);
- 	void (*disable)(void);
- #ifdef CONFIG_OUTER_CACHE_SYNC
-@@ -61,6 +62,11 @@ static inline void outer_flush_all(void)
- 	if (outer_cache.flush_all)
- 		outer_cache.flush_all();
- }
-+static inline void outer_clean_all(void)
-+{
-+	if (outer_cache.clean_all)
-+		outer_cache.clean_all();
-+}
- 
- static inline void outer_inv_all(void)
- {
-@@ -97,6 +103,8 @@ static inline void outer_sync(void)
- #else
- static inline void outer_sync(void)
- { }
-+static inline void outer_clean_all(void)
-+{ }
- #endif
- 
- #endif	/* __ASM_OUTERCACHE_H */
-diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
-index 44c0867..10b79d6 100644
---- a/arch/arm/mm/cache-l2x0.c
-+++ b/arch/arm/mm/cache-l2x0.c
-@@ -346,6 +346,7 @@ void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)
- 	outer_cache.inv_all = l2x0_inv_all;
- 	outer_cache.disable = l2x0_disable;
- 	outer_cache.set_debug = l2x0_set_debug;
-+	outer_cache.clean_all = l2x0_clean_all;
- 
- 	printk(KERN_INFO "%s cache controller enabled\n", type);
- 	printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n",
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch b/recipes-kernel/linux/linux-3.0/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
deleted file mode 100644
index d87aee1..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-From ba3e97075ad35eeaf35191c4e5c2b90de5d96209 Mon Sep 17 00:00:00 2001
-From: Fernandes, Joel A <joelagnel at ti.com>
-Date: Tue, 7 Jun 2011 15:54:45 -0500
-Subject: [PATCH 01/10] OMAP3: beagle: add support for beagleboard xM revision C
-
-OMAP3: beagle: add support for beagleboard xM revision C
-
-The USB enable GPIO has been in beagleboard xM revision C.
-The USER button has been moved since beagleboard xM.
-Also, board specific initialization has been moved to beagle_config struct
-and initialized in omap3_beagle_init_rev. Default values in struct are for xMC.
-
-Signed-off-by: Joel A Fernandes <joelagnel at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |   78 ++++++++++++++++++++-----------
- 1 files changed, 51 insertions(+), 27 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 34f8411..32f5f89 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -60,7 +60,8 @@
-  *	AXBX	= GPIO173, GPIO172, GPIO171: 1 1 1
-  *	C1_3	= GPIO173, GPIO172, GPIO171: 1 1 0
-  *	C4	= GPIO173, GPIO172, GPIO171: 1 0 1
-- *	XM	= GPIO173, GPIO172, GPIO171: 0 0 0
-+ *	XMA/XMB = GPIO173, GPIO172, GPIO171: 0 0 0
-+ *	XMC = GPIO173, GPIO172, GPIO171: 0 1 0
-  */
- enum {
- 	OMAP3BEAGLE_BOARD_UNKN = 0,
-@@ -68,14 +69,26 @@ enum {
- 	OMAP3BEAGLE_BOARD_C1_3,
- 	OMAP3BEAGLE_BOARD_C4,
- 	OMAP3BEAGLE_BOARD_XM,
-+	OMAP3BEAGLE_BOARD_XMC,
- };
- 
- static u8 omap3_beagle_version;
- 
--static u8 omap3_beagle_get_rev(void)
--{
--	return omap3_beagle_version;
--}
-+/*
-+ * Board-specific configuration
-+ * Defaults to BeagleBoard-xMC
-+ */
-+static struct {
-+	int mmc1_gpio_wp;
-+	int usb_pwr_level;
-+	int reset_gpio;
-+	int usr_button_gpio;
-+} beagle_config = {
-+	.mmc1_gpio_wp = -EINVAL,
-+	.usb_pwr_level = GPIOF_OUT_INIT_LOW,
-+	.reset_gpio = 129,
-+	.usr_button_gpio = 4,
-+};
- 
- static struct gpio omap3_beagle_rev_gpios[] __initdata = {
- 	{ 171, GPIOF_IN, "rev_id_0"    },
-@@ -110,18 +123,32 @@ static void __init omap3_beagle_init_rev(void)
- 	case 7:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: Ax/Bx\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_AXBX;
-+		beagle_config.mmc1_gpio_wp = 29;
-+		beagle_config.reset_gpio = 170;
-+		beagle_config.usr_button_gpio = 7;
- 		break;
- 	case 6:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_C1_3;
-+		beagle_config.mmc1_gpio_wp = 23;
-+		beagle_config.reset_gpio = 170;
-+		beagle_config.usr_button_gpio = 7;
- 		break;
- 	case 5:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: C4\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_C4;
-+		beagle_config.mmc1_gpio_wp = 23;
-+		beagle_config.reset_gpio = 170;
-+		beagle_config.usr_button_gpio = 7;
- 		break;
- 	case 0:
--		printk(KERN_INFO "OMAP3 Beagle Rev: xM\n");
-+		printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
-+		beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
-+		break;
-+	case 2:
-+		printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
-+		omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
- 		break;
- 	default:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
-@@ -225,7 +252,7 @@ static struct omap2_hsmmc_info mmc[] = {
- 	{
- 		.mmc		= 1,
- 		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
--		.gpio_wp	= 29,
-+		.gpio_wp	= -EINVAL,
- 	},
- 	{}	/* Terminator */
- };
-@@ -243,17 +270,11 @@ static struct gpio_led gpio_leds[];
- static int beagle_twl_gpio_setup(struct device *dev,
- 		unsigned gpio, unsigned ngpio)
- {
--	int r, usb_pwr_level;
--
--	if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
--		mmc[0].gpio_wp = -EINVAL;
--	} else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
--		(omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
--		omap_mux_init_gpio(23, OMAP_PIN_INPUT);
--		mmc[0].gpio_wp = 23;
--	} else {
--		omap_mux_init_gpio(29, OMAP_PIN_INPUT);
--	}
-+	int r;
-+
-+	if (beagle_config.mmc1_gpio_wp != -EINVAL)
-+		omap_mux_init_gpio(beagle_config.mmc1_gpio_wp, OMAP_PIN_INPUT);
-+	mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
- 	/* gpio + 0 is "mmc0_cd" (input/IRQ) */
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
-@@ -263,9 +284,8 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 	 * high / others active low)
- 	 * DVI reset GPIO is different between beagle revisions
- 	 */
--	if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
--		usb_pwr_level = GPIOF_OUT_INIT_HIGH;
--		beagle_dvi_device.reset_gpio = 129;
-+	/* Valid for all -xM revisions */
-+	if (cpu_is_omap3630()) {
- 		/*
- 		 * gpio + 1 on Xm controls the TFP410's enable line (active low)
- 		 * gpio + 2 control varies depending on the board rev as below:
-@@ -283,8 +303,6 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 			pr_err("%s: unable to configure DVI_LDO_EN\n",
- 				__func__);
- 	} else {
--		usb_pwr_level = GPIOF_OUT_INIT_LOW;
--		beagle_dvi_device.reset_gpio = 170;
- 		/*
- 		 * REVISIT: need ehci-omap hooks for external VBUS
- 		 * power switch and overcurrent detect
-@@ -292,8 +310,10 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 		if (gpio_request_one(gpio + 1, GPIOF_IN, "EHCI_nOC"))
- 			pr_err("%s: unable to configure EHCI_nOC\n", __func__);
- 	}
-+	beagle_dvi_device.reset_gpio = beagle_config.reset_gpio;
- 
--	gpio_request_one(gpio + TWL4030_GPIO_MAX, usb_pwr_level, "nEN_USB_PWR");
-+	gpio_request_one(gpio + TWL4030_GPIO_MAX, beagle_config.usb_pwr_level,
-+			"nEN_USB_PWR");
- 
- 	/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
- 	gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-@@ -404,7 +424,8 @@ static struct platform_device leds_gpio = {
- static struct gpio_keys_button gpio_buttons[] = {
- 	{
- 		.code			= BTN_EXTRA,
--		.gpio			= 7,
-+		/* Dynamically assigned depending on board */
-+		.gpio			= -EINVAL,
- 		.desc			= "user",
- 		.wakeup			= 1,
- 	},
-@@ -468,8 +489,8 @@ static void __init beagle_opp_init(void)
- 		return;
- 	}
- 
--	/* Custom OPP enabled for XM */
--	if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
-+	/* Custom OPP enabled for all xM versions */
-+	if (cpu_is_omap3630()) {
- 		struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
- 		struct omap_hwmod *dh = omap_hwmod_lookup("iva");
- 		struct device *dev;
-@@ -509,6 +530,9 @@ static void __init omap3_beagle_init(void)
- 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
- 	omap3_beagle_init_rev();
- 	omap3_beagle_i2c_init();
-+
-+	gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
-+
- 	platform_add_devices(omap3_beagle_devices,
- 			ARRAY_SIZE(omap3_beagle_devices));
- 	omap_display_init(&beagle_dss_data);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch b/recipes-kernel/linux/linux-3.0/beagle/0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
deleted file mode 100644
index 321aeae..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch
+++ /dev/null
@@ -1,340 +0,0 @@
-From 73366785ad8400aa22ffc0822ecc701349477de9 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 21 Jul 2011 14:29:42 +0200
-Subject: [PATCH 02/10] UNFINISHED: OMAP3: beagle: add support for expansionboards
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |  266 +++++++++++++++++++++++++++++++
- 1 files changed, 266 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 32f5f89..f26a9a8 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -21,6 +21,7 @@
- #include <linux/io.h>
- #include <linux/leds.h>
- #include <linux/gpio.h>
-+#include <linux/irq.h>
- #include <linux/input.h>
- #include <linux/gpio_keys.h>
- #include <linux/opp.h>
-@@ -156,6 +157,167 @@ static void __init omap3_beagle_init_rev(void)
- 	}
- }
- 
-+char expansionboard_name[16];
-+
-+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
-+#include <linux/regulator/fixed.h>
-+#include <linux/wl12xx.h>
-+
-+#define OMAP_BEAGLE_WLAN_EN_GPIO    (139)
-+#define OMAP_BEAGLE_BT_EN_GPIO      (138)
-+#define OMAP_BEAGLE_WLAN_IRQ_GPIO   (137)
-+#define OMAP_BEAGLE_FM_EN_BT_WU     (136)
-+
-+struct wl12xx_platform_data omap_beagle_wlan_data __initdata = {
-+	.irq = OMAP_GPIO_IRQ(OMAP_BEAGLE_WLAN_IRQ_GPIO),
-+	.board_ref_clock = 2, /* 38.4 MHz */
-+};
-+
-+static int gpios[] = {OMAP_BEAGLE_BT_EN_GPIO, OMAP_BEAGLE_FM_EN_BT_WU, -1};
-+static struct platform_device wl12xx_device = {
-+		.name		= "kim",
-+		.id			= -1,
-+		.dev.platform_data = &gpios,
-+};
-+
-+static struct omap2_hsmmc_info mmcbbt[] = {
-+ 	{
-+ 		.mmc		= 1,
-+ 		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
-+ 		.gpio_wp	= 29,
-+ 	},
-+	{
-+		.name		= "wl1271",
-+		.mmc		= 2,
-+		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
-+		.gpio_wp	= -EINVAL,
-+		.gpio_cd	= -EINVAL,
-+		.ocr_mask	= MMC_VDD_165_195,
-+		.nonremovable	= true,
-+	},
-+ 	{}	/* Terminator */
-+ };
-+
-+static struct regulator_consumer_supply beagle_vmmc2_supply = 
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+
-+static struct regulator_init_data beagle_vmmc2 = {
-+	.constraints = {
-+		.min_uV			= 1850000,
-+		.max_uV			= 1850000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+	.num_consumer_supplies = 1,
-+	.consumer_supplies = &beagle_vmmc2_supply,
-+};
-+
-+static struct fixed_voltage_config beagle_vwlan = {
-+	.supply_name = "vwl1271",
-+	.microvolts = 1800000,  /* 1.8V */
-+	.gpio = OMAP_BEAGLE_WLAN_EN_GPIO,
-+	.startup_delay = 70000, /* 70ms */
-+	.enable_high = 1,
-+	.enabled_at_boot = 0,
-+	.init_data = &beagle_vmmc2,
-+};
-+
-+static struct platform_device omap_vwlan_device = {
-+	.name           = "reg-fixed-voltage",
-+	.id             = 1,
-+	.dev = {
-+		.platform_data = &beagle_vwlan,
-+	},
-+};
-+#endif
-+
-+#if defined(CONFIG_ENC28J60) || defined(CONFIG_ENC28J60_MODULE)
-+
-+#include <plat/mcspi.h>
-+#include <linux/spi/spi.h>
-+
-+#define OMAP3BEAGLE_GPIO_ENC28J60_IRQ 157
-+
-+static struct omap2_mcspi_device_config enc28j60_spi_chip_info = {
-+	.turbo_mode	= 0,
-+	.single_channel	= 1,	/* 0: slave, 1: master */
-+};
-+
-+static struct spi_board_info omap3beagle_zippy_spi_board_info[] __initdata = {
-+	{
-+		.modalias		= "enc28j60",
-+		.bus_num		= 4,
-+		.chip_select		= 0,
-+		.max_speed_hz		= 20000000,
-+		.controller_data	= &enc28j60_spi_chip_info,
-+	},
-+};
-+
-+static void __init omap3beagle_enc28j60_init(void)
-+{
-+	if ((gpio_request(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, "ENC28J60_IRQ") == 0) &&
-+	    (gpio_direction_input(OMAP3BEAGLE_GPIO_ENC28J60_IRQ) == 0)) {
-+		gpio_export(OMAP3BEAGLE_GPIO_ENC28J60_IRQ, 0);
-+		omap3beagle_zippy_spi_board_info[0].irq	= OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_ENC28J60_IRQ);
-+		irq_set_irq_type(omap3beagle_zippy_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
-+	} else {
-+		printk(KERN_ERR "could not obtain gpio for ENC28J60_IRQ\n");
-+		return;
-+	}
-+
-+	spi_register_board_info(omap3beagle_zippy_spi_board_info,
-+			ARRAY_SIZE(omap3beagle_zippy_spi_board_info));
-+}
-+
-+#else
-+static inline void __init omap3beagle_enc28j60_init(void) { return; }
-+#endif
-+
-+#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)
-+
-+#include <plat/mcspi.h>
-+#include <linux/spi/spi.h>
-+
-+#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
-+
-+static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
-+	.turbo_mode	= 0,
-+	.single_channel	= 1,	/* 0: slave, 1: master */
-+};
-+
-+static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
-+	{
-+		.modalias		= "ks8851",
-+		.bus_num		= 4,
-+		.chip_select		= 0,
-+		.max_speed_hz		= 36000000,
-+		.controller_data	= &ks8851_spi_chip_info,
-+	},
-+};
-+
-+static void __init omap3beagle_ks8851_init(void)
-+{
-+	if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
-+	    (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
-+		gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
-+		omap3beagle_zippy2_spi_board_info[0].irq	= OMAP_GPIO_IRQ(OMAP3BEAGLE_GPIO_KS8851_IRQ);
-+		irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
-+	} else {
-+		printk(KERN_ERR "could not obtain gpio for KS8851_IRQ\n");
-+		return;
-+	}
-+	
-+	spi_register_board_info(omap3beagle_zippy2_spi_board_info,
-+							ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
-+}
-+
-+#else
-+static inline void __init omap3beagle_ks8851_init(void) { return; }
-+#endif
-+
- static struct mtd_partition omap3beagle_nand_partitions[] = {
- 	/* All the partition sizes are listed in terms of NAND block size */
- 	{
-@@ -254,6 +416,12 @@ static struct omap2_hsmmc_info mmc[] = {
- 		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
- 		.gpio_wp	= -EINVAL,
- 	},
-+	{
-+		.mmc		= 2,
-+		.caps       = MMC_CAP_4_BIT_DATA,
-+		.transceiver	= true,
-+		.ocr_mask	= 0x00100000,	/* 3.3V */
-+	},
- 	{}	/* Terminator */
- };
- 
-@@ -277,7 +445,15 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_wp = beagle_config.mmc1_gpio_wp;
- 	/* gpio + 0 is "mmc0_cd" (input/IRQ) */
- 	mmc[0].gpio_cd = gpio + 0;
-+#if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
-+	if(!strcmp(expansionboard_name, "bbtoys-wifi")) { 
-+		omap2_hsmmc_init(mmcbbt);
-+	} else {
-+		omap2_hsmmc_init(mmc);
-+	}
-+#else
- 	omap2_hsmmc_init(mmc);
-+#endif
- 
- 	/*
- 	 * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
-@@ -375,6 +551,19 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
-        },
- };
- 
-+#if defined(CONFIG_RTC_DRV_DS1307) || \
-+	defined(CONFIG_RTC_DRV_DS1307_MODULE)
-+
-+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
-+	{
-+		I2C_BOARD_INFO("eeprom", 0x50),
-+		I2C_BOARD_INFO("ds1307", 0x68),
-+	},
-+};
-+#else
-+static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
-+#endif
-+
- static int __init omap3_beagle_i2c_init(void)
- {
- 	omap3_pmic_get_config(&beagle_twldata,
-@@ -479,6 +668,15 @@ static struct omap_board_mux board_mux[] __initdata = {
- };
- #endif
- 
-+static int __init expansionboard_setup(char *str)
-+{
-+	if (!str)
-+		return -EINVAL;
-+	strncpy(expansionboard_name, str, 16);
-+	printk(KERN_INFO "Beagle expansionboard: %s\n", expansionboard_name);
-+	return 0;
-+}
-+
- static void __init beagle_opp_init(void)
- {
- 	int r = 0;
-@@ -542,6 +740,72 @@ static void __init omap3_beagle_init(void)
- 	/* REVISIT leave DVI powered down until it's needed ... */
- 	gpio_request_one(170, GPIOF_OUT_INIT_HIGH, "DVI_nPD");
- 
-+	if(!strcmp(expansionboard_name, "zippy")) 
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: initializing enc28j60\n");
-+		omap3beagle_enc28j60_init();
-+		printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
-+		mmc[1].gpio_wp = 141;
-+		mmc[1].gpio_cd = 162;
-+		printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy board\n");
-+		omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
-+							ARRAY_SIZE(beagle_i2c2_zippy));
-+
-+	}
-+	
-+	if(!strcmp(expansionboard_name, "zippy2")) 
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: initializing ks_8851\n");
-+		omap3beagle_ks8851_init();
-+		printk(KERN_INFO "Beagle expansionboard: assigning GPIO 141 and 162 to MMC1\n");
-+		mmc[1].gpio_wp = 141;
-+		mmc[1].gpio_cd = 162;
-+		printk(KERN_INFO "Beagle expansionboard: registering I2C2 for zippy2 board\n");
-+		omap_register_i2c_bus(2, 400,  beagle_i2c2_zippy,
-+							ARRAY_SIZE(beagle_i2c2_zippy));		
-+	}
-+
-+	if(!strcmp(expansionboard_name, "trainer"))
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: exporting GPIOs 130-141,162 to userspace\n");
-+		gpio_request(130, "sysfs");
-+		gpio_export(130, 1);
-+		gpio_request(131, "sysfs");
-+		gpio_export(131, 1);
-+		gpio_request(132, "sysfs");
-+		gpio_export(132, 1);
-+		gpio_request(133, "sysfs");
-+		gpio_export(133, 1);
-+		gpio_request(134, "sysfs");
-+		gpio_export(134, 1);
-+		gpio_request(135, "sysfs");
-+		gpio_export(135, 1);
-+		gpio_request(136, "sysfs");
-+		gpio_export(136, 1);
-+		gpio_request(137, "sysfs");
-+		gpio_export(137, 1);
-+		gpio_request(138, "sysfs");
-+		gpio_export(138, 1);
-+		gpio_request(139, "sysfs");
-+		gpio_export(139, 1);
-+		gpio_request(140, "sysfs");
-+		gpio_export(140, 1);
-+		gpio_request(141, "sysfs");
-+		gpio_export(141, 1);
-+		gpio_request(162, "sysfs");
-+		gpio_export(162, 1);
-+	}
-+
-+	if(!strcmp(expansionboard_name, "bbtoys-wifi"))
-+	{
-+		if (wl12xx_set_platform_data(&omap_beagle_wlan_data))
-+			pr_err("error setting wl12xx data\n");
-+		printk(KERN_INFO "Beagle expansionboard: registering wl12xx bt platform device\n");
-+		platform_device_register(&wl12xx_device);
-+		printk(KERN_INFO "Beagle expansionboard: registering wl12xx wifi platform device\n");
-+		platform_device_register(&omap_vwlan_device);
-+	}
-+
- 	usb_musb_init(NULL);
- 	usbhs_init(&usbhs_bdata);
- 	omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
-@@ -558,6 +822,8 @@ static void __init omap3_beagle_init(void)
- 	beagle_opp_init();
- }
- 
-+early_param("buddy", expansionboard_setup);
-+
- MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
- 	.boot_params	= 0x80000100,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch b/recipes-kernel/linux/linux-3.0/beagle/0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
deleted file mode 100644
index 8a758ef..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a7e1724833070f01b82381f40b084fd33e46836d Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 21 Jul 2011 12:59:20 +0200
-Subject: [PATCH 03/10] HACK: OMAP3: beagle: switch to GPTIMER1
-
-Breaks with B3 and older due to clock noise
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index f26a9a8..a04f5a0 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -832,5 +832,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	.init_early	= omap3_beagle_init_early,
- 	.init_irq	= omap3_beagle_init_irq,
- 	.init_machine	= omap3_beagle_init,
--	.timer		= &omap3_secure_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch b/recipes-kernel/linux/linux-3.0/beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
deleted file mode 100644
index aaa3dce..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6ebc5081aba3428762e4e055a154fdda9ebe442e Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Wed, 25 May 2011 08:57:40 +0200
-Subject: [PATCH 04/10] OMAP3: beagle: HACK! add in 1GHz OPP
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index a04f5a0..5e1d9f9 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -701,11 +701,13 @@ static void __init beagle_opp_init(void)
- 		/* Enable MPU 1GHz and lower opps */
- 		dev = &mh->od->pdev.dev;
- 		r = opp_enable(dev, 800000000);
-+		r |= opp_enable(dev, 1000000000);
- 		/* TODO: MPU 1GHz needs SR and ABB */
- 
- 		/* Enable IVA 800MHz and lower opps */
- 		dev = &dh->od->pdev.dev;
- 		r |= opp_enable(dev, 660000000);
-+		r |= opp_enable(dev, 800000000);
- 		/* TODO: DSP 800MHz needs SR and ABB */
- 		if (r) {
- 			pr_err("%s: failed to enable higher opp %d\n",
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch b/recipes-kernel/linux/linux-3.0/beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch
deleted file mode 100644
index 6930b6d..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From f0a23fe6d3c8fc9bbb60a962114b64b923ca4515 Mon Sep 17 00:00:00 2001
-From: Sanjeev Premi <premi at ti.com>
-Date: Tue, 18 Jan 2011 13:19:55 +0530
-Subject: [PATCH 05/10] omap3: Add basic support for 720MHz part
-
-This patch adds support for new speed enhanced parts with ARM
-and IVA running at 720MHz and 520MHz respectively. These parts
-can be probed at run-time by reading PRODID.SKUID[3:0] at
-0x4830A20C [1].
-
-This patch specifically does following:
- * Detect devices capable of 720MHz.
- * Add new OPP
- * Ensure that OPP is conditionally enabled.
- * Check for presence of IVA before attempting to enable
-   the corresponding OPP.
-
-  [1] http://focus.ti.com/lit/ug/spruff1d/spruff1d.pdf
-
-Signed-off-by: Sanjeev Premi <premi at ti.com>
----
- arch/arm/mach-omap2/control.h         |    7 ++++
- arch/arm/mach-omap2/id.c              |   10 +++++
- arch/arm/mach-omap2/opp3xxx_data.c    |   63 ++++++++++++++++++++++++++++++++-
- arch/arm/plat-omap/include/plat/cpu.h |    2 +
- 4 files changed, 81 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
-index a016c8b..69d0b9c 100644
---- a/arch/arm/mach-omap2/control.h
-+++ b/arch/arm/mach-omap2/control.h
-@@ -371,6 +371,13 @@
- #define		FEAT_NEON		0
- #define		FEAT_NEON_NONE		1
- 
-+/*
-+ * Product ID register
-+ */
-+#define OMAP3_PRODID			0x020C
-+
-+#define OMAP3_SKUID_MASK		0x0f
-+#define		OMAP3_SKUID_720MHZ	0x08
- 
- #ifndef __ASSEMBLY__
- #ifdef CONFIG_ARCH_OMAP2PLUS
-diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
-index 2537090..b6ed78a 100644
---- a/arch/arm/mach-omap2/id.c
-+++ b/arch/arm/mach-omap2/id.c
-@@ -210,6 +210,15 @@ static void __init omap3_check_features(void)
- 	 * TODO: Get additional info (where applicable)
- 	 *       e.g. Size of L2 cache.
- 	 */
-+
-+	/*
-+	 * Does it support 720MHz?
-+	 */
-+	status = (OMAP3_SKUID_MASK & read_tap_reg(OMAP3_PRODID));
-+
-+	if (status & OMAP3_SKUID_720MHZ) {
-+		omap3_features |= OMAP3_HAS_720MHZ;
-+	}
- }
- 
- static void __init ti816x_check_features(void)
-@@ -490,6 +499,7 @@ static void __init omap3_cpuinfo(void)
- 	OMAP3_SHOW_FEATURE(neon);
- 	OMAP3_SHOW_FEATURE(isp);
- 	OMAP3_SHOW_FEATURE(192mhz_clk);
-+	OMAP3_SHOW_FEATURE(720mhz);
- 
- 	printk(")\n");
- }
-diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
-index d95f3f9..44fbc84 100644
---- a/arch/arm/mach-omap2/opp3xxx_data.c
-+++ b/arch/arm/mach-omap2/opp3xxx_data.c
-@@ -18,8 +18,10 @@
-  * GNU General Public License for more details.
-  */
- #include <linux/module.h>
-+#include <linux/opp.h>
- 
- #include <plat/cpu.h>
-+#include <plat/omap_device.h>
- 
- #include "control.h"
- #include "omap_opp_data.h"
-@@ -98,6 +100,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
- 	OPP_INITIALIZER("mpu", true, 550000000, OMAP3430_VDD_MPU_OPP4_UV),
- 	/* MPU OPP5 */
- 	OPP_INITIALIZER("mpu", true, 600000000, OMAP3430_VDD_MPU_OPP5_UV),
-+	/* MPU OPP6 */
-+	OPP_INITIALIZER("mpu", false, 720000000, 1350000),
- 
- 	/*
- 	 * L3 OPP1 - 41.5 MHz is disabled because: The voltage for that OPP is
-@@ -123,6 +127,8 @@ static struct omap_opp_def __initdata omap34xx_opp_def_list[] = {
- 	OPP_INITIALIZER("iva", true, 400000000, OMAP3430_VDD_MPU_OPP4_UV),
- 	/* DSP OPP5 */
- 	OPP_INITIALIZER("iva", true, 430000000, OMAP3430_VDD_MPU_OPP5_UV),
-+	/* DSP OPP6 */
-+	OPP_INITIALIZER("iva", false, 520000000, 1350000),
- };
- 
- static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
-@@ -150,6 +156,57 @@ static struct omap_opp_def __initdata omap36xx_opp_def_list[] = {
- 	OPP_INITIALIZER("iva", false, 800000000, OMAP3630_VDD_MPU_OPP1G_UV),
- };
- 
-+
-+/**
-+ * omap3_opp_enable_720Mhz() - Enable the OPP corresponding to 720MHz
-+ *
-+ * This function would be executed only if the silicon is capable of
-+ * running at the 720MHz.
-+ */
-+static int __init omap3_opp_enable_720Mhz(void)
-+{
-+	int r = -ENODEV;
-+	struct omap_hwmod *oh_mpu = omap_hwmod_lookup("mpu");
-+	struct omap_hwmod *oh_iva;
-+	struct platform_device *pdev;
-+
-+	if (!oh_mpu || !oh_mpu->od) {
-+		goto err;
-+	} else {
-+		pdev = &oh_mpu->od->pdev;
-+
-+		r = opp_enable(&pdev->dev, 720000000);
-+		if (r < 0) {
-+			dev_err(&pdev->dev,
-+				"opp_enable() failed for mpu at 720MHz");
-+			goto err;
-+		}
-+	}
-+
-+	if (omap3_has_iva()) {
-+		oh_iva = omap_hwmod_lookup("iva");
-+
-+		if (!oh_iva || !oh_iva->od) {
-+			r = -ENODEV;
-+			goto err;
-+		} else {
-+			pdev = &oh_iva->od->pdev;
-+
-+			r = opp_enable(&pdev->dev, 520000000);
-+			if (r < 0) {
-+				dev_err(&pdev->dev,
-+					"opp_enable() failed for iva at 520MHz");
-+				goto err;
-+			}
-+		}
-+	}
-+
-+	dev_info(&pdev->dev, "Enabled OPP corresponding to 720MHz\n");
-+
-+err:
-+	return r;
-+}
-+
- /**
-  * omap3_opp_init() - initialize omap3 opp table
-  */
-@@ -163,10 +220,14 @@ int __init omap3_opp_init(void)
- 	if (cpu_is_omap3630())
- 		r = omap_init_opp_table(omap36xx_opp_def_list,
- 			ARRAY_SIZE(omap36xx_opp_def_list));
--	else
-+	else {
- 		r = omap_init_opp_table(omap34xx_opp_def_list,
- 			ARRAY_SIZE(omap34xx_opp_def_list));
- 
-+		if (omap3_has_720mhz())
-+			r = omap3_opp_enable_720Mhz();
-+	}
-+
- 	return r;
- }
- device_initcall(omap3_opp_init);
-diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h
-index 8198bb6..5204c1e 100644
---- a/arch/arm/plat-omap/include/plat/cpu.h
-+++ b/arch/arm/plat-omap/include/plat/cpu.h
-@@ -478,6 +478,7 @@ extern u32 omap3_features;
- #define OMAP3_HAS_192MHZ_CLK		BIT(5)
- #define OMAP3_HAS_IO_WAKEUP		BIT(6)
- #define OMAP3_HAS_SDRC			BIT(7)
-+#define OMAP3_HAS_720MHZ		BIT(8)
- 
- #define OMAP3_HAS_FEATURE(feat,flag)			\
- static inline unsigned int omap3_has_ ##feat(void)	\
-@@ -493,5 +494,6 @@ OMAP3_HAS_FEATURE(isp, ISP)
- OMAP3_HAS_FEATURE(192mhz_clk, 192MHZ_CLK)
- OMAP3_HAS_FEATURE(io_wakeup, IO_WAKEUP)
- OMAP3_HAS_FEATURE(sdrc, SDRC)
-+OMAP3_HAS_FEATURE(720mhz, 720MHZ)
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0006-ARM-OMAP2-beagleboard-make-wilink-init-look-more-lik.patch b/recipes-kernel/linux/linux-3.0/beagle/0006-ARM-OMAP2-beagleboard-make-wilink-init-look-more-lik.patch
deleted file mode 100644
index b63f9f7..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0006-ARM-OMAP2-beagleboard-make-wilink-init-look-more-lik.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From d9242a243b61059cacde8ce1241b84fc787c57d1 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 20 Oct 2011 11:14:08 +0200
-Subject: [PATCH 06/10] ARM: OMAP2+: beagleboard: make wilink init look more like pandaboard
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    8 +-------
- 1 files changed, 1 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 5e1d9f9..13fffb0 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -203,13 +203,7 @@ static struct regulator_consumer_supply beagle_vmmc2_supply =
- 
- static struct regulator_init_data beagle_vmmc2 = {
- 	.constraints = {
--		.min_uV			= 1850000,
--		.max_uV			= 1850000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
-+		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
- 	},
- 	.num_consumer_supplies = 1,
- 	.consumer_supplies = &beagle_vmmc2_supply,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0007-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch b/recipes-kernel/linux/linux-3.0/beagle/0007-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
deleted file mode 100644
index e79f513..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0007-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 47be8c9046c22715ce646091dd9e98fa87fc86e1 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Mon, 18 Jul 2011 23:13:41 -0500
-Subject: [PATCH 07/10] omap_hsmmc: Set dto to max value of 14 to avoid SD Card timeouts
-
-This fixes MMC errors due to timeouts on certain SD Cards following suggestions
-to set dto to 14 by Jason Kridner and Steven Kipisz
-
-Details of the issue:
-http://talk.maemo.org/showthread.php?p=1000707#post1000707
-
-This fix was originally proposed by Sukumar Ghoral of TI.
----
- drivers/mmc/host/omap_hsmmc.c |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
-index dedf3da..a8a60d4 100644
---- a/drivers/mmc/host/omap_hsmmc.c
-+++ b/drivers/mmc/host/omap_hsmmc.c
-@@ -1441,6 +1441,9 @@ static void set_data_timeout(struct omap_hsmmc_host *host,
- 			dto = 14;
- 	}
- 
-+	/* Set dto to max value of 14 to avoid SD Card timeouts */
-+	dto = 14;
-+
- 	reg &= ~DTO_MASK;
- 	reg |= dto << DTO_SHIFT;
- 	OMAP_HSMMC_WRITE(host->base, SYSCTL, reg);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch b/recipes-kernel/linux/linux-3.0/beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
deleted file mode 100644
index b864c19..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 2a9282daf94e8b9a1c8dc6fdf5b97461eb15348d Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Thu, 24 Mar 2011 21:27:29 +0000
-Subject: [PATCH 08/10] OMAP2+: add cpu id register to MAC address helper
-
-Introduce a generic helper function that can set a MAC address using
-data from the OMAP unique CPU ID register.
-
-For comparison purposes this produces a MAC address of
-
-  2e:40:70:f0:12:06
-
-for the ethernet device on my Panda.
-
-Note that this patch requires the fix patch for CPU ID register
-indexes previously posted to linux-omap, otherwise the CPU ID is
-misread on Panda by the existing function to do it.  This patch
-is already on linux-omap.
-
-"OMAP2+:Common CPU DIE ID reading code reads wrong registers for OMAP4430"
-http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=b235e007831dbf57710e59cd4a120e2f374eecb9
-
-Signed-off-by: Andy Green <andy.green at linaro.org>
----
- arch/arm/mach-omap2/id.c              |   39 +++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/include/mach/id.h |    1 +
- 2 files changed, 40 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
-index b6ed78a..de993f1 100644
---- a/arch/arm/mach-omap2/id.c
-+++ b/arch/arm/mach-omap2/id.c
-@@ -567,3 +567,42 @@ void __init omap2_set_globals_tap(struct omap_globals *omap2_globals)
- 	else
- 		tap_prod_id = 0x0208;
- }
-+
-+/*
-+ * this uses the unique per-cpu info from the cpu fuses set at factory to
-+ * generate a 6-byte MAC address.  Two bits in the generated code are used
-+ * to elaborate the generated address into four, so it can be used on multiple
-+ * network interfaces.
-+ */
-+
-+void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype)
-+{
-+	struct omap_die_id odi;
-+	u32 tap = read_tap_reg(OMAP_TAP_IDCODE);
-+
-+	omap_get_die_id(&odi);
-+
-+	mac[0] = odi.id_2;
-+	mac[1] = odi.id_2 >> 8;
-+	mac[2] = odi.id_1;
-+	mac[3] = odi.id_1 >> 8;
-+	mac[4] = odi.id_1 >> 16;
-+	mac[5] = odi.id_1 >> 24;
-+
-+	/* XOR other chip-specific data with ID */
-+
-+	tap ^= odi.id_3;
-+
-+	mac[0] ^= tap;
-+	mac[1] ^= tap >> 8;
-+	mac[2] ^= tap >> 16;
-+	mac[3] ^= tap >> 24;
-+
-+	/* allow four MACs from this same basic data */
-+
-+	mac[1] = (mac[1] & ~0xc0) | ((subtype & 3) << 6);
-+
-+	/* mark it as not multicast and outside official 80211 MAC namespace */
-+
-+	mac[0] = (mac[0] & ~1) | 2;
-+}
-diff --git a/arch/arm/mach-omap2/include/mach/id.h b/arch/arm/mach-omap2/include/mach/id.h
-index 02ed3aa..373313a 100644
---- a/arch/arm/mach-omap2/include/mach/id.h
-+++ b/arch/arm/mach-omap2/include/mach/id.h
-@@ -18,5 +18,6 @@ struct omap_die_id {
- };
- 
- void omap_get_die_id(struct omap_die_id *odi);
-+void omap2_die_id_to_ethernet_mac(u8 *mac, int subtype);
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch b/recipes-kernel/linux/linux-3.0/beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
deleted file mode 100644
index 3da12c7..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From d0212d089b62cd7ebcd53104717180482e35ec1a Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jdk at ti.com>
-Date: Thu, 15 Sep 2011 18:23:02 -0400
-Subject: [PATCH 09/10] HACK: OMAP2+: BeagleBoard: Fix up random or missing MAC addresses for eth0 and wlan0
-
-This was borrowed from the Panda implementation at http://patches.linaro.org/777/
-
-This patch registers a network device notifier callback to set the mac
-addresses for the onboard network assets of the BeagleBoard correctly, despite the
-drivers involved have used a random or all-zeros MAC address.
-
-The technique was suggested by Alan Cox on lkml.
-
-It works by device path so it corrects the MAC addresses even if the
-drivers are in modules loaded in an order that changes their interface
-name from usual (eg, the onboard module might be "wlan1" if there is a
-USB wireless stick plugged in and its module is inserted first.)
-
-Cc: Andy Green <andy at warmcat.com>
----
- arch/arm/mach-omap2/board-omap3beagle.c |   90 +++++++++++++++++++++++++++++++
- 1 files changed, 90 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 13fffb0..5ffe185 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -33,6 +33,8 @@
- 
- #include <linux/regulator/machine.h>
- #include <linux/i2c/twl.h>
-+#include <linux/netdevice.h>
-+#include <linux/if_ether.h>
- 
- #include <mach/hardware.h>
- #include <asm/mach-types.h>
-@@ -42,6 +44,7 @@
- 
- #include <plat/board.h>
- #include <plat/common.h>
-+#include <mach/id.h>
- #include <video/omapdss.h>
- #include <video/omap-panel-generic-dpi.h>
- #include <plat/gpmc.h>
-@@ -91,6 +94,90 @@ static struct {
- 	.usr_button_gpio = 4,
- };
- 
-+/*
-+ * This device path represents the onboard USB <-> Ethernet bridge
-+ * on the BeagleBoard-xM which needs a random or all-zeros
-+ * mac address replaced with a per-cpu stable generated one
-+ */
-+
-+static const char * const xm_fixup_mac_device_paths[] = {
-+	"usb1/1-2/1-2.1/1-2.1:1.0",
-+};
-+
-+static int beagle_device_path_need_mac(struct device *dev)
-+{
-+	const char **try = (const char **) xm_fixup_mac_device_paths;
-+	const char *path;
-+	int count = ARRAY_SIZE(xm_fixup_mac_device_paths);
-+	const char *p;
-+	int len;
-+	struct device *devn;
-+
-+	while (count--) {
-+
-+		p = *try + strlen(*try);
-+		devn = dev;
-+
-+		while (devn) {
-+
-+			path = dev_name(devn);
-+			len = strlen(path);
-+
-+			if ((p - *try) < len) {
-+				devn = NULL;
-+				continue;
-+			}
-+
-+			p -= len;
-+
-+			if (strncmp(path, p, len)) {
-+				devn = NULL;
-+				continue;
-+			}
-+
-+			devn = devn->parent;
-+			if (p == *try)
-+				return count;
-+
-+			if (devn != NULL && (p - *try) < 2)
-+				devn = NULL;
-+
-+			p--;
-+			if (devn != NULL && *p != '/')
-+				devn = NULL;
-+		}
-+
-+		try++;
-+	}
-+
-+	return -ENOENT;
-+}
-+
-+static int omap_beagle_netdev_event(struct notifier_block *this,
-+						 unsigned long event, void *ptr)
-+{
-+	struct net_device *dev = ptr;
-+	struct sockaddr sa;
-+	int n;
-+
-+	if (event != NETDEV_REGISTER)
-+		return NOTIFY_DONE;
-+
-+	n = beagle_device_path_need_mac(dev->dev.parent);
-+	if (n >= 0) {
-+		sa.sa_family = dev->type;
-+		omap2_die_id_to_ethernet_mac(sa.sa_data, n);
-+		dev->netdev_ops->ndo_set_mac_address(dev, &sa);
-+	}
-+
-+	return NOTIFY_DONE;
-+}
-+
-+static struct notifier_block omap_beagle_netdev_notifier = {
-+	.notifier_call = omap_beagle_netdev_event,
-+	.priority = 1,
-+};
-+
- static struct gpio omap3_beagle_rev_gpios[] __initdata = {
- 	{ 171, GPIOF_IN, "rev_id_0"    },
- 	{ 172, GPIOF_IN, "rev_id_1" },
-@@ -146,14 +233,17 @@ static void __init omap3_beagle_init_rev(void)
- 		printk(KERN_INFO "OMAP3 Beagle Rev: xM Ax/Bx\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
- 		beagle_config.usb_pwr_level = GPIOF_OUT_INIT_HIGH;
-+		register_netdevice_notifier(&omap_beagle_netdev_notifier);
- 		break;
- 	case 2:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
-+		register_netdevice_notifier(&omap_beagle_netdev_notifier);
- 		break;
- 	default:
- 		printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
- 		omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
-+		register_netdevice_notifier(&omap_beagle_netdev_notifier);
- 	}
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0010-ARM-OMAP2-beagleboard-fix-mmc-write-protect-pin-when.patch b/recipes-kernel/linux/linux-3.0/beagle/0010-ARM-OMAP2-beagleboard-fix-mmc-write-protect-pin-when.patch
deleted file mode 100644
index bcb7e4f..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0010-ARM-OMAP2-beagleboard-fix-mmc-write-protect-pin-when.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 713c5b4ce910dacdd75e9616b0f989d643008536 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Wed, 19 Oct 2011 12:44:14 +0200
-Subject: [PATCH 10/10] ARM: OMAP2+: beagleboard: fix mmc write protect pin when using the wilink expansion board
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 5ffe185..0124060 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -274,7 +274,7 @@ static struct omap2_hsmmc_info mmcbbt[] = {
-  	{
-  		.mmc		= 1,
-  		.caps		= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA,
-- 		.gpio_wp	= 29,
-+ 		.gpio_wp	= -EINVAL,
-  	},
- 	{
- 		.name		= "wl1271",
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagle/0011-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch b/recipes-kernel/linux/linux-3.0/beagle/0011-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch
deleted file mode 100644
index 4d2a978..0000000
--- a/recipes-kernel/linux/linux-3.0/beagle/0011-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a2139a0efb9472a649465a1080799c73470fd201 Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Wed, 25 Jan 2012 15:48:36 +0100
-Subject: [PATCH] beagleboard: reinstate usage of hi-speed PLL divider
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 016d0985..c4c7a99 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -467,6 +467,11 @@ static struct omap_dss_device beagle_dvi_device = {
- 	.driver_name = "generic_dpi_panel",
- 	.data = &dvi_panel,
- 	.phy.dpi.data_lines = 24,
-+	.clocks = {
-+		.dispc = {
-+			.dispc_fclk_src = OMAP_DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC,
-+		},
-+	},
- 	.reset_gpio = -EINVAL,
- };
- 
--- 
-1.7.7.5
-
diff --git a/recipes-kernel/linux/linux-3.0/beagleboard/defconfig b/recipes-kernel/linux/linux-3.0/beagleboard/defconfig
deleted file mode 100644
index 5be7772..0000000
--- a/recipes-kernel/linux/linux-3.0/beagleboard/defconfig
+++ /dev/null
@@ -1,3604 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux/arm 3.0.22 Kernel Configuration
-#
-CONFIG_ARM=y
-CONFIG_HAVE_PWM=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_HAVE_SCHED_CLOCK=y
-CONFIG_GENERIC_GPIO=y
-# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_KTIME_SCALAR=y
-CONFIG_HAVE_PROC_CPU=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_ARCH_HAS_CPUFREQ=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_VECTORS_BASE=0xffff0000
-# CONFIG_ARM_PATCH_PHYS_VIRT is not set
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_IRQ_WORK=y
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_CROSS_COMPILE=""
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_LZO is not set
-CONFIG_DEFAULT_HOSTNAME="beagleboard"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-CONFIG_FHANDLE=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_CHIP=y
-# CONFIG_SPARSE_IRQ is not set
-
-#
-# RCU Subsystem
-#
-CONFIG_TINY_RCU=y
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_RCU_TRACE is not set
-# CONFIG_TREE_RCU_TRACE is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=16
-CONFIG_CGROUPS=y
-# CONFIG_CGROUP_DEBUG is not set
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
-CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
-CONFIG_CGROUP_PERF=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_BLK_CGROUP=y
-# CONFIG_DEBUG_BLK_CGROUP is not set
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_MM_OWNER=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_RD_GZIP=y
-CONFIG_RD_BZIP2=y
-CONFIG_RD_LZMA=y
-CONFIG_RD_XZ=y
-CONFIG_RD_LZO=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SYSCTL=y
-CONFIG_ANON_INODES=y
-CONFIG_EXPERT=y
-CONFIG_UID16=y
-# CONFIG_SYSCTL_SYSCALL is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_ALL is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_EMBEDDED=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_PERF_USE_VMALLOC=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# CONFIG_PERF_COUNTERS is not set
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_VM_EVENT_COUNTERS=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-CONFIG_PROFILING=y
-CONFIG_OPROFILE=m
-CONFIG_HAVE_OPROFILE=y
-# CONFIG_KPROBES is not set
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-
-#
-# GCOV-based kernel profiling
-#
-# CONFIG_GCOV_KERNEL is not set
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_SLABINFO=y
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_FORCE_LOAD=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_MODULE_FORCE_UNLOAD=y
-CONFIG_MODVERSIONS=y
-CONFIG_MODULE_SRCVERSION_ALL=y
-CONFIG_BLOCK=y
-CONFIG_LBDAF=y
-CONFIG_BLK_DEV_BSG=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_THROTTLING=y
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-CONFIG_CFQ_GROUP_IOSCHED=y
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-# CONFIG_INLINE_SPIN_TRYLOCK is not set
-# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK is not set
-# CONFIG_INLINE_SPIN_LOCK_BH is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
-# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
-CONFIG_INLINE_SPIN_UNLOCK=y
-# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
-CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
-# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_READ_TRYLOCK is not set
-# CONFIG_INLINE_READ_LOCK is not set
-# CONFIG_INLINE_READ_LOCK_BH is not set
-# CONFIG_INLINE_READ_LOCK_IRQ is not set
-# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
-CONFIG_INLINE_READ_UNLOCK=y
-# CONFIG_INLINE_READ_UNLOCK_BH is not set
-CONFIG_INLINE_READ_UNLOCK_IRQ=y
-# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
-# CONFIG_INLINE_WRITE_TRYLOCK is not set
-# CONFIG_INLINE_WRITE_LOCK is not set
-# CONFIG_INLINE_WRITE_LOCK_BH is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
-# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
-CONFIG_INLINE_WRITE_UNLOCK=y
-# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
-CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
-# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
-# CONFIG_MUTEX_SPIN_ON_OWNER is not set
-CONFIG_FREEZER=y
-
-#
-# System Type
-#
-CONFIG_MMU=y
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_AT91 is not set
-# CONFIG_ARCH_BCMRING is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CNS3XXX is not set
-# CONFIG_ARCH_GEMINI is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_EP93XX is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_MXS is not set
-# CONFIG_ARCH_NETX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_IOP13XX is not set
-# CONFIG_ARCH_IOP32X is not set
-# CONFIG_ARCH_IOP33X is not set
-# CONFIG_ARCH_IXP23XX is not set
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_IXP4XX is not set
-# CONFIG_ARCH_DOVE is not set
-# CONFIG_ARCH_KIRKWOOD is not set
-# CONFIG_ARCH_LOKI is not set
-# CONFIG_ARCH_LPC32XX is not set
-# CONFIG_ARCH_MV78XX0 is not set
-# CONFIG_ARCH_ORION5X is not set
-# CONFIG_ARCH_MMP is not set
-# CONFIG_ARCH_KS8695 is not set
-# CONFIG_ARCH_W90X900 is not set
-# CONFIG_ARCH_NUC93X is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_PNX4008 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_MSM is not set
-# CONFIG_ARCH_SHMOBILE is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_S3C64XX is not set
-# CONFIG_ARCH_S5P64X0 is not set
-# CONFIG_ARCH_S5PC100 is not set
-# CONFIG_ARCH_S5PV210 is not set
-# CONFIG_ARCH_EXYNOS4 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_TCC_926 is not set
-# CONFIG_ARCH_U300 is not set
-# CONFIG_ARCH_U8500 is not set
-# CONFIG_ARCH_NOMADIK is not set
-# CONFIG_ARCH_DAVINCI is not set
-CONFIG_ARCH_OMAP=y
-# CONFIG_PLAT_SPEAR is not set
-# CONFIG_ARCH_VT8500 is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-
-#
-# TI OMAP Common Features
-#
-CONFIG_ARCH_OMAP_OTG=y
-# CONFIG_ARCH_OMAP1 is not set
-CONFIG_ARCH_OMAP2PLUS=y
-
-#
-# OMAP Feature Selections
-#
-CONFIG_OMAP_SMARTREFLEX=y
-CONFIG_OMAP_SMARTREFLEX_CLASS3=y
-CONFIG_OMAP_RESET_CLOCKS=y
-CONFIG_OMAP_MUX=y
-CONFIG_OMAP_MUX_DEBUG=y
-CONFIG_OMAP_MUX_WARNINGS=y
-CONFIG_OMAP_MCBSP=y
-CONFIG_OMAP_MBOX_FWK=m
-CONFIG_OMAP_MBOX_KFIFO_SIZE=256
-CONFIG_OMAP_IOMMU=y
-CONFIG_OMAP_IOMMU_DEBUG=m
-CONFIG_OMAP_32K_TIMER=y
-# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set
-CONFIG_OMAP_32K_TIMER_HZ=128
-CONFIG_OMAP_DM_TIMER=y
-CONFIG_OMAP_PM_NOOP=y
-
-#
-# TI OMAP2/3/4 Specific Features
-#
-CONFIG_ARCH_OMAP2PLUS_TYPICAL=y
-# CONFIG_ARCH_OMAP2 is not set
-CONFIG_ARCH_OMAP3=y
-# CONFIG_ARCH_OMAP4 is not set
-CONFIG_SOC_OMAP3430=y
-# CONFIG_SOC_OMAPTI816X is not set
-CONFIG_OMAP_PACKAGE_CBB=y
-
-#
-# OMAP Board Type
-#
-CONFIG_MACH_OMAP3_BEAGLE=y
-# CONFIG_MACH_DEVKIT8000 is not set
-# CONFIG_MACH_OMAP_LDP is not set
-# CONFIG_MACH_OMAP3530_LV_SOM is not set
-# CONFIG_MACH_OMAP3_TORPEDO is not set
-CONFIG_MACH_OVERO=y
-CONFIG_MACH_OMAP3EVM=y
-# CONFIG_MACH_OMAP3517EVM is not set
-# CONFIG_MACH_CRANEBOARD is not set
-# CONFIG_MACH_OMAP3_PANDORA is not set
-CONFIG_MACH_OMAP3_TOUCHBOOK=y
-# CONFIG_MACH_OMAP_3430SDP is not set
-# CONFIG_MACH_NOKIA_RM680 is not set
-# CONFIG_MACH_NOKIA_RX51 is not set
-CONFIG_MACH_OMAP_ZOOM2=y
-# CONFIG_MACH_OMAP_ZOOM3 is not set
-# CONFIG_MACH_CM_T35 is not set
-# CONFIG_MACH_CM_T3517 is not set
-# CONFIG_MACH_IGEP0020 is not set
-# CONFIG_MACH_IGEP0030 is not set
-# CONFIG_MACH_SBC3530 is not set
-# CONFIG_MACH_OMAP_3630SDP is not set
-# CONFIG_OMAP3_EMU is not set
-# CONFIG_OMAP3_SDRC_AC_TIMING is not set
-
-#
-# System MMU
-#
-
-#
-# Processor Type
-#
-CONFIG_CPU_V7=y
-CONFIG_CPU_32v6K=y
-CONFIG_CPU_32v7=y
-CONFIG_CPU_ABRT_EV7=y
-CONFIG_CPU_PABRT_V7=y
-CONFIG_CPU_CACHE_V7=y
-CONFIG_CPU_CACHE_VIPT=y
-CONFIG_CPU_COPY_V6=y
-CONFIG_CPU_TLB_V7=y
-CONFIG_CPU_HAS_ASID=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_THUMBEE=y
-# CONFIG_SWP_EMULATE is not set
-# CONFIG_CPU_ICACHE_DISABLE is not set
-# CONFIG_CPU_DCACHE_DISABLE is not set
-# CONFIG_CPU_BPREDICT_DISABLE is not set
-CONFIG_ARM_L1_CACHE_SHIFT_6=y
-CONFIG_ARM_L1_CACHE_SHIFT=6
-CONFIG_ARM_DMA_MEM_BUFFERABLE=y
-CONFIG_ARM_ERRATA_430973=y
-# CONFIG_ARM_ERRATA_458693 is not set
-# CONFIG_ARM_ERRATA_460075 is not set
-# CONFIG_ARM_ERRATA_743622 is not set
-# CONFIG_ARM_ERRATA_754322 is not set
-
-#
-# Bus support
-#
-# CONFIG_PCI_SYSCALL is not set
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_VMSPLIT_3G=y
-# CONFIG_VMSPLIT_2G is not set
-# CONFIG_VMSPLIT_1G is not set
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PREEMPT_NONE=y
-# CONFIG_PREEMPT_VOLUNTARY is not set
-# CONFIG_PREEMPT is not set
-CONFIG_HZ=128
-# CONFIG_THUMB2_KERNEL is not set
-CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
-CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
-# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-CONFIG_HAVE_ARCH_PFN_VALID=y
-# CONFIG_HIGHMEM is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_COMPACTION=y
-CONFIG_MIGRATION=y
-# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=0
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_KSM is not set
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_NEED_PER_CPU_KM=y
-# CONFIG_CLEANCACHE is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_LEDS=y
-CONFIG_ALIGNMENT_TRAP=y
-# CONFIG_UACCESS_WITH_MEMCPY is not set
-# CONFIG_SECCOMP is not set
-# CONFIG_CC_STACKPROTECTOR is not set
-# CONFIG_DEPRECATED_PARAM_STRUCT is not set
-
-#
-# Boot options
-#
-# CONFIG_USE_OF is not set
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=" debug "
-CONFIG_CMDLINE_FROM_BOOTLOADER=y
-# CONFIG_CMDLINE_EXTEND is not set
-# CONFIG_CMDLINE_FORCE is not set
-# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
-# CONFIG_CRASH_DUMP is not set
-CONFIG_AUTO_ZRELADDR=y
-
-#
-# CPU Power Management
-#
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_VFP=y
-CONFIG_VFPv3=y
-CONFIG_NEON=y
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_HAVE_AOUT=y
-CONFIG_BINFMT_AOUT=m
-CONFIG_BINFMT_MISC=y
-
-#
-# Power management options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_PM_SLEEP=y
-CONFIG_PM_RUNTIME=y
-CONFIG_PM=y
-CONFIG_PM_DEBUG=y
-# CONFIG_PM_ADVANCED_DEBUG is not set
-# CONFIG_PM_TEST_SUSPEND is not set
-CONFIG_CAN_PM_TRACE=y
-# CONFIG_APM_EMULATION is not set
-CONFIG_ARCH_HAS_OPP=y
-CONFIG_PM_OPP=y
-CONFIG_PM_RUNTIME_CLK=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_XFRM_SUB_POLICY is not set
-# CONFIG_XFRM_MIGRATE is not set
-# CONFIG_XFRM_STATISTICS is not set
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=y
-# CONFIG_NET_KEY_MIGRATE is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_ROUTE_CLASSID=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IPGRE=m
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
-CONFIG_INET_XFRM_MODE_BEET=y
-CONFIG_INET_LRO=y
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BIC=m
-CONFIG_TCP_CONG_CUBIC=y
-CONFIG_TCP_CONG_WESTWOOD=m
-CONFIG_TCP_CONG_HTCP=m
-CONFIG_TCP_CONG_HSTCP=m
-CONFIG_TCP_CONG_HYBLA=m
-CONFIG_TCP_CONG_VEGAS=m
-CONFIG_TCP_CONG_SCALABLE=m
-CONFIG_TCP_CONG_LP=m
-CONFIG_TCP_CONG_VENO=m
-CONFIG_TCP_CONG_YEAH=m
-CONFIG_TCP_CONG_ILLINOIS=m
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-# CONFIG_TCP_MD5SIG is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_IPV6_OPTIMISTIC_DAD is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-# CONFIG_IPV6_SIT_6RD is not set
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-# CONFIG_IPV6_PIMSM_V2 is not set
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CT_PROTO_DCCP=m
-CONFIG_NF_CT_PROTO_GRE=m
-CONFIG_NF_CT_PROTO_SCTP=m
-CONFIG_NF_CT_PROTO_UDPLITE=m
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-# CONFIG_NETFILTER_TPROXY is not set
-CONFIG_NETFILTER_XTABLES=m
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-# CONFIG_NETFILTER_XT_MATCH_OSF is not set
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-# CONFIG_IP_SET_BITMAP_IP is not set
-# CONFIG_IP_SET_BITMAP_IPMAC is not set
-# CONFIG_IP_SET_BITMAP_PORT is not set
-# CONFIG_IP_SET_HASH_IP is not set
-# CONFIG_IP_SET_HASH_IPPORT is not set
-# CONFIG_IP_SET_HASH_IPPORTIP is not set
-# CONFIG_IP_SET_HASH_IPPORTNET is not set
-# CONFIG_IP_SET_HASH_NET is not set
-# CONFIG_IP_SET_HASH_NETPORT is not set
-# CONFIG_IP_SET_LIST_SET is not set
-CONFIG_IP_VS=m
-CONFIG_IP_VS_IPV6=y
-CONFIG_IP_VS_DEBUG=y
-CONFIG_IP_VS_TAB_BITS=12
-
-#
-# IPVS transport protocol load balancing support
-#
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_AH_ESP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-# CONFIG_IP_VS_PROTO_SCTP is not set
-
-#
-# IPVS scheduler
-#
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-
-#
-# IPVS application helper
-#
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_NFCT=y
-CONFIG_IP_VS_PE_SIP=m
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_NF_CONNTRACK_PROC_COMPAT=y
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PROTO_DCCP=m
-CONFIG_NF_NAT_PROTO_GRE=m
-CONFIG_NF_NAT_PROTO_UDPLITE=m
-CONFIG_NF_NAT_PROTO_SCTP=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_CONNTRACK_IPV6=m
-CONFIG_IP6_NF_QUEUE=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_TARGET_LOG=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-
-#
-# DCCP Kernel Hacking
-#
-# CONFIG_IP_DCCP_DEBUG is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_MSG is not set
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_HMAC_NONE is not set
-# CONFIG_SCTP_HMAC_SHA1 is not set
-CONFIG_SCTP_HMAC_MD5=y
-# CONFIG_RDS is not set
-CONFIG_TIPC=m
-# CONFIG_TIPC_ADVANCED is not set
-# CONFIG_TIPC_DEBUG is not set
-CONFIG_ATM=m
-CONFIG_ATM_CLIP=m
-# CONFIG_ATM_CLIP_NO_ICMP is not set
-CONFIG_ATM_LANE=m
-CONFIG_ATM_MPOA=m
-CONFIG_ATM_BR2684=m
-# CONFIG_ATM_BR2684_IPFILTER is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_DEBUGFS=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_ECONET is not set
-CONFIG_WAN_ROUTER=m
-# CONFIG_PHONET is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_ATM=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-# CONFIG_NET_SCH_SFB is not set
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-# CONFIG_NET_SCH_QFQ is not set
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_PERF=y
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=m
-# CONFIG_NET_EMATCH is not set
-# CONFIG_NET_CLS_ACT is not set
-CONFIG_NET_CLS_IND=y
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=y
-# CONFIG_BATMAN_ADV is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-# CONFIG_CAN_DEV is not set
-# CONFIG_CAN_DEBUG_DEVICES is not set
-CONFIG_IRDA=m
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRNET=m
-CONFIG_IRCOMM=m
-CONFIG_IRDA_ULTRA=y
-
-#
-# IrDA options
-#
-CONFIG_IRDA_CACHE_LAST_LSAP=y
-CONFIG_IRDA_FAST_RR=y
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-CONFIG_DONGLE=y
-CONFIG_ESI_DONGLE=m
-CONFIG_ACTISYS_DONGLE=m
-CONFIG_TEKRAM_DONGLE=m
-CONFIG_TOIM3232_DONGLE=m
-CONFIG_LITELINK_DONGLE=m
-CONFIG_MA600_DONGLE=m
-CONFIG_GIRBIL_DONGLE=m
-CONFIG_MCP2120_DONGLE=m
-CONFIG_OLD_BELKIN_DONGLE=m
-# CONFIG_ACT200L_DONGLE is not set
-CONFIG_KINGSUN_DONGLE=m
-CONFIG_KSDAZZLE_DONGLE=m
-CONFIG_KS959_DONGLE=m
-
-#
-# FIR device drivers
-#
-CONFIG_USB_IRDA=m
-CONFIG_SIGMATEL_FIR=m
-CONFIG_MCS_FIR=m
-CONFIG_BT=y
-CONFIG_BT_L2CAP=y
-CONFIG_BT_SCO=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIBTUSB=y
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_BT_MRVL=m
-# CONFIG_BT_MRVL_SDIO is not set
-CONFIG_BT_ATH3K=m
-CONFIG_BT_WILINK=m
-CONFIG_AF_RXRPC=m
-# CONFIG_AF_RXRPC_DEBUG is not set
-# CONFIG_RXKAD is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-CONFIG_NL80211_TESTMODE=y
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-# CONFIG_CFG80211_REG_DEBUG is not set
-CONFIG_CFG80211_DEFAULT_PS=y
-# CONFIG_CFG80211_DEBUGFS is not set
-# CONFIG_CFG80211_INTERNAL_REGDB is not set
-CONFIG_CFG80211_WEXT=y
-CONFIG_WIRELESS_EXT_SYSFS=y
-CONFIG_LIB80211=y
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_PID=y
-# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_MAC80211_RC_DEFAULT_PID=y
-CONFIG_MAC80211_RC_DEFAULT="pid"
-# CONFIG_MAC80211_MESH is not set
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_DEBUGFS is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
-CONFIG_RFKILL=y
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-# CONFIG_RFKILL_REGULATOR is not set
-# CONFIG_RFKILL_GPIO is not set
-CONFIG_NET_9P=m
-# CONFIG_NET_9P_DEBUG is not set
-# CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER_PATH=""
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=y
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_DEBUG_DRIVER is not set
-# CONFIG_DEBUG_DEVRES is not set
-# CONFIG_SYS_HYPERVISOR is not set
-# CONFIG_CONNECTOR is not set
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-# CONFIG_MTD_TESTS is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-# CONFIG_MTD_AR7_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-# CONFIG_SSFDC is not set
-CONFIG_SM_FTL=m
-# CONFIG_MTD_OOPS is not set
-CONFIG_MTD_SWAP=m
-
-#
-# RAM/ROM/Flash chip drivers
-#
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SST25L is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND_ECC=y
-# CONFIG_MTD_NAND_ECC_SMC is not set
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_BCH is not set
-# CONFIG_MTD_SM_COMMON is not set
-# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-# CONFIG_MTD_NAND_GPIO is not set
-CONFIG_MTD_NAND_OMAP2=y
-CONFIG_MTD_NAND_IDS=y
-# CONFIG_MTD_NAND_DISKONCHIP is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-CONFIG_MTD_NAND_PLATFORM=y
-# CONFIG_MTD_ALAUDA is not set
-# CONFIG_MTD_ONENAND is not set
-
-#
-# LPDDR flash memory drivers
-#
-# CONFIG_MTD_LPDDR is not set
-CONFIG_MTD_UBI=y
-CONFIG_MTD_UBI_WL_THRESHOLD=4096
-CONFIG_MTD_UBI_BEB_RESERVE=1
-# CONFIG_MTD_UBI_GLUEBI is not set
-# CONFIG_MTD_UBI_DEBUG is not set
-# CONFIG_PARPORT is not set
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-
-#
-# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
-#
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=16384
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-# CONFIG_ATA_OVER_ETH is not set
-# CONFIG_MG_DISK is not set
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_SENSORS_LIS3LV02D is not set
-CONFIG_MISC_DEVICES=y
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_INTEL_MID_PTI is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-CONFIG_SENSORS_BH1780=m
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-CONFIG_HMC6352=m
-# CONFIG_DS1682 is not set
-# CONFIG_TI_DAC7512 is not set
-CONFIG_BMP085=m
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-CONFIG_EEPROM_AT24=m
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-CONFIG_EEPROM_93CX6=y
-CONFIG_IWMC3200TOP=m
-# CONFIG_IWMC3200TOP_DEBUG is not set
-# CONFIG_IWMC3200TOP_DEBUGFS is not set
-
-#
-# Texas Instruments shared transport line discipline
-#
-CONFIG_TI_ST=m
-# CONFIG_SENSORS_LIS3_SPI is not set
-# CONFIG_SENSORS_LIS3_I2C is not set
-CONFIG_HAVE_IDE=y
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-CONFIG_RAID_ATTRS=m
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-# CONFIG_SCSI_TGT is not set
-# CONFIG_SCSI_NETLINK is not set
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-CONFIG_BLK_DEV_SR_VENDOR=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=m
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_SCSI_SCAN_ASYNC is not set
-CONFIG_SCSI_WAIT_SCAN=m
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-CONFIG_SCSI_ISCSI_ATTRS=m
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-CONFIG_SCSI_LOWLEVEL=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-# CONFIG_LIBFC is not set
-# CONFIG_LIBFCOE is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_DH is not set
-# CONFIG_SCSI_OSD_INITIATOR is not set
-# CONFIG_ATA is not set
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID456=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_RAID=m
-# CONFIG_DM_LOG_USERSPACE is not set
-CONFIG_DM_ZERO=m
-CONFIG_DM_MULTIPATH=m
-# CONFIG_DM_MULTIPATH_QL is not set
-# CONFIG_DM_MULTIPATH_ST is not set
-CONFIG_DM_DELAY=m
-# CONFIG_DM_UEVENT is not set
-CONFIG_DM_FLAKEY=m
-CONFIG_TARGET_CORE=m
-CONFIG_TCM_IBLOCK=m
-CONFIG_TCM_FILEIO=m
-CONFIG_TCM_PSCSI=m
-CONFIG_LOOPBACK_TARGET=m
-# CONFIG_LOOPBACK_TARGET_CDB_DEBUG is not set
-CONFIG_NETDEVICES=y
-CONFIG_DUMMY=m
-CONFIG_BONDING=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_EQUALIZER=m
-CONFIG_TUN=m
-CONFIG_VETH=m
-CONFIG_MII=y
-CONFIG_PHYLIB=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_QSEMI_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_SMSC_PHY is not set
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_REALTEK_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_STE10XP is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-CONFIG_MICREL_PHY=m
-# CONFIG_FIXED_PHY is not set
-# CONFIG_MDIO_BITBANG is not set
-CONFIG_NET_ETHERNET=y
-# CONFIG_AX88796 is not set
-CONFIG_SMC91X=y
-# CONFIG_TI_DAVINCI_EMAC is not set
-CONFIG_TI_DAVINCI_MDIO=m
-CONFIG_TI_DAVINCI_CPDMA=m
-# CONFIG_DM9000 is not set
-CONFIG_ENC28J60=y
-# CONFIG_ENC28J60_WRITEVERIFY is not set
-# CONFIG_ETHOC is not set
-CONFIG_SMC911X=y
-CONFIG_SMSC911X=y
-# CONFIG_SMSC911X_ARCH_HOOKS is not set
-# CONFIG_DNET is not set
-# CONFIG_IBM_NEW_EMAC_ZMII is not set
-# CONFIG_IBM_NEW_EMAC_RGMII is not set
-# CONFIG_IBM_NEW_EMAC_TAH is not set
-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-# CONFIG_B44 is not set
-CONFIG_KS8851=y
-# CONFIG_KS8851_MLL is not set
-# CONFIG_FTMAC100 is not set
-# CONFIG_NETDEV_1000 is not set
-# CONFIG_NETDEV_10000 is not set
-CONFIG_WLAN=y
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_AT76C50X_USB=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-# CONFIG_MAC80211_HWSIM is not set
-CONFIG_ATH_COMMON=m
-# CONFIG_ATH_DEBUG is not set
-# CONFIG_ATH9K is not set
-# CONFIG_ATH9K_HTC is not set
-CONFIG_CARL9170=m
-CONFIG_CARL9170_LEDS=y
-CONFIG_CARL9170_WPC=y
-CONFIG_B43=m
-CONFIG_B43_SDIO=y
-CONFIG_B43_PIO=y
-CONFIG_B43_PHY_N=y
-CONFIG_B43_PHY_LP=y
-CONFIG_B43_LEDS=y
-CONFIG_B43_HWRNG=y
-# CONFIG_B43_DEBUG is not set
-# CONFIG_B43LEGACY is not set
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-# CONFIG_IWM is not set
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_SDIO=m
-# CONFIG_LIBERTAS_SPI is not set
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_MESH is not set
-CONFIG_P54_COMMON=m
-CONFIG_P54_USB=m
-# CONFIG_P54_SPI is not set
-CONFIG_P54_LEDS=y
-CONFIG_RT2X00=m
-CONFIG_RT2500USB=m
-CONFIG_RT73USB=m
-CONFIG_RT2800USB=m
-CONFIG_RT2800USB_RT33XX=y
-CONFIG_RT2800USB_RT35XX=y
-CONFIG_RT2800USB_RT53XX=y
-CONFIG_RT2800USB_UNKNOWN=y
-CONFIG_RT2800_LIB=m
-CONFIG_RT2X00_LIB_USB=m
-CONFIG_RT2X00_LIB=m
-CONFIG_RT2X00_LIB_FIRMWARE=y
-CONFIG_RT2X00_LIB_CRYPTO=y
-CONFIG_RT2X00_LIB_LEDS=y
-# CONFIG_RT2X00_DEBUG is not set
-CONFIG_RTL8192SE=m
-CONFIG_RTL8192CU=m
-CONFIG_RTLWIFI=m
-CONFIG_RTL8192C_COMMON=m
-CONFIG_WL1251=m
-CONFIG_WL1251_SPI=m
-CONFIG_WL1251_SDIO=m
-CONFIG_WL12XX_MENU=m
-CONFIG_WL12XX=m
-CONFIG_WL12XX_HT=y
-CONFIG_WL12XX_SPI=m
-CONFIG_WL12XX_SDIO=m
-# CONFIG_WL12XX_SDIO_TEST is not set
-CONFIG_WL12XX_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-# CONFIG_ZD1211RW_DEBUG is not set
-# CONFIG_MWIFIEX is not set
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_SDIO=m
-CONFIG_WIMAX_IWMC3200_SDIO=y
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=y
-CONFIG_USB_KAWETH=y
-CONFIG_USB_PEGASUS=y
-CONFIG_USB_RTL8150=y
-CONFIG_USB_USBNET=y
-CONFIG_USB_NET_AX8817X=y
-CONFIG_USB_NET_CDCETHER=y
-# CONFIG_USB_NET_CDC_EEM is not set
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_DM9601=y
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=y
-CONFIG_USB_NET_GL620A=y
-CONFIG_USB_NET_NET1080=y
-CONFIG_USB_NET_PLUSB=y
-CONFIG_USB_NET_MCS7830=y
-CONFIG_USB_NET_RNDIS_HOST=y
-CONFIG_USB_NET_CDC_SUBSET=y
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=y
-CONFIG_USB_NET_CX82310_ETH=m
-# CONFIG_USB_NET_KALMIA is not set
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-# CONFIG_WAN is not set
-CONFIG_ATM_DRIVERS=y
-# CONFIG_ATM_DUMMY is not set
-# CONFIG_ATM_TCP is not set
-
-#
-# CAIF transport drivers
-#
-CONFIG_PPP=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_MPPE=m
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-# CONFIG_PPPOATM is not set
-CONFIG_PPPOL2TP=m
-# CONFIG_SLIP is not set
-CONFIG_SLHC=m
-CONFIG_NETCONSOLE=m
-CONFIG_NETCONSOLE_DYNAMIC=y
-CONFIG_NETPOLL=y
-CONFIG_NETPOLL_TRAP=y
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_ISDN is not set
-# CONFIG_PHONE is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_FF_MEMLESS=y
-CONFIG_INPUT_POLLDEV=y
-# CONFIG_INPUT_SPARSEKMAP is not set
-
-#
-# Userland interfaces
-#
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
-# CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-CONFIG_KEYBOARD_QT1070=m
-CONFIG_KEYBOARD_QT2160=m
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=y
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-CONFIG_KEYBOARD_MCS=m
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_TWL4030 is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
-CONFIG_MOUSE_PS2_ALPS=y
-CONFIG_MOUSE_PS2_LOGIPS2PP=y
-CONFIG_MOUSE_PS2_SYNAPTICS=y
-CONFIG_MOUSE_PS2_TRACKPOINT=y
-# CONFIG_MOUSE_PS2_ELANTECH is not set
-# CONFIG_MOUSE_PS2_SENTELIC is not set
-# CONFIG_MOUSE_PS2_TOUCHKIT is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_GPIO is not set
-# CONFIG_MOUSE_SYNAPTICS_I2C is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-CONFIG_TOUCHSCREEN_TSC2007=y
-# CONFIG_TOUCHSCREEN_W90X900 is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_AD714X=m
-CONFIG_INPUT_AD714X_I2C=m
-CONFIG_INPUT_AD714X_SPI=m
-# CONFIG_INPUT_ATI_REMOTE is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_CM109 is not set
-CONFIG_INPUT_TWL4030_PWRBUTTON=y
-CONFIG_INPUT_TWL4030_VIBRA=m
-CONFIG_INPUT_UINPUT=y
-CONFIG_INPUT_PCF8574=m
-CONFIG_INPUT_PWM_BEEPER=m
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-CONFIG_INPUT_ADXL34X=m
-CONFIG_INPUT_ADXL34X_I2C=m
-CONFIG_INPUT_ADXL34X_SPI=m
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_RAW is not set
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
-# CONFIG_LEGACY_PTYS is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_N_GSM=m
-# CONFIG_TRACE_SINK is not set
-CONFIG_DEVKMEM=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DETECT_IRQ=y
-CONFIG_SERIAL_8250_RSA=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX3107 is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_SERIAL_OMAP=y
-CONFIG_SERIAL_OMAP_CONSOLE=y
-# CONFIG_SERIAL_TIMBERDALE is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-CONFIG_SERIAL_IFX6X60=m
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-CONFIG_TTY_PRINTK=y
-# CONFIG_HVC_DCC is not set
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_HW_RANDOM_TIMERIOMEM is not set
-# CONFIG_R3964 is not set
-# CONFIG_RAW_DRIVER is not set
-# CONFIG_TCG_TPM is not set
-# CONFIG_RAMOOPS is not set
-CONFIG_I2C=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX=m
-
-#
-# Multiplexer I2C Chip support
-#
-CONFIG_I2C_MUX_GPIO=m
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_ALGOBIT=m
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_DESIGNWARE is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_OCORES is not set
-CONFIG_I2C_OMAP=y
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_PXA_PCI is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-CONFIG_I2C_DIOLAN_U2C=m
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_TAOS_EVM is not set
-# CONFIG_I2C_TINY_USB is not set
-
-#
-# Other I2C/SMBus bus drivers
-#
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-CONFIG_SPI=y
-# CONFIG_SPI_DEBUG is not set
-CONFIG_SPI_MASTER=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_GPIO is not set
-# CONFIG_SPI_OC_TINY is not set
-CONFIG_SPI_OMAP24XX=y
-# CONFIG_SPI_PXA2XX_PCI is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_DESIGNWARE is not set
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_SPIDEV=y
-# CONFIG_SPI_TLE62X0 is not set
-
-#
-# PPS support
-#
-# CONFIG_PPS is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-
-#
-# Enable Device Drivers -> PPS to see the PTP clock options.
-#
-CONFIG_ARCH_REQUIRE_GPIOLIB=y
-CONFIG_GPIOLIB=y
-# CONFIG_DEBUG_GPIO is not set
-CONFIG_GPIO_SYSFS=y
-CONFIG_GPIO_MAX730X=m
-
-#
-# Memory mapped GPIO drivers:
-#
-# CONFIG_GPIO_BASIC_MMIO is not set
-# CONFIG_GPIO_IT8761E is not set
-
-#
-# I2C GPIO expanders:
-#
-CONFIG_GPIO_MAX7300=m
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_SX150X is not set
-CONFIG_GPIO_TWL4030=y
-CONFIG_GPIO_ADP5588=m
-
-#
-# PCI GPIO expanders:
-#
-
-#
-# SPI GPIO expanders:
-#
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MCP23S08 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_74X164 is not set
-
-#
-# AC97 GPIO expanders:
-#
-
-#
-# MODULbus GPIO expanders:
-#
-# CONFIG_W1 is not set
-CONFIG_POWER_SUPPLY=m
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-CONFIG_TEST_POWER=m
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2782 is not set
-# CONFIG_BATTERY_BQ20Z75 is not set
-# CONFIG_BATTERY_BQ27x00 is not set
-# CONFIG_BATTERY_MAX17040 is not set
-CONFIG_BATTERY_MAX17042=m
-CONFIG_CHARGER_ISP1704=m
-# CONFIG_CHARGER_MAX8903 is not set
-CONFIG_CHARGER_TWL4030=m
-CONFIG_CHARGER_GPIO=m
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-CONFIG_SENSORS_ADT7411=m
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-CONFIG_SENSORS_ASC7621=m
-# CONFIG_SENSORS_ATXP1 is not set
-CONFIG_SENSORS_DS620=m
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-CONFIG_SENSORS_GPIO_FAN=m
-# CONFIG_SENSORS_IT87 is not set
-CONFIG_SENSORS_JC42=m
-# CONFIG_SENSORS_LINEAGE is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_LTC4151 is not set
-# CONFIG_SENSORS_LTC4215 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_LM95241 is not set
-# CONFIG_SENSORS_MAX1111 is not set
-# CONFIG_SENSORS_MAX16065 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX6639 is not set
-# CONFIG_SENSORS_MAX6642 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_PMBUS is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-CONFIG_SENSORS_SMM665=m
-# CONFIG_SENSORS_DME1737 is not set
-CONFIG_SENSORS_EMC1403=m
-CONFIG_SENSORS_EMC2103=m
-# CONFIG_SENSORS_EMC6W201 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SCH5627 is not set
-# CONFIG_SENSORS_ADS1015 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-CONFIG_SENSORS_ADS7871=m
-CONFIG_SENSORS_AMC6821=m
-# CONFIG_SENSORS_THMC50 is not set
-CONFIG_SENSORS_TMP102=m
-# CONFIG_SENSORS_TMP401 is not set
-# CONFIG_SENSORS_TMP421 is not set
-CONFIG_SENSORS_TWL4030_MADC=m
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-CONFIG_THERMAL=y
-CONFIG_THERMAL_HWMON=y
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_OMAP_WATCHDOG=y
-# CONFIG_TWL4030_WATCHDOG is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-
-#
-# Sonics Silicon Backplane
-#
-CONFIG_SSB=y
-CONFIG_SSB_BLOCKIO=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_SILENT is not set
-# CONFIG_SSB_DEBUG is not set
-CONFIG_BCMA_POSSIBLE=y
-
-#
-# Broadcom specific AMBA
-#
-# CONFIG_BCMA is not set
-CONFIG_MFD_SUPPORT=y
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_ASIC3 is not set
-# CONFIG_HTC_EGPIO is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_HTC_I2CPLD is not set
-CONFIG_TPS6105X=m
-# CONFIG_TPS65010 is not set
-CONFIG_TPS6507X=m
-CONFIG_MFD_TPS6586X=y
-CONFIG_TWL4030_CORE=y
-CONFIG_TWL4030_MADC=m
-CONFIG_TWL4030_POWER=y
-CONFIG_TWL4030_CODEC=y
-CONFIG_TWL6030_PWM=m
-# CONFIG_MFD_STMPE is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TMIO is not set
-# CONFIG_MFD_T7L66XB is not set
-# CONFIG_MFD_TC6387XB is not set
-# CONFIG_MFD_TC6393XB is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_MC13XXX is not set
-# CONFIG_ABX500_CORE is not set
-# CONFIG_EZX_PCAP is not set
-CONFIG_MFD_WL1273_CORE=m
-CONFIG_MFD_OMAP_USB_HOST=y
-# CONFIG_MFD_TPS65910 is not set
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-CONFIG_REGULATOR_DUMMY=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_BQ24022 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-CONFIG_REGULATOR_TWL4030=y
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-CONFIG_REGULATOR_TPS6105X=m
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_AD5398 is not set
-CONFIG_REGULATOR_TPS6586X=m
-CONFIG_REGULATOR_TPS6524X=m
-CONFIG_MEDIA_SUPPORT=y
-
-#
-# Multimedia core support
-#
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_DEV=y
-CONFIG_VIDEO_V4L2_COMMON=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_DVB_CORE=m
-CONFIG_VIDEO_MEDIA=m
-
-#
-# Multimedia drivers
-#
-CONFIG_RC_CORE=m
-CONFIG_LIRC=m
-CONFIG_RC_MAP=m
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_RC5_SZ_DECODER=m
-CONFIG_IR_LIRC_CODEC=m
-# CONFIG_IR_IMON is not set
-# CONFIG_IR_MCEUSB is not set
-# CONFIG_IR_REDRAT3 is not set
-# CONFIG_IR_STREAMZAP is not set
-CONFIG_RC_LOOPBACK=m
-CONFIG_MEDIA_ATTACH=y
-CONFIG_MEDIA_TUNER=m
-CONFIG_MEDIA_TUNER_CUSTOMISE=y
-
-#
-# Customize TV tuners
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_TEA5761=m
-CONFIG_MEDIA_TUNER_TEA5767=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_MT2060=m
-CONFIG_MEDIA_TUNER_MT2266=m
-CONFIG_MEDIA_TUNER_MT2131=m
-CONFIG_MEDIA_TUNER_QT1010=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_MXL5005S=m
-CONFIG_MEDIA_TUNER_MXL5007T=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-CONFIG_MEDIA_TUNER_MAX2165=m
-CONFIG_MEDIA_TUNER_TDA18218=m
-CONFIG_MEDIA_TUNER_TDA18212=m
-CONFIG_VIDEO_V4L2=y
-CONFIG_VIDEOBUF_GEN=y
-CONFIG_VIDEOBUF_VMALLOC=m
-CONFIG_VIDEOBUF_DMA_CONTIG=y
-CONFIG_VIDEOBUF_DVB=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-CONFIG_VIDEO_CAPTURE_DRIVERS=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# Encoders, decoders, sensors and other helper chips
-#
-
-#
-# Audio decoders, processors and mixers
-#
-# CONFIG_VIDEO_TVAUDIO is not set
-# CONFIG_VIDEO_TDA7432 is not set
-# CONFIG_VIDEO_TDA9840 is not set
-# CONFIG_VIDEO_TEA6415C is not set
-# CONFIG_VIDEO_TEA6420 is not set
-CONFIG_VIDEO_MSP3400=m
-# CONFIG_VIDEO_CS5345 is not set
-CONFIG_VIDEO_CS53L32A=m
-# CONFIG_VIDEO_TLV320AIC23B is not set
-CONFIG_VIDEO_WM8775=m
-# CONFIG_VIDEO_WM8739 is not set
-# CONFIG_VIDEO_VP27SMPX is not set
-
-#
-# RDS decoders
-#
-# CONFIG_VIDEO_SAA6588 is not set
-
-#
-# Video decoders
-#
-CONFIG_VIDEO_ADV7180=m
-# CONFIG_VIDEO_BT819 is not set
-# CONFIG_VIDEO_BT856 is not set
-# CONFIG_VIDEO_BT866 is not set
-# CONFIG_VIDEO_KS0127 is not set
-# CONFIG_VIDEO_SAA7110 is not set
-CONFIG_VIDEO_SAA711X=m
-# CONFIG_VIDEO_SAA7191 is not set
-CONFIG_VIDEO_TVP514X=m
-CONFIG_VIDEO_TVP5150=m
-CONFIG_VIDEO_TVP7002=m
-# CONFIG_VIDEO_VPX3220 is not set
-
-#
-# Video and audio decoders
-#
-# CONFIG_VIDEO_SAA717X is not set
-CONFIG_VIDEO_CX25840=m
-
-#
-# MPEG video encoders
-#
-CONFIG_VIDEO_CX2341X=m
-
-#
-# Video encoders
-#
-# CONFIG_VIDEO_SAA7127 is not set
-# CONFIG_VIDEO_SAA7185 is not set
-# CONFIG_VIDEO_ADV7170 is not set
-# CONFIG_VIDEO_ADV7175 is not set
-# CONFIG_VIDEO_ADV7343 is not set
-# CONFIG_VIDEO_AK881X is not set
-
-#
-# Camera sensor devices
-#
-CONFIG_VIDEO_OV7670=m
-CONFIG_VIDEO_MT9V011=m
-CONFIG_VIDEO_MT9V032=y
-# CONFIG_VIDEO_TCM825X is not set
-
-#
-# Video improvement chips
-#
-# CONFIG_VIDEO_UPD64031A is not set
-# CONFIG_VIDEO_UPD64083 is not set
-
-#
-# Miscelaneous helper chips
-#
-# CONFIG_VIDEO_THS7303 is not set
-# CONFIG_VIDEO_M52790 is not set
-CONFIG_VIDEO_VIVI=m
-CONFIG_VIDEO_VPSS_SYSTEM=m
-CONFIG_VIDEO_VPFE_CAPTURE=y
-CONFIG_VIDEO_DM6446_CCDC=m
-CONFIG_VIDEO_OMAP2_VOUT=y
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_VIDEO_AU0828 is not set
-CONFIG_VIDEO_SR030PC30=m
-CONFIG_VIDEO_NOON010PC30=m
-# CONFIG_VIDEO_M5MOLS is not set
-CONFIG_VIDEO_OMAP3=y
-CONFIG_VIDEO_OMAP3_DEBUG=y
-# CONFIG_SOC_CAMERA is not set
-CONFIG_V4L_USB_DRIVERS=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-CONFIG_USB_GSPCA=m
-CONFIG_USB_M5602=m
-CONFIG_USB_STV06XX=m
-# CONFIG_USB_GL860 is not set
-CONFIG_USB_GSPCA_BENQ=m
-CONFIG_USB_GSPCA_CONEX=m
-CONFIG_USB_GSPCA_CPIA1=m
-CONFIG_USB_GSPCA_ETOMS=m
-CONFIG_USB_GSPCA_FINEPIX=m
-# CONFIG_USB_GSPCA_JEILINJ is not set
-# CONFIG_USB_GSPCA_KINECT is not set
-CONFIG_USB_GSPCA_KONICA=m
-CONFIG_USB_GSPCA_MARS=m
-# CONFIG_USB_GSPCA_MR97310A is not set
-CONFIG_USB_GSPCA_NW80X=m
-CONFIG_USB_GSPCA_OV519=m
-CONFIG_USB_GSPCA_OV534=m
-CONFIG_USB_GSPCA_OV534_9=m
-CONFIG_USB_GSPCA_PAC207=m
-# CONFIG_USB_GSPCA_PAC7302 is not set
-CONFIG_USB_GSPCA_PAC7311=m
-CONFIG_USB_GSPCA_SN9C2028=m
-# CONFIG_USB_GSPCA_SN9C20X is not set
-CONFIG_USB_GSPCA_SONIXB=m
-CONFIG_USB_GSPCA_SONIXJ=m
-CONFIG_USB_GSPCA_SPCA500=m
-CONFIG_USB_GSPCA_SPCA501=m
-CONFIG_USB_GSPCA_SPCA505=m
-CONFIG_USB_GSPCA_SPCA506=m
-CONFIG_USB_GSPCA_SPCA508=m
-CONFIG_USB_GSPCA_SPCA561=m
-CONFIG_USB_GSPCA_SPCA1528=m
-# CONFIG_USB_GSPCA_SQ905 is not set
-# CONFIG_USB_GSPCA_SQ905C is not set
-CONFIG_USB_GSPCA_SQ930X=m
-CONFIG_USB_GSPCA_STK014=m
-# CONFIG_USB_GSPCA_STV0680 is not set
-CONFIG_USB_GSPCA_SUNPLUS=m
-CONFIG_USB_GSPCA_T613=m
-CONFIG_USB_GSPCA_TV8532=m
-CONFIG_USB_GSPCA_VC032X=m
-CONFIG_USB_GSPCA_VICAM=m
-CONFIG_USB_GSPCA_XIRLINK_CIT=m
-CONFIG_USB_GSPCA_ZC3XX=m
-CONFIG_VIDEO_PVRUSB2=m
-CONFIG_VIDEO_PVRUSB2_SYSFS=y
-CONFIG_VIDEO_PVRUSB2_DVB=y
-# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
-CONFIG_VIDEO_HDPVR=m
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-CONFIG_VIDEO_EM28XX_DVB=m
-CONFIG_VIDEO_TLG2300=m
-CONFIG_VIDEO_CX231XX=m
-CONFIG_VIDEO_CX231XX_RC=y
-# CONFIG_VIDEO_CX231XX_ALSA is not set
-CONFIG_VIDEO_CX231XX_DVB=m
-CONFIG_VIDEO_USBVISION=m
-CONFIG_USB_ET61X251=m
-CONFIG_USB_SN9C102=m
-CONFIG_USB_PWC=m
-# CONFIG_USB_PWC_DEBUG is not set
-CONFIG_USB_PWC_INPUT_EVDEV=y
-CONFIG_USB_ZR364XX=m
-CONFIG_USB_STKWEBCAM=m
-CONFIG_USB_S2255=m
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEM2MEM_TESTDEV=m
-CONFIG_RADIO_ADAPTERS=y
-# CONFIG_I2C_SI4713 is not set
-# CONFIG_RADIO_SI4713 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_RADIO_SI470X is not set
-# CONFIG_USB_MR800 is not set
-# CONFIG_RADIO_TEA5764 is not set
-CONFIG_RADIO_SAA7706H=m
-# CONFIG_RADIO_TEF6862 is not set
-CONFIG_RADIO_WL1273=m
-
-#
-# Texas Instruments WL128x FM driver (ST based)
-#
-CONFIG_RADIO_WL128X=m
-CONFIG_DVB_MAX_ADAPTERS=8
-CONFIG_DVB_DYNAMIC_MINORS=y
-CONFIG_DVB_CAPTURE_DRIVERS=y
-# CONFIG_TTPCI_EEPROM is not set
-
-#
-# Supported USB Adapters
-#
-CONFIG_DVB_USB=m
-# CONFIG_DVB_USB_DEBUG is not set
-CONFIG_DVB_USB_A800=m
-CONFIG_DVB_USB_DIBUSB_MB=m
-# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
-CONFIG_DVB_USB_DIBUSB_MC=m
-CONFIG_DVB_USB_DIB0700=m
-CONFIG_DVB_USB_UMT_010=m
-CONFIG_DVB_USB_CXUSB=m
-CONFIG_DVB_USB_M920X=m
-CONFIG_DVB_USB_GL861=m
-CONFIG_DVB_USB_AU6610=m
-CONFIG_DVB_USB_DIGITV=m
-CONFIG_DVB_USB_VP7045=m
-CONFIG_DVB_USB_VP702X=m
-CONFIG_DVB_USB_GP8PSK=m
-CONFIG_DVB_USB_NOVA_T_USB2=m
-CONFIG_DVB_USB_TTUSB2=m
-CONFIG_DVB_USB_DTT200U=m
-CONFIG_DVB_USB_OPERA1=m
-CONFIG_DVB_USB_AF9005=m
-CONFIG_DVB_USB_AF9005_REMOTE=m
-CONFIG_DVB_USB_DW2102=m
-CONFIG_DVB_USB_CINERGY_T2=m
-CONFIG_DVB_USB_ANYSEE=m
-CONFIG_DVB_USB_DTV5100=m
-CONFIG_DVB_USB_AF9015=m
-# CONFIG_DVB_USB_CE6230 is not set
-# CONFIG_DVB_USB_FRIIO is not set
-# CONFIG_DVB_USB_EC168 is not set
-CONFIG_DVB_USB_AZ6027=m
-CONFIG_DVB_USB_LME2510=m
-CONFIG_DVB_USB_TECHNISAT_USB2=m
-# CONFIG_SMS_SIANO_MDTV is not set
-
-#
-# Supported FlexCopII (B2C2) Adapters
-#
-CONFIG_DVB_B2C2_FLEXCOP=m
-CONFIG_DVB_B2C2_FLEXCOP_USB=m
-# CONFIG_DVB_B2C2_FLEXCOP_DEBUG is not set
-
-#
-# Supported DVB Frontends
-#
-# CONFIG_DVB_FE_CUSTOMISE is not set
-
-#
-# Multistandard (satellite) frontends
-#
-CONFIG_DVB_STB0899=m
-CONFIG_DVB_STB6100=m
-CONFIG_DVB_STV090x=m
-CONFIG_DVB_STV6110x=m
-
-#
-# DVB-S (satellite) frontends
-#
-CONFIG_DVB_CX24123=m
-CONFIG_DVB_MT312=m
-CONFIG_DVB_ZL10039=m
-CONFIG_DVB_S5H1420=m
-CONFIG_DVB_STV0288=m
-CONFIG_DVB_STB6000=m
-CONFIG_DVB_STV0299=m
-CONFIG_DVB_STV6110=m
-CONFIG_DVB_STV0900=m
-CONFIG_DVB_TDA10086=m
-CONFIG_DVB_TUNER_ITD1000=m
-CONFIG_DVB_TUNER_CX24113=m
-CONFIG_DVB_TDA826X=m
-CONFIG_DVB_CX24116=m
-CONFIG_DVB_SI21XX=m
-CONFIG_DVB_DS3000=m
-
-#
-# DVB-T (terrestrial) frontends
-#
-CONFIG_DVB_CX22702=m
-CONFIG_DVB_DRXD=m
-CONFIG_DVB_TDA1004X=m
-CONFIG_DVB_NXT6000=m
-CONFIG_DVB_MT352=m
-CONFIG_DVB_ZL10353=m
-CONFIG_DVB_DIB3000MB=m
-CONFIG_DVB_DIB3000MC=m
-CONFIG_DVB_DIB7000M=m
-CONFIG_DVB_DIB7000P=m
-CONFIG_DVB_TDA10048=m
-CONFIG_DVB_AF9013=m
-CONFIG_DVB_CXD2820R=m
-
-#
-# DVB-C (cable) frontends
-#
-CONFIG_DVB_TDA10023=m
-CONFIG_DVB_STV0297=m
-
-#
-# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
-#
-CONFIG_DVB_NXT200X=m
-CONFIG_DVB_BCM3510=m
-CONFIG_DVB_LGDT330X=m
-CONFIG_DVB_LGDT3305=m
-CONFIG_DVB_S5H1409=m
-CONFIG_DVB_S5H1411=m
-
-#
-# ISDB-T (terrestrial) frontends
-#
-CONFIG_DVB_S921=m
-CONFIG_DVB_DIB8000=m
-CONFIG_DVB_MB86A20S=m
-
-#
-# Digital terrestrial only tuners/PLL
-#
-CONFIG_DVB_PLL=m
-CONFIG_DVB_TUNER_DIB0070=m
-CONFIG_DVB_TUNER_DIB0090=m
-
-#
-# SEC control devices for DVB-S
-#
-CONFIG_DVB_LNBP21=m
-CONFIG_DVB_ISL6421=m
-CONFIG_DVB_ISL6423=m
-CONFIG_DVB_LGS8GXX=m
-CONFIG_DVB_ATBM8830=m
-CONFIG_DVB_IX2505V=m
-
-#
-# Tools to develop new frontends
-#
-# CONFIG_DVB_DUMMY_FE is not set
-
-#
-# Graphics support
-#
-CONFIG_DRM=m
-# CONFIG_VGASTATE is not set
-# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-# CONFIG_FB_DDC is not set
-# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-CONFIG_FB_SYS_FILLRECT=m
-CONFIG_FB_SYS_COPYAREA=m
-CONFIG_FB_SYS_IMAGEBLIT=m
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=m
-# CONFIG_FB_WMT_GE_ROPS is not set
-CONFIG_FB_DEFERRED_IO=y
-# CONFIG_FB_SVGALIB is not set
-# CONFIG_FB_MACMODES is not set
-# CONFIG_FB_BACKLIGHT is not set
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_TMIO is not set
-CONFIG_FB_UDL=m
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_BROADSHEET is not set
-# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
-CONFIG_OMAP2_VRAM=y
-CONFIG_OMAP2_VRFB=y
-CONFIG_OMAP2_DSS=y
-CONFIG_OMAP2_VRAM_SIZE=14
-CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
-# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
-CONFIG_OMAP2_DSS_DPI=y
-# CONFIG_OMAP2_DSS_RFBI is not set
-CONFIG_OMAP2_DSS_VENC=y
-# CONFIG_OMAP2_DSS_SDI is not set
-CONFIG_OMAP2_DSS_DSI=y
-# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET=y
-CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
-CONFIG_FB_OMAP2=y
-CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
-CONFIG_FB_OMAP2_NUM_FBS=2
-
-#
-# OMAP2/3 Display Device Drivers
-#
-CONFIG_PANEL_GENERIC_DPI=y
-# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set
-CONFIG_PANEL_SHARP_LS037V7DW01=y
-CONFIG_PANEL_NEC_NL8048HL11_01B=y
-# CONFIG_PANEL_TAAL is not set
-CONFIG_PANEL_TPO_TD043MTEA1=m
-CONFIG_BACKLIGHT_LCD_SUPPORT=y
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-# CONFIG_LCD_PLATFORM is not set
-# CONFIG_LCD_S6E63M0 is not set
-# CONFIG_LCD_LD9040 is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-CONFIG_BACKLIGHT_GENERIC=y
-# CONFIG_BACKLIGHT_PWM is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-
-#
-# Display device support
-#
-CONFIG_DISPLAY_SUPPORT=y
-
-#
-# Display hardware drivers
-#
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FONTS is not set
-CONFIG_FONT_8x8=y
-CONFIG_FONT_8x16=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-CONFIG_SOUND=y
-CONFIG_SOUND_OSS_CORE=y
-CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_HWDEP=y
-CONFIG_SND_RAWMIDI=y
-CONFIG_SND_JACK=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
-CONFIG_SND_PCM_OSS_PLUGINS=y
-CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_SUPPORT_OLD_API=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_RAWMIDI_SEQ=m
-# CONFIG_SND_OPL3_LIB_SEQ is not set
-# CONFIG_SND_OPL4_LIB_SEQ is not set
-# CONFIG_SND_SBAWE_SEQ is not set
-# CONFIG_SND_EMU10K1_SEQ is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-CONFIG_SND_ALOOP=m
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-# CONFIG_SND_ARM is not set
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=y
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_CACHE_LZO=y
-CONFIG_SND_OMAP_SOC=y
-CONFIG_SND_OMAP_SOC_MCBSP=y
-CONFIG_SND_OMAP_SOC_OVERO=y
-CONFIG_SND_OMAP_SOC_OMAP3EVM=y
-CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE=y
-CONFIG_SND_OMAP_SOC_ZOOM2=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
-# CONFIG_SND_SOC_ALL_CODECS is not set
-CONFIG_SND_SOC_TWL4030=y
-# CONFIG_SOUND_PRIME is not set
-CONFIG_HID_SUPPORT=y
-CONFIG_HID=y
-# CONFIG_HIDRAW is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=y
-# CONFIG_HID_PID is not set
-# CONFIG_USB_HIDDEV is not set
-
-#
-# Special HID drivers
-#
-CONFIG_HID_A4TECH=y
-CONFIG_HID_ACRUX=m
-# CONFIG_HID_ACRUX_FF is not set
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-# CONFIG_HID_PRODIKEYS is not set
-CONFIG_HID_CYPRESS=y
-# CONFIG_HID_DRAGONRISE is not set
-CONFIG_HID_EMS_FF=m
-# CONFIG_HID_ELECOM is not set
-CONFIG_HID_EZKEY=y
-CONFIG_HID_KEYTOUCH=m
-# CONFIG_HID_KYE is not set
-CONFIG_HID_UCLOGIC=m
-CONFIG_HID_WALTOP=m
-CONFIG_HID_GYRATION=y
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-CONFIG_HID_LCPOWER=m
-CONFIG_HID_LOGITECH=y
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWII_FF is not set
-CONFIG_HID_MAGICMOUSE=m
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_MULTITOUCH=m
-CONFIG_HID_NTRIG=y
-# CONFIG_HID_ORTEK is not set
-CONFIG_HID_PANTHERLORD=y
-# CONFIG_PANTHERLORD_FF is not set
-CONFIG_HID_PETALYNX=y
-CONFIG_HID_PICOLCD=m
-CONFIG_HID_PICOLCD_FB=y
-CONFIG_HID_PICOLCD_BACKLIGHT=y
-# CONFIG_HID_PICOLCD_LCD is not set
-CONFIG_HID_PICOLCD_LEDS=y
-CONFIG_HID_QUANTA=m
-CONFIG_HID_ROCCAT=m
-CONFIG_HID_ROCCAT_COMMON=m
-CONFIG_HID_ROCCAT_ARVO=m
-CONFIG_HID_ROCCAT_KONE=m
-CONFIG_HID_ROCCAT_KONEPLUS=m
-CONFIG_HID_ROCCAT_KOVAPLUS=m
-# CONFIG_HID_ROCCAT_PYRA is not set
-CONFIG_HID_SAMSUNG=y
-CONFIG_HID_SONY=y
-CONFIG_HID_SUNPLUS=y
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-CONFIG_HID_TOPSEED=y
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB_ARCH_HAS_EHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-CONFIG_USB_DEVICE_CLASS=y
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_SUSPEND=y
-CONFIG_USB_OTG=y
-# CONFIG_USB_OTG_WHITELIST is not set
-# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-CONFIG_USB_MON=y
-# CONFIG_USB_WUSB is not set
-# CONFIG_USB_WUSB_CBAF is not set
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_HCD_OMAP=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_ISP1760_HCD is not set
-# CONFIG_USB_ISP1362_HCD is not set
-# CONFIG_USB_OHCI_HCD is not set
-# CONFIG_USB_U132_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HWA_HCD is not set
-CONFIG_USB_MUSB_HDRC=y
-# CONFIG_USB_MUSB_TUSB6010 is not set
-CONFIG_USB_MUSB_OMAP2PLUS=y
-# CONFIG_USB_MUSB_AM35X is not set
-# CONFIG_USB_MUSB_HOST is not set
-# CONFIG_USB_MUSB_PERIPHERAL is not set
-CONFIG_USB_MUSB_OTG=y
-CONFIG_USB_GADGET_MUSB_HDRC=y
-CONFIG_USB_MUSB_HDRC_HCD=y
-# CONFIG_MUSB_PIO_ONLY is not set
-# CONFIG_USB_UX500_DMA is not set
-CONFIG_USB_INVENTRA_DMA=y
-# CONFIG_USB_TI_CPPI_DMA is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ALAUDA is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_STORAGE_KARMA is not set
-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=m
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_EZUSB=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-# CONFIG_USB_SERIAL_WHITEHEAT is not set
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP210X is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_FUNSOFT=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KEYSPAN_MPR=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
-CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19=y
-CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
-CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
-CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MOTOROLA=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-# CONFIG_USB_SERIAL_QUALCOMM is not set
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_HP4X=m
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_SIEMENS_MPI=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-# CONFIG_USB_SERIAL_SYMBOL is not set
-# CONFIG_USB_SERIAL_TI is not set
-CONFIG_USB_SERIAL_CYBERJACK=m
-# CONFIG_USB_SERIAL_XIRCOM is not set
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m
-CONFIG_USB_SERIAL_ZIO=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_DEBUG=m
-
-#
-# USB Miscellaneous drivers
-#
-CONFIG_USB_EMI62=m
-CONFIG_USB_EMI26=m
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_RIO500 is not set
-CONFIG_USB_LEGOTOWER=m
-CONFIG_USB_LCD=m
-CONFIG_USB_LED=m
-CONFIG_USB_CYPRESS_CY7C63=m
-CONFIG_USB_CYTHERM=m
-CONFIG_USB_IDMOUSE=m
-CONFIG_USB_FTDI_ELAN=m
-# CONFIG_USB_APPLEDISPLAY is not set
-CONFIG_USB_SISUSBVGA=m
-CONFIG_USB_SISUSBVGA_CON=y
-CONFIG_USB_LD=m
-CONFIG_USB_TRANCEVIBRATOR=m
-# CONFIG_USB_IOWARRIOR is not set
-CONFIG_USB_TEST=m
-# CONFIG_USB_ISIGHTFW is not set
-CONFIG_USB_YUREX=m
-CONFIG_USB_ATM=m
-CONFIG_USB_SPEEDTOUCH=m
-CONFIG_USB_CXACRU=m
-CONFIG_USB_UEAGLEATM=m
-CONFIG_USB_XUSBATM=m
-CONFIG_USB_GADGET=y
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-CONFIG_USB_GADGET_DEBUG_FS=y
-CONFIG_USB_GADGET_VBUS_DRAW=480
-CONFIG_USB_GADGET_SELECTED=y
-# CONFIG_USB_GADGET_FUSB300 is not set
-# CONFIG_USB_GADGET_OMAP is not set
-# CONFIG_USB_GADGET_R8A66597 is not set
-# CONFIG_USB_GADGET_PXA_U2O is not set
-# CONFIG_USB_GADGET_M66592 is not set
-# CONFIG_USB_GADGET_DUMMY_HCD is not set
-CONFIG_USB_GADGET_DUALSPEED=y
-# CONFIG_USB_ZERO is not set
-# CONFIG_USB_AUDIO is not set
-CONFIG_USB_ETH=m
-CONFIG_USB_ETH_RNDIS=y
-# CONFIG_USB_ETH_EEM is not set
-CONFIG_USB_G_NCM=m
-# CONFIG_USB_GADGETFS is not set
-CONFIG_USB_FUNCTIONFS=m
-# CONFIG_USB_FUNCTIONFS_ETH is not set
-CONFIG_USB_FUNCTIONFS_RNDIS=y
-# CONFIG_USB_FUNCTIONFS_GENERIC is not set
-CONFIG_USB_FILE_STORAGE=m
-# CONFIG_USB_FILE_STORAGE_TEST is not set
-CONFIG_USB_MASS_STORAGE=m
-# CONFIG_USB_G_SERIAL is not set
-# CONFIG_USB_MIDI_GADGET is not set
-# CONFIG_USB_G_PRINTER is not set
-CONFIG_USB_CDC_COMPOSITE=m
-# CONFIG_USB_G_MULTI is not set
-CONFIG_USB_G_HID=m
-CONFIG_USB_G_DBGP=m
-# CONFIG_USB_G_DBGP_PRINTK is not set
-CONFIG_USB_G_DBGP_SERIAL=y
-CONFIG_USB_G_WEBCAM=m
-
-#
-# OTG and related infrastructure
-#
-CONFIG_USB_OTG_UTILS=y
-CONFIG_USB_GPIO_VBUS=y
-# CONFIG_ISP1301_OMAP is not set
-# CONFIG_USB_ULPI is not set
-CONFIG_TWL4030_USB=y
-CONFIG_TWL6030_USB=y
-CONFIG_NOP_USB_XCEIV=y
-CONFIG_MMC=y
-# CONFIG_MMC_DEBUG is not set
-CONFIG_MMC_UNSAFE_RESUME=y
-# CONFIG_MMC_CLKGATE is not set
-
-#
-# MMC/SD/SDIO Card Drivers
-#
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=8
-CONFIG_MMC_BLOCK_BOUNCE=y
-CONFIG_SDIO_UART=y
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_SDHCI is not set
-# CONFIG_MMC_OMAP is not set
-CONFIG_MMC_OMAP_HS=y
-CONFIG_MMC_SPI=m
-# CONFIG_MMC_DW is not set
-# CONFIG_MMC_VUB300 is not set
-CONFIG_MMC_USHC=m
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_PCA9532 is not set
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_GPIO_PLATFORM=y
-# CONFIG_LEDS_LP3944 is not set
-CONFIG_LEDS_LP5521=m
-CONFIG_LEDS_LP5523=m
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-CONFIG_LEDS_PWM=m
-CONFIG_LEDS_REGULATOR=m
-# CONFIG_LEDS_BD2802 is not set
-CONFIG_LEDS_WS2801=y
-# CONFIG_LEDS_LT3593 is not set
-CONFIG_LEDS_TRIGGERS=y
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGER_TIMER=m
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_BACKLIGHT=m
-CONFIG_LEDS_TRIGGER_GPIO=m
-CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-CONFIG_NFC_DEVICES=y
-CONFIG_PN544_NFC=m
-# CONFIG_ACCESSIBILITY is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-CONFIG_RTC_DRV_DS1307=y
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-CONFIG_RTC_DRV_BQ32K=m
-CONFIG_RTC_DRV_TWL4030=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-# CONFIG_RTC_DRV_EM3027 is not set
-# CONFIG_RTC_DRV_RV3029C2 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T93 is not set
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_DS3234 is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_CMOS is not set
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_DMADEVICES is not set
-# CONFIG_AUXDISPLAY is not set
-CONFIG_UIO=m
-CONFIG_UIO_PDRV=m
-CONFIG_UIO_PDRV_GENIRQ=m
-CONFIG_STAGING=y
-# CONFIG_VIDEO_TM6000 is not set
-# CONFIG_USBIP_CORE is not set
-CONFIG_W35UND=m
-CONFIG_PRISM2_USB=m
-CONFIG_ECHO=m
-# CONFIG_BRCMUTIL is not set
-# CONFIG_ASUS_OLED is not set
-CONFIG_R8712U=m
-CONFIG_R8712_AP=y
-# CONFIG_TRANZPORT is not set
-# CONFIG_POHMELFS is not set
-# CONFIG_LINE6_USB is not set
-# CONFIG_USB_SERIAL_QUATECH2 is not set
-# CONFIG_USB_SERIAL_QUATECH_USB2 is not set
-# CONFIG_VT6656 is not set
-# CONFIG_IIO is not set
-CONFIG_XVMALLOC=y
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEBUG is not set
-# CONFIG_FB_SM7XX is not set
-# CONFIG_LIRC_STAGING is not set
-# CONFIG_EASYCAP is not set
-# CONFIG_TIDSPBRIDGE is not set
-# CONFIG_MACH_OMAP3_WESTBRIDGE_AST_PNAND_HAL is not set
-CONFIG_MACH_NO_WESTBRIDGE=y
-# CONFIG_ATH6K_LEGACY is not set
-CONFIG_USB_ENESTORAGE=m
-CONFIG_BCM_WIMAX=m
-CONFIG_FT1000=m
-CONFIG_FT1000_USB=m
-
-#
-# Speakup console speech
-#
-# CONFIG_SPEAKUP is not set
-CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m
-CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m
-
-#
-# Altera FPGA firmware download module
-#
-# CONFIG_ALTERA_STAPL is not set
-CONFIG_CLKDEV_LOOKUP=y
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=y
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=y
-# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_FS_XATTR=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-CONFIG_REISERFS_PROC_INFO=y
-CONFIG_REISERFS_FS_XATTR=y
-# CONFIG_REISERFS_FS_POSIX_ACL is not set
-# CONFIG_REISERFS_FS_SECURITY is not set
-CONFIG_JFS_FS=m
-CONFIG_JFS_POSIX_ACL=y
-# CONFIG_JFS_SECURITY is not set
-# CONFIG_JFS_DEBUG is not set
-CONFIG_JFS_STATISTICS=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_DEBUG is not set
-CONFIG_GFS2_FS=m
-CONFIG_GFS2_FS_LOCKING_DLM=y
-CONFIG_OCFS2_FS=m
-CONFIG_OCFS2_FS_O2CB=m
-CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
-CONFIG_OCFS2_FS_STATS=y
-CONFIG_OCFS2_DEBUG_MASKLOG=y
-# CONFIG_OCFS2_DEBUG_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-CONFIG_QUOTA=y
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_PRINT_QUOTA_WARNING=y
-# CONFIG_QUOTA_DEBUG is not set
-CONFIG_QUOTA_TREE=y
-# CONFIG_QFMT_V1 is not set
-CONFIG_QFMT_V2=y
-CONFIG_QUOTACTL=y
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_GENERIC_ACL=y
-
-#
-# Caches
-#
-CONFIG_FSCACHE=m
-CONFIG_FSCACHE_STATS=y
-CONFIG_FSCACHE_HISTOGRAM=y
-# CONFIG_FSCACHE_DEBUG is not set
-# CONFIG_FSCACHE_OBJECT_LIST is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-CONFIG_CACHEFILES_HISTOGRAM=y
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-# CONFIG_NTFS_RW is not set
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_CONFIGFS_FS=m
-CONFIG_MISC_FILESYSTEMS=y
-CONFIG_ADFS_FS=m
-# CONFIG_ADFS_FS_RW is not set
-CONFIG_AFFS_FS=m
-# CONFIG_ECRYPT_FS is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_BEFS_FS=m
-# CONFIG_BEFS_DEBUG is not set
-CONFIG_BFS_FS=m
-CONFIG_EFS_FS=m
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_JFFS2_FS_XATTR=y
-CONFIG_JFFS2_FS_POSIX_ACL=y
-CONFIG_JFFS2_FS_SECURITY=y
-CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_LZO=y
-CONFIG_JFFS2_RTIME=y
-CONFIG_JFFS2_RUBIN=y
-# CONFIG_JFFS2_CMODE_NONE is not set
-# CONFIG_JFFS2_CMODE_PRIORITY is not set
-# CONFIG_JFFS2_CMODE_SIZE is not set
-CONFIG_JFFS2_CMODE_FAVOURLZO=y
-CONFIG_UBIFS_FS=y
-CONFIG_UBIFS_FS_XATTR=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
-CONFIG_UBIFS_FS_LZO=y
-CONFIG_UBIFS_FS_ZLIB=y
-# CONFIG_UBIFS_FS_DEBUG is not set
-CONFIG_LOGFS=m
-CONFIG_CRAMFS=m
-CONFIG_SQUASHFS=y
-# CONFIG_SQUASHFS_XATTR is not set
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-CONFIG_VXFS_FS=m
-CONFIG_MINIX_FS=m
-CONFIG_OMFS_FS=m
-CONFIG_HPFS_FS=m
-CONFIG_QNX4FS_FS=m
-CONFIG_ROMFS_FS=m
-CONFIG_ROMFS_BACKED_BY_BLOCK=y
-# CONFIG_ROMFS_BACKED_BY_MTD is not set
-# CONFIG_ROMFS_BACKED_BY_BOTH is not set
-CONFIG_ROMFS_ON_BLOCK=y
-CONFIG_PSTORE=y
-CONFIG_SYSV_FS=m
-CONFIG_UFS_FS=m
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_UFS_DEBUG is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_V4_1=y
-CONFIG_PNFS_FILE_LAYOUT=y
-CONFIG_ROOT_NFS=y
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-# CONFIG_NFS_USE_NEW_IDMAPPER is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_DEPRECATED=y
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_LOCKD=y
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=y
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=y
-CONFIG_SUNRPC_GSS=y
-CONFIG_RPCSEC_GSS_KRB5=m
-CONFIG_CEPH_FS=m
-CONFIG_CIFS=m
-CONFIG_CIFS_STATS=y
-CONFIG_CIFS_STATS2=y
-# CONFIG_CIFS_WEAK_PW_HASH is not set
-# CONFIG_CIFS_UPCALL is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_DEBUG2 is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_CIFS_ACL=y
-CONFIG_NCP_FS=m
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-CONFIG_CODA_FS=m
-CONFIG_AFS_FS=m
-# CONFIG_AFS_DEBUG is not set
-# CONFIG_AFS_FSCACHE is not set
-CONFIG_9P_FS=m
-CONFIG_9P_FSCACHE=y
-CONFIG_9P_FS_POSIX_ACL=y
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-CONFIG_LDM_DEBUG=y
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="iso8859-1"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=y
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=y
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-
-#
-# Kernel hacking
-#
-CONFIG_PRINTK_TIME=y
-CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
-CONFIG_ENABLE_WARN_DEPRECATED=y
-CONFIG_ENABLE_MUST_CHECK=y
-CONFIG_FRAME_WARN=1024
-CONFIG_MAGIC_SYSRQ=y
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_UNUSED_SYMBOLS is not set
-CONFIG_DEBUG_FS=y
-# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_DEBUG_KERNEL=y
-# CONFIG_DEBUG_SHIRQ is not set
-# CONFIG_LOCKUP_DETECTOR is not set
-# CONFIG_HARDLOCKUP_DETECTOR is not set
-CONFIG_DETECT_HUNG_TASK=y
-CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
-# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
-CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
-CONFIG_SCHED_DEBUG=y
-CONFIG_SCHEDSTATS=y
-CONFIG_TIMER_STATS=y
-# CONFIG_DEBUG_OBJECTS is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_DEBUG_KMEMLEAK is not set
-# CONFIG_DEBUG_RT_MUTEXES is not set
-# CONFIG_RT_MUTEX_TESTER is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-CONFIG_DEBUG_MUTEXES=y
-# CONFIG_DEBUG_LOCK_ALLOC is not set
-# CONFIG_PROVE_LOCKING is not set
-# CONFIG_SPARSE_RCU_POINTER is not set
-# CONFIG_LOCK_STAT is not set
-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_KOBJECT is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_DEBUG_VM is not set
-# CONFIG_DEBUG_WRITECOUNT is not set
-# CONFIG_DEBUG_MEMORY_INIT is not set
-# CONFIG_DEBUG_LIST is not set
-# CONFIG_TEST_LIST_SORT is not set
-# CONFIG_DEBUG_SG is not set
-# CONFIG_DEBUG_NOTIFIERS is not set
-# CONFIG_DEBUG_CREDENTIALS is not set
-# CONFIG_BOOT_PRINTK_DELAY is not set
-# CONFIG_RCU_TORTURE_TEST is not set
-# CONFIG_BACKTRACE_SELF_TEST is not set
-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
-# CONFIG_LKDTM is not set
-# CONFIG_FAULT_INJECTION is not set
-# CONFIG_LATENCYTOP is not set
-# CONFIG_SYSCTL_SYSCALL_CHECK is not set
-# CONFIG_DEBUG_PAGEALLOC is not set
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_RING_BUFFER=y
-CONFIG_RING_BUFFER_ALLOW_SWAP=y
-CONFIG_TRACING_SUPPORT=y
-CONFIG_FTRACE=y
-# CONFIG_FUNCTION_TRACER is not set
-# CONFIG_IRQSOFF_TRACER is not set
-# CONFIG_SCHED_TRACER is not set
-# CONFIG_ENABLE_DEFAULT_TRACERS is not set
-CONFIG_BRANCH_PROFILE_NONE=y
-# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-# CONFIG_PROFILE_ALL_BRANCHES is not set
-# CONFIG_STACK_TRACER is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_RING_BUFFER_BENCHMARK is not set
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DMA_API_DEBUG is not set
-# CONFIG_ATOMIC64_SELFTEST is not set
-# CONFIG_ASYNC_RAID6_TEST is not set
-# CONFIG_SAMPLES is not set
-CONFIG_HAVE_ARCH_KGDB=y
-# CONFIG_KGDB is not set
-# CONFIG_TEST_KSTRTOX is not set
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_ARM_UNWIND=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_OC_ETM is not set
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_DEFAULT_SECURITY=""
-CONFIG_XOR_BLOCKS=m
-CONFIG_ASYNC_CORE=m
-CONFIG_ASYNC_MEMCPY=m
-CONFIG_ASYNC_XOR=m
-CONFIG_ASYNC_PQ=m
-CONFIG_ASYNC_RAID6_RECOV=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=m
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_PCOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_WORKQUEUE=y
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_SEQIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-CONFIG_CRYPTO_CTR=m
-CONFIG_CRYPTO_CTS=m
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-CONFIG_CRYPTO_PCBC=m
-CONFIG_CRYPTO_XTS=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_XCBC=m
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_MICHAEL_MIC=y
-CONFIG_CRYPTO_RMD128=m
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_RMD256=m
-CONFIG_CRYPTO_RMD320=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_ARC4=y
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_CAMELLIA=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_DES=y
-CONFIG_CRYPTO_FCRYPT=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_SALSA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=y
-# CONFIG_CRYPTO_ZLIB is not set
-CONFIG_CRYPTO_LZO=y
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_DEV_OMAP_SHAM=m
-CONFIG_CRYPTO_DEV_OMAP_AES=m
-# CONFIG_BINARY_PRINTF is not set
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-CONFIG_BITREVERSE=y
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-CONFIG_XZ_DEC_BCJ=y
-CONFIG_XZ_DEC_TEST=m
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DECOMPRESS_XZ=y
-CONFIG_DECOMPRESS_LZO=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_BTREE=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_DMA=y
-CONFIG_NLATTR=y
-CONFIG_AVERAGE=y
diff --git a/recipes-kernel/linux/linux-3.0/bias/0001-OMAP3630-PRM-add-ABB-PRM-register-definitions.patch b/recipes-kernel/linux/linux-3.0/bias/0001-OMAP3630-PRM-add-ABB-PRM-register-definitions.patch
deleted file mode 100644
index 8dd595a..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0001-OMAP3630-PRM-add-ABB-PRM-register-definitions.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 2deaccf427c0fa1e87ed764877c03c2b1ba9b913 Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Wed, 29 Jun 2011 17:25:53 -0700
-Subject: [PATCH 1/8] OMAP3630: PRM: add ABB PRM register definitions
-
-OMAP3630 supports an Adaptive Body-Bias ldo as well as some MPU interrupts
-related to voltage control that are not present on OMAP34XX.  This patch
-adds the offsets, register addresses, bitfield shifts and masks to support
-this feature.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/prm-regbits-34xx.h |   34 ++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/prm2xxx_3xxx.h     |    4 +++
- 2 files changed, 38 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm-regbits-34xx.h b/arch/arm/mach-omap2/prm-regbits-34xx.h
-index 64c087a..0309ff6 100644
---- a/arch/arm/mach-omap2/prm-regbits-34xx.h
-+++ b/arch/arm/mach-omap2/prm-regbits-34xx.h
-@@ -216,6 +216,12 @@
- /* PRM_SYSCONFIG specific bits */
- 
- /* PRM_IRQSTATUS_MPU specific bits */
-+#define OMAP3630_VC_BYPASS_ACK_ST_SHIFT			28
-+#define OMAP3630_VC_BYPASS_ACK_ST_MASK			(1 << 28)
-+#define OMAP3630_VC_VP1_ACK_ST_SHIFT			27
-+#define OMAP3630_VC_VP1_ACK_ST_MASK			(1 << 27)
-+#define OMAP3630_ABB_LDO_TRANXDONE_ST_SHIFT		26
-+#define OMAP3630_ABB_LDO_TRANXDONE_ST_MASK		(1 << 26)
- #define OMAP3430ES2_SND_PERIPH_DPLL_ST_SHIFT		25
- #define OMAP3430ES2_SND_PERIPH_DPLL_ST_MASK		(1 << 25)
- #define OMAP3430_VC_TIMEOUTERR_ST_MASK			(1 << 24)
-@@ -248,6 +254,12 @@
- #define OMAP3430_FS_USB_WKUP_ST_MASK			(1 << 1)
- 
- /* PRM_IRQENABLE_MPU specific bits */
-+#define OMAP3630_VC_BYPASS_ACK_EN_SHIFT				28
-+#define OMAP3630_VC_BYPASS_ACK_EN_MASK				(1 << 28)
-+#define OMAP3630_VC_VP1_ACK_EN_SHIFT				27
-+#define OMAP3630_VC_VP1_ACK_EN_MASK				(1 << 27)
-+#define OMAP3630_ABB_LDO_TRANXDONE_EN_SHIFT			26
-+#define OMAP3630_ABB_LDO_TRANXDONE_EN_MASK			(1 << 26)
- #define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_SHIFT		25
- #define OMAP3430ES2_SND_PERIPH_DPLL_RECAL_EN_MASK		(1 << 25)
- #define OMAP3430_VC_TIMEOUTERR_EN_MASK				(1 << 24)
-@@ -587,6 +599,28 @@
- 
- /* PRM_VP2_STATUS specific bits */
- 
-+/* PRM_LDO_ABB_SETUP specific bits */
-+#define OMAP3630_SR2_IN_TRANSITION_SHIFT		6
-+#define OMAP3630_SR2_IN_TRANSITION_MASK			(1 << 6)
-+#define OMAP3630_SR2_STATUS_SHIFT			3
-+#define OMAP3630_SR2_STATUS_MASK			(3 << 3)
-+#define OMAP3630_OPP_CHANGE_SHIFT			2
-+#define OMAP3630_OPP_CHANGE_MASK			(1 << 2)
-+#define OMAP3630_OPP_SEL_SHIFT				0
-+#define OMAP3630_OPP_SEL_MASK				(3 << 0)
-+
-+/* PRM_LDO_ABB_CTRL specific bits */
-+#define OMAP3630_SR2_WTCNT_VALUE_SHIFT			8
-+#define OMAP3630_SR2_WTCNT_VALUE_MASK			(0xff << 8)
-+#define OMAP3630_SLEEP_RBB_SEL_SHIFT			3
-+#define OMAP3630_SLEEP_RBB_SEL_MASK			(1 << 3)
-+#define OMAP3630_ACTIVE_FBB_SEL_SHIFT			2
-+#define OMAP3630_ACTIVE_FBB_SEL_MASK			(1 << 2)
-+#define OMAP3630_ACTIVE_RBB_SEL_SHIFT			1
-+#define OMAP3630_ACTIVE_RBB_SEL_MASK			(1 << 1)
-+#define OMAP3630_SR2EN_SHIFT				0
-+#define OMAP3630_SR2EN_MASK				(1 << 0)
-+
- /* RM_RSTST_NEON specific bits */
- 
- /* PM_WKDEP_NEON specific bits */
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.h b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-index cef533d..408d1c7 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.h
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-@@ -167,6 +167,10 @@
- #define OMAP3430_PRM_VP2_VOLTAGE	OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00e0)
- #define OMAP3_PRM_VP2_STATUS_OFFSET	0x00e4
- #define OMAP3430_PRM_VP2_STATUS		OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00e4)
-+#define OMAP3_PRM_LDO_ABB_SETUP_OFFSET	0x00f0
-+#define OMAP3630_PRM_LDO_ABB_SETUP	OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00f0)
-+#define OMAP3_PRM_LDO_ABB_CTRL_OFFSET	0x00f4
-+#define OMAP3630_PRM_LDO_ABB_CTRL	OMAP34XX_PRM_REGADDR(OMAP3430_GR_MOD, 0x00f4)
- 
- #define OMAP3_PRM_CLKSEL_OFFSET	0x0040
- #define OMAP3430_PRM_CLKSEL		OMAP34XX_PRM_REGADDR(OMAP3430_CCR_MOD, 0x0040)
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0002-OMAP3-PM-VP-generalize-PRM-interrupt-helpers.patch b/recipes-kernel/linux/linux-3.0/bias/0002-OMAP3-PM-VP-generalize-PRM-interrupt-helpers.patch
deleted file mode 100644
index 8ac6433..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0002-OMAP3-PM-VP-generalize-PRM-interrupt-helpers.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From 11401a7b96f5cd53362cd54238a58a5a54a00246 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 29 Jun 2011 17:25:54 -0700
-Subject: [PATCH 2/8] OMAP3+: PM: VP: generalize PRM interrupt helpers
-
-We have multiple interrupt status hidden in the PRM interrupt status
-reg. Make this handling generic to allow us to pull out LDO status such
-as those for ABB from it using the same data structure and indexing. We
-hence rename accordingly.
-
-We also fix a trivial warning as the variable does not need exporting:
-arch/arm/mach-omap2/prm2xxx_3xxx.c:172:22: warning: symbol
-'omap3_prm_irqs' was not declared. Should it be static?
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/prm2xxx_3xxx.c |   22 +++++++++++-----------
- arch/arm/mach-omap2/prm2xxx_3xxx.h |    7 +++++--
- arch/arm/mach-omap2/prm44xx.c      |   28 ++++++++++++++--------------
- arch/arm/mach-omap2/prm44xx.h      |    7 +++++--
- arch/arm/mach-omap2/vp.h           |    9 ---------
- arch/arm/mach-omap2/vp3xxx_data.c  |    4 ++--
- arch/arm/mach-omap2/vp44xx_data.c  |    6 +++---
- 7 files changed, 40 insertions(+), 43 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-index 3b83763..8a20242 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-@@ -162,39 +162,39 @@ int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift)
- /* PRM VP */
- 
- /*
-- * struct omap3_vp - OMAP3 VP register access description.
-+ * struct omap3_prm_irq - OMAP3 PRM IRQ register access description.
-  * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-  */
--struct omap3_vp {
-+struct omap3_prm_irq {
- 	u32 tranxdone_status;
- };
- 
--struct omap3_vp omap3_vp[] = {
--	[OMAP3_VP_VDD_MPU_ID] = {
-+static struct omap3_prm_irq omap3_prm_irqs[] = {
-+	[OMAP3_PRM_IRQ_VDD_MPU_ID] = {
- 		.tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
- 	},
--	[OMAP3_VP_VDD_CORE_ID] = {
-+	[OMAP3_PRM_IRQ_VDD_CORE_ID] = {
- 		.tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
- 	},
- };
- 
- #define MAX_VP_ID ARRAY_SIZE(omap3_vp);
- 
--u32 omap3_prm_vp_check_txdone(u8 vp_id)
-+u32 omap3_prm_vp_check_txdone(u8 irq_id)
- {
--	struct omap3_vp *vp = &omap3_vp[vp_id];
-+	struct omap3_prm_irq *irq = &omap3_prm_irqs[irq_id];
- 	u32 irqstatus;
- 
- 	irqstatus = omap2_prm_read_mod_reg(OCP_MOD,
- 					   OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
--	return irqstatus & vp->tranxdone_status;
-+	return irqstatus & irq->tranxdone_status;
- }
- 
--void omap3_prm_vp_clear_txdone(u8 vp_id)
-+void omap3_prm_vp_clear_txdone(u8 irq_id)
- {
--	struct omap3_vp *vp = &omap3_vp[vp_id];
-+	struct omap3_prm_irq *irq = &omap3_prm_irqs[irq_id];
- 
--	omap2_prm_write_mod_reg(vp->tranxdone_status,
-+	omap2_prm_write_mod_reg(irq->tranxdone_status,
- 				OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
- }
- 
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.h b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-index 408d1c7..d90b23f 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.h
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-@@ -307,9 +307,12 @@ extern int omap2_prm_is_hardreset_asserted(s16 prm_mod, u8 shift);
- extern int omap2_prm_assert_hardreset(s16 prm_mod, u8 shift);
- extern int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift);
- 
-+#define OMAP3_PRM_IRQ_VDD_MPU_ID	0
-+#define OMAP3_PRM_IRQ_VDD_CORE_ID	1
- /* OMAP3-specific VP functions */
--u32 omap3_prm_vp_check_txdone(u8 vp_id);
--void omap3_prm_vp_clear_txdone(u8 vp_id);
-+u32 omap3_prm_vp_check_txdone(u8 irq_id);
-+void omap3_prm_vp_clear_txdone(u8 irq_id);
-+
- 
- /*
-  * OMAP3 access functions for voltage controller (VC) and
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index 495a31a..b77d331 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -57,49 +57,49 @@ u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 reg)
- /* PRM VP */
- 
- /*
-- * struct omap4_vp - OMAP4 VP register access description.
-+ * struct omap4_prm_irq - OMAP4 VP register access description.
-  * @irqstatus_mpu: offset to IRQSTATUS_MPU register for VP
-  * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-  */
--struct omap4_vp {
-+struct omap4_prm_irq {
- 	u32 irqstatus_mpu;
- 	u32 tranxdone_status;
- };
- 
--static struct omap4_vp omap4_vp[] = {
--	[OMAP4_VP_VDD_MPU_ID] = {
-+static struct omap4_prm_irq omap4_prm_irqs[] = {
-+	[OMAP4_PRM_IRQ_VDD_MPU_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
- 		.tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
- 	},
--	[OMAP4_VP_VDD_IVA_ID] = {
-+	[OMAP4_PRM_IRQ_VDD_IVA_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 		.tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
- 	},
--	[OMAP4_VP_VDD_CORE_ID] = {
-+	[OMAP4_PRM_IRQ_VDD_CORE_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 		.tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
- 	},
- };
- 
--u32 omap4_prm_vp_check_txdone(u8 vp_id)
-+u32 omap4_prm_vp_check_txdone(u8 irq_id)
- {
--	struct omap4_vp *vp = &omap4_vp[vp_id];
-+	struct omap4_prm_irq *irq = &omap4_prm_irqs[irq_id];
- 	u32 irqstatus;
- 
- 	irqstatus = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
- 						OMAP4430_PRM_OCP_SOCKET_INST,
--						vp->irqstatus_mpu);
--	return irqstatus & vp->tranxdone_status;
-+						irq->irqstatus_mpu);
-+	return irqstatus & irq->tranxdone_status;
- }
- 
--void omap4_prm_vp_clear_txdone(u8 vp_id)
-+void omap4_prm_vp_clear_txdone(u8 irq_id)
- {
--	struct omap4_vp *vp = &omap4_vp[vp_id];
-+	struct omap4_prm_irq *irq = &omap4_prm_irqs[irq_id];
- 
--	omap4_prminst_write_inst_reg(vp->tranxdone_status,
-+	omap4_prminst_write_inst_reg(irq->tranxdone_status,
- 				     OMAP4430_PRM_PARTITION,
- 				     OMAP4430_PRM_OCP_SOCKET_INST,
--				     vp->irqstatus_mpu);
-+				     irq->irqstatus_mpu);
- };
- 
- u32 omap4_prm_vcvp_read(u8 offset)
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 3d66ccd..858ee53 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -751,9 +751,12 @@ extern u32 omap4_prm_read_inst_reg(s16 inst, u16 idx);
- extern void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 idx);
- extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx);
- 
-+#define OMAP4_PRM_IRQ_VDD_CORE_ID	0
-+#define OMAP4_PRM_IRQ_VDD_IVA_ID	1
-+#define OMAP4_PRM_IRQ_VDD_MPU_ID	2
- /* OMAP4-specific VP functions */
--u32 omap4_prm_vp_check_txdone(u8 vp_id);
--void omap4_prm_vp_clear_txdone(u8 vp_id);
-+u32 omap4_prm_vp_check_txdone(u8 irq_id);
-+void omap4_prm_vp_clear_txdone(u8 irq_id);
- 
- /*
-  * OMAP4 access functions for voltage controller (VC) and
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index d9bc4f1..ee31e2f 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -21,15 +21,6 @@
- 
- struct voltagedomain;
- 
--/*
-- * Voltage Processor (VP) identifiers
-- */
--#define OMAP3_VP_VDD_MPU_ID 0
--#define OMAP3_VP_VDD_CORE_ID 1
--#define OMAP4_VP_VDD_CORE_ID 0
--#define OMAP4_VP_VDD_IVA_ID 1
--#define OMAP4_VP_VDD_MPU_ID 2
--
- /* XXX document */
- #define VP_IDLE_TIMEOUT		200
- #define VP_TRANXDONE_TIMEOUT	300
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index 260c554..7bd8181 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -57,7 +57,7 @@ static const struct omap_vp_common omap3_vp_common = {
- };
- 
- struct omap_vp_instance omap3_vp_mpu = {
--	.id = OMAP3_VP_VDD_MPU_ID,
-+	.id = OMAP3_PRM_IRQ_VDD_MPU_ID,
- 	.common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP1_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP1_VSTEPMIN_OFFSET,
-@@ -68,7 +68,7 @@ struct omap_vp_instance omap3_vp_mpu = {
- };
- 
- struct omap_vp_instance omap3_vp_core = {
--	.id = OMAP3_VP_VDD_CORE_ID,
-+	.id = OMAP3_PRM_IRQ_VDD_CORE_ID,
- 	.common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP2_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP2_VSTEPMIN_OFFSET,
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index b4e7704..6de8ed6 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -56,7 +56,7 @@ static const struct omap_vp_common omap4_vp_common = {
- };
- 
- struct omap_vp_instance omap4_vp_mpu = {
--	.id = OMAP4_VP_VDD_MPU_ID,
-+	.id = OMAP4_PRM_IRQ_VDD_MPU_ID,
- 	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_MPU_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET,
-@@ -67,7 +67,7 @@ struct omap_vp_instance omap4_vp_mpu = {
- };
- 
- struct omap_vp_instance omap4_vp_iva = {
--	.id = OMAP4_VP_VDD_IVA_ID,
-+	.id = OMAP4_PRM_IRQ_VDD_IVA_ID,
- 	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_IVA_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET,
-@@ -78,7 +78,7 @@ struct omap_vp_instance omap4_vp_iva = {
- };
- 
- struct omap_vp_instance omap4_vp_core = {
--	.id = OMAP4_VP_VDD_CORE_ID,
-+	.id = OMAP4_PRM_IRQ_VDD_CORE_ID,
- 	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_CORE_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET,
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0003-OMAP3-PRM-add-tranxdone-IRQ-handlers-for-ABB.patch b/recipes-kernel/linux/linux-3.0/bias/0003-OMAP3-PRM-add-tranxdone-IRQ-handlers-for-ABB.patch
deleted file mode 100644
index 3213861..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0003-OMAP3-PRM-add-tranxdone-IRQ-handlers-for-ABB.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From da35165116eabf6149d558b426549784c93af164 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 29 Jun 2011 17:25:55 -0700
-Subject: [PATCH 3/8] OMAP3+: PRM: add tranxdone IRQ handlers for ABB
-
-OMAP3 and more recent platforms support a PRM interrupt to the MPU for
-Adapative Body-Bias ldo transitions.
-
-Add helpers to the OMAP3 & OMAP4 PRM code to check the status of the
-interrupt and also to clear it.  These will be called from the ABB code
-as part of the greater voltage scaling sequence.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/prm2xxx_3xxx.c |   35 ++++++++++++++++++++++++++-----
- arch/arm/mach-omap2/prm2xxx_3xxx.h |    3 ++
- arch/arm/mach-omap2/prm44xx.c      |   40 +++++++++++++++++++++++++++++------
- arch/arm/mach-omap2/prm44xx.h      |    3 ++
- 4 files changed, 68 insertions(+), 13 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-index 8a20242..49e9719 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-@@ -163,18 +163,23 @@ int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift)
- 
- /*
-  * struct omap3_prm_irq - OMAP3 PRM IRQ register access description.
-- * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ * @vp_tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ * @abb_tranxdone_status: ABB_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ *			  (ONLY for OMAP3630)
-  */
- struct omap3_prm_irq {
--	u32 tranxdone_status;
-+	u32 vp_tranxdone_status;
-+	u32 abb_tranxdone_status;
- };
- 
- static struct omap3_prm_irq omap3_prm_irqs[] = {
- 	[OMAP3_PRM_IRQ_VDD_MPU_ID] = {
--		.tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
-+		.vp_tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
-+		.abb_tranxdone_status = OMAP3630_ABB_LDO_TRANXDONE_ST_MASK,
- 	},
- 	[OMAP3_PRM_IRQ_VDD_CORE_ID] = {
--		.tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
-+		.vp_tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
-+		/* no abb for core */
- 	},
- };
- 
-@@ -187,14 +192,32 @@ u32 omap3_prm_vp_check_txdone(u8 irq_id)
- 
- 	irqstatus = omap2_prm_read_mod_reg(OCP_MOD,
- 					   OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
--	return irqstatus & irq->tranxdone_status;
-+	return irqstatus & irq->vp_tranxdone_status;
- }
- 
- void omap3_prm_vp_clear_txdone(u8 irq_id)
- {
- 	struct omap3_prm_irq *irq = &omap3_prm_irqs[irq_id];
- 
--	omap2_prm_write_mod_reg(irq->tranxdone_status,
-+	omap2_prm_write_mod_reg(irq->vp_tranxdone_status,
-+				OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
-+}
-+
-+u32 omap36xx_prm_abb_check_txdone(u8 irq_id)
-+{
-+	struct omap3_prm_irq *irq = &omap3_prm_irqs[irq_id];
-+	u32 irqstatus;
-+
-+	irqstatus = omap2_prm_read_mod_reg(OCP_MOD,
-+					   OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
-+	return irqstatus & irq->abb_tranxdone_status;
-+}
-+
-+void omap36xx_prm_abb_clear_txdone(u8 irq_id)
-+{
-+	struct omap3_prm_irq *irq = &omap3_prm_irqs[irq_id];
-+
-+	omap2_prm_write_mod_reg(irq->abb_tranxdone_status,
- 				OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
- }
- 
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.h b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-index d90b23f..08d5f1e 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.h
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-@@ -313,6 +313,9 @@ extern int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift);
- u32 omap3_prm_vp_check_txdone(u8 irq_id);
- void omap3_prm_vp_clear_txdone(u8 irq_id);
- 
-+/* OMAP36xx-specific ABB functions */
-+u32 omap36xx_prm_abb_check_txdone(u8 irq_id);
-+void omap36xx_prm_abb_clear_txdone(u8 irq_id);
- 
- /*
-  * OMAP3 access functions for voltage controller (VC) and
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index b77d331..dd3776c 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -59,25 +59,30 @@ u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 reg)
- /*
-  * struct omap4_prm_irq - OMAP4 VP register access description.
-  * @irqstatus_mpu: offset to IRQSTATUS_MPU register for VP
-- * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ * @vp_tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ * @abb_tranxdone_status: ABB_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-  */
- struct omap4_prm_irq {
- 	u32 irqstatus_mpu;
--	u32 tranxdone_status;
-+	u32 vp_tranxdone_status;
-+	u32 abb_tranxdone_status;
- };
- 
- static struct omap4_prm_irq omap4_prm_irqs[] = {
- 	[OMAP4_PRM_IRQ_VDD_MPU_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
--		.tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
-+		.vp_tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
-+		.abb_tranxdone_status = OMAP4430_ABB_MPU_DONE_ST_MASK
- 	},
- 	[OMAP4_PRM_IRQ_VDD_IVA_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
--		.tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
-+		.vp_tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
-+		.abb_tranxdone_status = OMAP4430_ABB_IVA_DONE_ST_MASK,
- 	},
- 	[OMAP4_PRM_IRQ_VDD_CORE_ID] = {
- 		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
--		.tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
-+		.vp_tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
-+		/* Core has no ABB */
- 	},
- };
- 
-@@ -89,19 +94,40 @@ u32 omap4_prm_vp_check_txdone(u8 irq_id)
- 	irqstatus = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
- 						OMAP4430_PRM_OCP_SOCKET_INST,
- 						irq->irqstatus_mpu);
--	return irqstatus & irq->tranxdone_status;
-+	return irqstatus & irq->vp_tranxdone_status;
- }
- 
- void omap4_prm_vp_clear_txdone(u8 irq_id)
- {
- 	struct omap4_prm_irq *irq = &omap4_prm_irqs[irq_id];
- 
--	omap4_prminst_write_inst_reg(irq->tranxdone_status,
-+	omap4_prminst_write_inst_reg(irq->vp_tranxdone_status,
- 				     OMAP4430_PRM_PARTITION,
- 				     OMAP4430_PRM_OCP_SOCKET_INST,
- 				     irq->irqstatus_mpu);
- };
- 
-+u32 omap4_prm_abb_check_txdone(u8 irq_id)
-+{
-+	struct omap4_prm_irq *irq = &omap4_prm_irqs[irq_id];
-+	u32 irqstatus;
-+
-+	irqstatus = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-+						OMAP4430_PRM_OCP_SOCKET_INST,
-+						irq->irqstatus_mpu);
-+	return irqstatus & irq->abb_tranxdone_status;
-+}
-+
-+void omap4_prm_abb_clear_txdone(u8 irq_id)
-+{
-+	struct omap4_prm_irq *irq = &omap4_prm_irqs[irq_id];
-+
-+	omap4_prminst_write_inst_reg(irq->abb_tranxdone_status,
-+				     OMAP4430_PRM_PARTITION,
-+				     OMAP4430_PRM_OCP_SOCKET_INST,
-+				     irq->irqstatus_mpu);
-+}
-+
- u32 omap4_prm_vcvp_read(u8 offset)
- {
- 	return omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 858ee53..8ce3207 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -757,6 +757,9 @@ extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx);
- /* OMAP4-specific VP functions */
- u32 omap4_prm_vp_check_txdone(u8 irq_id);
- void omap4_prm_vp_clear_txdone(u8 irq_id);
-+/* OMAP4-specific ABB functions */
-+u32 omap4_prm_abb_check_txdone(u8 irq_id);
-+void omap4_prm_abb_clear_txdone(u8 irq_id);
- 
- /*
-  * OMAP4 access functions for voltage controller (VC) and
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0004-OMAP3-ABB-Adaptive-Body-Bias-structures-data.patch b/recipes-kernel/linux/linux-3.0/bias/0004-OMAP3-ABB-Adaptive-Body-Bias-structures-data.patch
deleted file mode 100644
index 8d86ccf..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0004-OMAP3-ABB-Adaptive-Body-Bias-structures-data.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From a0a304bd0a2255bc661933ef23b3a0860fbee69d Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Wed, 29 Jun 2011 17:25:56 -0700
-Subject: [PATCH 4/8] OMAP3+: ABB: Adaptive Body-Bias structures & data
-
-Due to voltage domain trimming and silicon characterstics some silicon
-may experience instability when operating at a high voltage.  To
-compensate for this an Adaptive Body-Bias ldo exists.  First featured in
-OMAP3630, the purpose of this ldo is to provide a voltage boost to PMOS
-backgates when a voltage domain is operating at a high OPP.  In this
-mode the ldo is said to be in Forward Body-Bias.  At OPPs within a
-nominal voltage range the ABB ldo is bypassed.
-
-This patch introduces the data structures needed to represent the ABB
-ldo's in the voltage layer, and populates the appropriate data for 3630
-and OMAP4.  Not all voltage domains have an ABB ldo, and OMAP34xx does
-not have it at all; in such cases the voltage data will be marked with
-OMAP_ABB_NO_LDO.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/Makefile       |    5 +-
- arch/arm/mach-omap2/abb.h          |   85 ++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/abb36xx_data.c |   38 ++++++++++++++++
- arch/arm/mach-omap2/abb44xx_data.c |   44 ++++++++++++++++++
- 4 files changed, 170 insertions(+), 2 deletions(-)
- create mode 100644 arch/arm/mach-omap2/abb.h
- create mode 100644 arch/arm/mach-omap2/abb36xx_data.c
- create mode 100644 arch/arm/mach-omap2/abb44xx_data.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 7927dd6..5bc306c 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -82,14 +82,15 @@ endif
- # PRCM
- obj-$(CONFIG_ARCH_OMAP2)		+= prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o
- obj-$(CONFIG_ARCH_OMAP3)		+= prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o \
--					   vc3xxx_data.o vp3xxx_data.o
-+					   vc3xxx_data.o vp3xxx_data.o \
-+					   abb36xx_data.o
- # XXX The presence of cm2xxx_3xxx.o on the line below is temporary and
- # will be removed once the OMAP4 part of the codebase is converted to
- # use OMAP4-specific PRCM functions.
- obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
- 					   cm44xx.o prcm_mpu44xx.o \
- 					   prminst44xx.o vc44xx_data.o \
--					   vp44xx_data.o
-+					   vp44xx_data.o abb44xx_data.o
- 
- # OMAP voltage domains
- ifeq ($(CONFIG_PM),y)
-diff --git a/arch/arm/mach-omap2/abb.h b/arch/arm/mach-omap2/abb.h
-new file mode 100644
-index 0000000..74f2044
---- /dev/null
-+++ b/arch/arm/mach-omap2/abb.h
-@@ -0,0 +1,85 @@
-+/*
-+ * OMAP Adaptive Body-Bias structure and macro definitions
-+ *
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-+ * Mike Turquette <mturquette at ti.com>
-+ *
-+ * 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.
-+ */
-+
-+#ifndef __ARCH_ARM_MACH_OMAP2_ABB_H
-+#define __ARCH_ARM_MACH_OMAP2_ABB_H
-+
-+#include <linux/kernel.h>
-+
-+#include "voltage.h"
-+
-+/* NOMINAL_OPP bypasses the ABB ldo, FAST_OPP sets it to Forward Body-Bias */
-+#define OMAP_ABB_NOMINAL_OPP	0
-+#define OMAP_ABB_FAST_OPP	1
-+#define OMAP_ABB_NO_LDO		~0
-+
-+/* Time for the ABB ldo to settle after transition (in micro-seconds) */
-+#define ABB_TRANXDONE_TIMEOUT	50
-+
-+/*
-+ * struct omap_abb_ops - per-OMAP operations needed for ABB transition
-+ *
-+ * @check_tranxdone: return status of ldo transition from PRM_IRQSTATUS
-+ * @clear_tranxdone: clear ABB transition status bit from PRM_IRQSTATUS
-+ */
-+struct omap_abb_ops {
-+	u32 (*check_tranxdone)(u8 irq_id);
-+	void (*clear_tranxdone)(u8 irq_id);
-+};
-+
-+/*
-+ * struct omap_abb_common - ABB data common to an OMAP family
-+ *
-+ * @opp_sel_mask: CTRL reg uses this to program next state of ldo
-+ * @opp_change_mask: CTRL reg uses this to initiate ldo state change
-+ * @sr2_wtcnt_value_mask: SETUP reg uses this to program ldo settling time
-+ * @sr2en_mask: SETUP reg uses this to enable/disable ldo
-+ * @active_fbb_sel_mask: SETUP reg uses this to enable/disable FBB operation
-+ * @settling_time: number of micro-seconds it takes for ldo to transition
-+ * @clock_cycles: settling_time is counted in multiples of clock cycles
-+ * @ops: pointer to common ops for manipulating PRM_IRQSTATUS bits
-+ */
-+struct omap_abb_common {
-+	u32 opp_sel_mask;
-+	u32 opp_change_mask;
-+	u32 sr2_wtcnt_value_mask;
-+	u32 sr2en_mask;
-+	u32 active_fbb_sel_mask;
-+	unsigned long settling_time;
-+	unsigned long clock_cycles;
-+	const struct omap_abb_ops *ops;
-+};
-+
-+/*
-+ * struct omap_abb_instance - data for each instance of ABB ldo
-+ *
-+ * @setup_offs: PRM register offset for initial configuration of ABB ldo
-+ * @ctrl_offs: PRM register offset for active programming of ABB ldo
-+ * @prm_irq_id: IRQ handle used to resolve IRQSTATUS offset & masks
-+ * @enabled: track whether ABB ldo is enabled or disabled
-+ * @common: pointer to common data for all ABB ldo's
-+ * @_opp_sel: internally track last programmed state of ABB ldo.  DO NOT USE
-+ */
-+struct omap_abb_instance {
-+	u8 setup_offs;
-+	u8 ctrl_offs;
-+	u8 prm_irq_id;
-+	bool enabled;
-+	const struct omap_abb_common *common;
-+	u8 _opp_sel;
-+};
-+
-+extern struct omap_abb_instance omap36xx_abb_mpu;
-+
-+extern struct omap_abb_instance omap4_abb_mpu;
-+extern struct omap_abb_instance omap4_abb_iva;
-+
-+#endif
-diff --git a/arch/arm/mach-omap2/abb36xx_data.c b/arch/arm/mach-omap2/abb36xx_data.c
-new file mode 100644
-index 0000000..0bcfd66
---- /dev/null
-+++ b/arch/arm/mach-omap2/abb36xx_data.c
-@@ -0,0 +1,38 @@
-+/*
-+ * OMAP36xx Adaptive Body-Bias (ABB) data
-+ *
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-+ * Mike Turquette <mturquette at ti.com>
-+ *
-+ * 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 "abb.h"
-+#include "prm2xxx_3xxx.h"
-+#include "prm-regbits-34xx.h"
-+
-+static const struct omap_abb_ops omap36xx_abb_ops = {
-+	.check_tranxdone   = &omap36xx_prm_abb_check_txdone,
-+	.clear_tranxdone   = &omap36xx_prm_abb_clear_txdone,
-+};
-+
-+static const struct omap_abb_common omap36xx_abb_common = {
-+	.opp_sel_mask		= OMAP3630_OPP_SEL_MASK,
-+	.opp_change_mask	= OMAP3630_OPP_CHANGE_MASK,
-+	.sr2en_mask		= OMAP3630_SR2EN_MASK,
-+	.active_fbb_sel_mask	= OMAP3630_ACTIVE_FBB_SEL_MASK,
-+	.sr2_wtcnt_value_mask	= OMAP3630_SR2_WTCNT_VALUE_MASK,
-+	.settling_time		= 30,
-+	.clock_cycles		= 8,
-+	.ops			= &omap36xx_abb_ops,
-+};
-+
-+/* SETUP & CTRL registers swapped names in OMAP4; thus 36xx looks strange */
-+struct omap_abb_instance omap36xx_abb_mpu = {
-+	.setup_offs		= OMAP3_PRM_LDO_ABB_CTRL_OFFSET,
-+	.ctrl_offs		= OMAP3_PRM_LDO_ABB_SETUP_OFFSET,
-+	.prm_irq_id		= OMAP3_PRM_IRQ_VDD_MPU_ID,
-+	.common			= &omap36xx_abb_common,
-+};
-diff --git a/arch/arm/mach-omap2/abb44xx_data.c b/arch/arm/mach-omap2/abb44xx_data.c
-new file mode 100644
-index 0000000..a7cf855
---- /dev/null
-+++ b/arch/arm/mach-omap2/abb44xx_data.c
-@@ -0,0 +1,44 @@
-+/*
-+ * OMAP44xx Adaptive Body-Bias (ABB) data
-+ *
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-+ * Mike Turquette <mturquette at ti.com>
-+ *
-+ * 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 "abb.h"
-+#include "prm44xx.h"
-+#include "prm-regbits-44xx.h"
-+
-+static const struct omap_abb_ops omap4_abb_ops = {
-+	.check_tranxdone   = &omap4_prm_abb_check_txdone,
-+	.clear_tranxdone   = &omap4_prm_abb_clear_txdone,
-+};
-+
-+static const struct omap_abb_common omap4_abb_common = {
-+	.opp_sel_mask		= OMAP4430_OPP_SEL_MASK,
-+	.opp_change_mask	= OMAP4430_OPP_CHANGE_MASK,
-+	.sr2en_mask		= OMAP4430_SR2EN_MASK,
-+	.active_fbb_sel_mask	= OMAP4430_ACTIVE_FBB_SEL_MASK,
-+	.sr2_wtcnt_value_mask	= OMAP4430_SR2_WTCNT_VALUE_MASK,
-+	.settling_time		= 50,
-+	.clock_cycles		= 16,
-+	.ops			= &omap4_abb_ops,
-+};
-+
-+struct omap_abb_instance omap4_abb_mpu = {
-+	.setup_offs		= OMAP4_PRM_LDO_ABB_MPU_SETUP_OFFSET,
-+	.ctrl_offs		= OMAP4_PRM_LDO_ABB_MPU_CTRL_OFFSET,
-+	.prm_irq_id		= OMAP4_PRM_IRQ_VDD_MPU_ID,
-+	.common			= &omap4_abb_common,
-+};
-+
-+struct omap_abb_instance omap4_abb_iva = {
-+	.setup_offs		= OMAP4_PRM_LDO_ABB_IVA_SETUP_OFFSET,
-+	.ctrl_offs		= OMAP4_PRM_LDO_ABB_IVA_CTRL_OFFSET,
-+	.prm_irq_id		= OMAP4_PRM_IRQ_VDD_IVA_ID,
-+	.common			= &omap4_abb_common,
-+};
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0005-OMAP3-OPP-add-ABB-data-to-voltage-tables.patch b/recipes-kernel/linux/linux-3.0/bias/0005-OMAP3-OPP-add-ABB-data-to-voltage-tables.patch
deleted file mode 100644
index eb959ff..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0005-OMAP3-OPP-add-ABB-data-to-voltage-tables.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-From 8d85fedcb9866f5041e2c63b54d3eff7fd88cf18 Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Wed, 29 Jun 2011 17:25:57 -0700
-Subject: [PATCH 5/8] OMAP3+: OPP: add ABB data to voltage tables
-
-The operating mode of the Adaptive Body-Bias ldo maps directly to the
-voltage of its voltage domain.  The two modes supported are bypass and
-Forward Body-Bias (FBB).
-
-This patch models this relationship by adding an opp_sel paramter to
-struct omap_volt_data and populates this type in the 3630 and 4430
-voltage tables.
-
-NOMINAL_OPP causes the ABB ldo to be in bypass at that specific voltage.
-FAST_OPP causes the ldo to operate in Forward Body-Bias mode.
-
-Not all voltage domains have an ABB ldo and 3430 doesn't have one at
-all.  In such cases voltages are marked with OMAP_ABB_NO_LDO.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/omap_opp_data.h |    5 ++-
- arch/arm/mach-omap2/opp3xxx_data.c  |   37 ++++++++++++++++++-----------------
- arch/arm/mach-omap2/opp4xxx_data.c  |   25 ++++++++++++-----------
- arch/arm/mach-omap2/voltage.h       |    1 +
- 4 files changed, 36 insertions(+), 32 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_opp_data.h b/arch/arm/mach-omap2/omap_opp_data.h
-index c784c12..5dd4dea 100644
---- a/arch/arm/mach-omap2/omap_opp_data.h
-+++ b/arch/arm/mach-omap2/omap_opp_data.h
-@@ -71,12 +71,13 @@ struct omap_opp_def {
-  * Initialization wrapper used to define SmartReflex process data
-  * XXX Is this needed?  Just use C99 initializers in data files?
-  */
--#define VOLT_DATA_DEFINE(_v_nom, _efuse_offs, _errminlimit, _errgain)  \
-+#define VOLT_DATA_DEFINE(_v_nom, _efuse_offs, _errminlimit, _errgain, _opp_sel) \
- {								       \
- 	.volt_nominal	= _v_nom,				       \
- 	.sr_efuse_offs	= _efuse_offs,				       \
- 	.sr_errminlimit = _errminlimit,				       \
--	.vp_errgain	= _errgain				       \
-+	.vp_errgain	= _errgain,				       \
-+	.opp_sel	= _opp_sel				       \
- }
- 
- /* Use this to initialize the default table */
-diff --git a/arch/arm/mach-omap2/opp3xxx_data.c b/arch/arm/mach-omap2/opp3xxx_data.c
-index d95f3f9..12fc2da 100644
---- a/arch/arm/mach-omap2/opp3xxx_data.c
-+++ b/arch/arm/mach-omap2/opp3xxx_data.c
-@@ -24,6 +24,7 @@
- #include "control.h"
- #include "omap_opp_data.h"
- #include "pm.h"
-+#include "abb.h"
- 
- /* 34xx */
- 
-@@ -36,12 +37,12 @@
- #define OMAP3430_VDD_MPU_OPP5_UV		1350000
- 
- struct omap_volt_data omap34xx_vddmpu_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD1, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD1, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD1, 0xf9, 0x18),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP4_UV, OMAP343X_CONTROL_FUSE_OPP4_VDD1, 0xf9, 0x18),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP5_UV, OMAP343X_CONTROL_FUSE_OPP5_VDD1, 0xf9, 0x18),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD1, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD1, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD1, 0xf9, 0x18, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP4_UV, OMAP343X_CONTROL_FUSE_OPP4_VDD1, 0xf9, 0x18, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_MPU_OPP5_UV, OMAP343X_CONTROL_FUSE_OPP5_VDD1, 0xf9, 0x18, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- /* VDD2 */
-@@ -51,10 +52,10 @@ struct omap_volt_data omap34xx_vddmpu_volt_data[] = {
- #define OMAP3430_VDD_CORE_OPP3_UV		1150000
- 
- struct omap_volt_data omap34xx_vddcore_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD2, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD2, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD2, 0xf9, 0x18),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP1_UV, OMAP343X_CONTROL_FUSE_OPP1_VDD2, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP2_UV, OMAP343X_CONTROL_FUSE_OPP2_VDD2, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3430_VDD_CORE_OPP3_UV, OMAP343X_CONTROL_FUSE_OPP3_VDD2, 0xf9, 0x18, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- /* 36xx */
-@@ -67,11 +68,11 @@ struct omap_volt_data omap34xx_vddcore_volt_data[] = {
- #define OMAP3630_VDD_MPU_OPP1G_UV		1375000
- 
- struct omap_volt_data omap36xx_vddmpu_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16),
--	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23),
--	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD1, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD1, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP120_UV, OMAP3630_CONTROL_FUSE_OPP120_VDD1, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_MPU_OPP1G_UV, OMAP3630_CONTROL_FUSE_OPP1G_VDD1, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- /* VDD2 */
-@@ -80,9 +81,9 @@ struct omap_volt_data omap36xx_vddmpu_volt_data[] = {
- #define OMAP3630_VDD_CORE_OPP100_UV		1200000
- 
- struct omap_volt_data omap36xx_vddcore_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD2, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD2, 0xf9, 0x16),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP50_UV, OMAP3630_CONTROL_FUSE_OPP50_VDD2, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP3630_VDD_CORE_OPP100_UV, OMAP3630_CONTROL_FUSE_OPP100_VDD2, 0xf9, 0x16, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- /* OPP data */
-diff --git a/arch/arm/mach-omap2/opp4xxx_data.c b/arch/arm/mach-omap2/opp4xxx_data.c
-index 2293ba2..efdbf91 100644
---- a/arch/arm/mach-omap2/opp4xxx_data.c
-+++ b/arch/arm/mach-omap2/opp4xxx_data.c
-@@ -25,6 +25,7 @@
- #include "control.h"
- #include "omap_opp_data.h"
- #include "pm.h"
-+#include "abb.h"
- 
- /*
-  * Structures containing OMAP4430 voltage supported and various
-@@ -37,11 +38,11 @@
- #define OMAP4430_VDD_MPU_OPPNITRO_UV		1375000
- 
- struct omap_volt_data omap44xx_vdd_mpu_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP50_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPP100_UV, OMAP44XX_CONTROL_FUSE_MPU_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_MPU_OPPNITRO_UV, OMAP44XX_CONTROL_FUSE_MPU_OPPNITRO, 0xfa, 0x27, OMAP_ABB_FAST_OPP),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- #define OMAP4430_VDD_IVA_OPP50_UV		1013000
-@@ -49,19 +50,19 @@ struct omap_volt_data omap44xx_vdd_mpu_volt_data[] = {
- #define OMAP4430_VDD_IVA_OPPTURBO_UV		1300000
- 
- struct omap_volt_data omap44xx_vdd_iva_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP50_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP50, 0xf4, 0x0c, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPP100_UV, OMAP44XX_CONTROL_FUSE_IVA_OPP100, 0xf9, 0x16, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_IVA_OPPTURBO_UV, OMAP44XX_CONTROL_FUSE_IVA_OPPTURBO, 0xfa, 0x23, OMAP_ABB_NOMINAL_OPP),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- #define OMAP4430_VDD_CORE_OPP50_UV		1025000
- #define OMAP4430_VDD_CORE_OPP100_UV		1200000
- 
- struct omap_volt_data omap44xx_vdd_core_volt_data[] = {
--	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c),
--	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16),
--	VOLT_DATA_DEFINE(0, 0, 0, 0),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP50_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP50, 0xf4, 0x0c, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(OMAP4430_VDD_CORE_OPP100_UV, OMAP44XX_CONTROL_FUSE_CORE_OPP100, 0xf9, 0x16, OMAP_ABB_NO_LDO),
-+	VOLT_DATA_DEFINE(0, 0, 0, 0, 0),
- };
- 
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index b4c6259..2aa6c43 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -105,6 +105,7 @@ struct omap_volt_data {
- 	u32	sr_efuse_offs;
- 	u8	sr_errminlimit;
- 	u8	vp_errgain;
-+	u32	opp_sel;
- };
- 
- /**
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0006-OMAP3-Voltage-add-ABB-data-to-voltage-domains.patch b/recipes-kernel/linux/linux-3.0/bias/0006-OMAP3-Voltage-add-ABB-data-to-voltage-domains.patch
deleted file mode 100644
index 3850fea..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0006-OMAP3-Voltage-add-ABB-data-to-voltage-domains.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 4a0f2caa6d49e185eac84e361ee4b40783ffeb16 Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Thu, 21 Jul 2011 12:31:50 +0200
-Subject: [PATCH 6/8] OMAP3+: Voltage: add ABB data to voltage domains
-
-Starting with OMAP36xx, some voltage domains have an ABB ldo meant to
-insure stability when that voltage domain is operating at a high OPP.
-
-This patch adds struct omap_abb_instance to struct voltagedomain and
-populates the data for those voltage domains that have an ABB ldo on
-both 36xx and 44xx silicon.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/voltage.h                 |    1 +
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    3 +++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    3 +++
- 3 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 2aa6c43..4fe35d7 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -69,6 +69,7 @@ struct voltagedomain {
- 	struct omap_vc_channel *vc;
- 	const struct omap_vfsm_instance *vfsm;
- 	struct omap_vp_instance *vp;
-+	struct omap_abb_instance *abb;
- 	struct omap_voltdm_pmic *pmic;
- 
- 	/* VC/VP register access functions: SoC specific */
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index b0d0ae1..cdcfbdf 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -26,6 +26,7 @@
- #include "voltage.h"
- #include "vc.h"
- #include "vp.h"
-+#include "abb.h"
- 
- /*
-  * VDD data
-@@ -90,6 +91,8 @@ void __init omap3xxx_voltagedomains_init(void)
- 	if (cpu_is_omap3630()) {
- 		omap3_voltdm_mpu.volt_data = omap36xx_vddmpu_volt_data;
- 		omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data;
-+
-+		omap3_voltdm_mpu.abb = &omap36xx_abb_mpu;
- 	} else {
- 		omap3_voltdm_mpu.volt_data = omap34xx_vddmpu_volt_data;
- 		omap3_voltdm_core.volt_data = omap34xx_vddcore_volt_data;
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index c4584e9..11e2458 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -31,6 +31,7 @@
- #include "omap_opp_data.h"
- #include "vc.h"
- #include "vp.h"
-+#include "abb.h"
- 
- static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
-@@ -53,6 +54,7 @@ static struct voltagedomain omap4_voltdm_mpu = {
- 	.vc = &omap4_vc_mpu,
- 	.vfsm = &omap4_vdd_mpu_vfsm,
- 	.vp = &omap4_vp_mpu,
-+	.abb = &omap4_abb_mpu,
- };
- 
- static struct voltagedomain omap4_voltdm_iva = {
-@@ -64,6 +66,7 @@ static struct voltagedomain omap4_voltdm_iva = {
- 	.vc = &omap4_vc_iva,
- 	.vfsm = &omap4_vdd_iva_vfsm,
- 	.vp = &omap4_vp_iva,
-+	.abb = &omap4_abb_iva,
- };
- 
- static struct voltagedomain omap4_voltdm_core = {
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0007-OMAP3-ABB-initialization-transition-functions.patch b/recipes-kernel/linux/linux-3.0/bias/0007-OMAP3-ABB-initialization-transition-functions.patch
deleted file mode 100644
index 88858cf..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0007-OMAP3-ABB-initialization-transition-functions.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-From 35fc68e090a4f4241c7b3488fd24e82b3f839994 Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Wed, 29 Jun 2011 17:25:59 -0700
-Subject: [PATCH 7/8] OMAP3+: ABB: initialization & transition functions
-
-The Adaptive Body-Bias ldo can be set to bypass or Forward Body-Bias
-after voltage scaling is performed.
-
-This patch implements the Adaptive Body-Bias ldo initialization routine
-and the transition sequence which is needed after a vc_bypass or
-vp_forceupdate sequence completes.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/Makefile |    2 +-
- arch/arm/mach-omap2/abb.c    |  218 ++++++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/abb.h    |    5 +
- 3 files changed, 224 insertions(+), 1 deletions(-)
- create mode 100644 arch/arm/mach-omap2/abb.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 5bc306c..d0dd488 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -94,7 +94,7 @@ obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
- 
- # OMAP voltage domains
- ifeq ($(CONFIG_PM),y)
--voltagedomain-common			:= voltage.o vc.o vp.o
-+voltagedomain-common			:= voltage.o vc.o vp.o abb.o
- obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common) \
- 					   voltagedomains2xxx_data.o
- obj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common) \
-diff --git a/arch/arm/mach-omap2/abb.c b/arch/arm/mach-omap2/abb.c
-new file mode 100644
-index 0000000..4d42b67
---- /dev/null
-+++ b/arch/arm/mach-omap2/abb.c
-@@ -0,0 +1,218 @@
-+/*
-+ * OMAP Adaptive Body-Bias core
-+ *
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-+ * Mike Turquette <mturquette at ti.com>
-+ *
-+ * 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/init.h>
-+#include <linux/delay.h>
-+
-+#include "abb.h"
-+#include "voltage.h"
-+
-+/*
-+ * omap_abb_set_opp - program ABB ldo based on new voltage
-+ *
-+ * @voltdm - pointer to voltage domain that just finished scaling voltage
-+ *
-+ * Look up the ABB ldo state for the new voltage that voltdm just finished
-+ * transitioning to and compare it to current ldo state.  If a change is needed
-+ * then clear appropriate PRM_IRQSTATUS bit, transition ldo and then clear
-+ * PRM_IRQSTATUS bit again.  Returns 0 on success, -EERROR otherwise.
-+ */
-+int omap_abb_set_opp(struct voltagedomain *voltdm)
-+{
-+	struct omap_abb_instance *abb = voltdm->abb;
-+	struct omap_volt_data *volt_data;
-+	int ret, timeout;
-+	u8 opp_sel;
-+
-+	/* fetch the ABB ldo OPP_SEL value for the new voltage */
-+	volt_data = omap_voltage_get_voltdata(voltdm, voltdm->nominal_volt);
-+
-+	if (IS_ERR_OR_NULL(volt_data))
-+		return -EINVAL;
-+
-+	opp_sel = volt_data->opp_sel;
-+
-+	/* bail early if no transition is necessary */
-+	if (opp_sel == abb->_opp_sel)
-+		return 0;
-+
-+	/* clear interrupt status */
-+	timeout = 0;
-+	while (timeout++ < ABB_TRANXDONE_TIMEOUT) {
-+		abb->common->ops->clear_tranxdone(abb->prm_irq_id);
-+
-+		ret = abb->common->ops->check_tranxdone(abb->prm_irq_id);
-+		if (!ret)
-+			break;
-+
-+		udelay(1);
-+	}
-+
-+	if (timeout>= ABB_TRANXDONE_TIMEOUT) {
-+		pr_warning("%s: vdd_%s ABB TRANXDONE timeout\n",
-+				__func__, voltdm->name);
-+		return -ETIMEDOUT;
-+	}
-+
-+	/* program next state of ABB ldo */
-+	voltdm->rmw(abb->common->opp_sel_mask,
-+			opp_sel << __ffs(abb->common->opp_sel_mask),
-+			abb->ctrl_offs);
-+
-+	/* initiate ABB ldo change */
-+	voltdm->rmw(abb->common->opp_change_mask,
-+			abb->common->opp_change_mask,
-+			abb->ctrl_offs);
-+
-+	/* clear interrupt status */
-+	timeout = 0;
-+	while (timeout++ < ABB_TRANXDONE_TIMEOUT) {
-+		abb->common->ops->clear_tranxdone(abb->prm_irq_id);
-+
-+		ret = abb->common->ops->check_tranxdone(abb->prm_irq_id);
-+		if (!ret)
-+			break;
-+
-+		udelay(1);
-+	}
-+
-+	if (timeout>= ABB_TRANXDONE_TIMEOUT) {
-+		pr_warning("%s: vdd_%s ABB TRANXDONE timeout\n",
-+				__func__, voltdm->name);
-+		return -ETIMEDOUT;
-+	}
-+
-+	/* track internal state */
-+	abb->_opp_sel = opp_sel;
-+
-+	return 0;
-+}
-+
-+/*
-+ * omap_abb_enable - enable ABB ldo on a particular voltage domain
-+ *
-+ * @voltdm - pointer to particular voltage domain
-+ */
-+void omap_abb_enable(struct voltagedomain *voltdm)
-+{
-+	struct omap_abb_instance *abb = voltdm->abb;
-+
-+	if (abb->enabled)
-+		return;
-+
-+	abb->enabled = true;
-+
-+	voltdm->rmw(abb->common->sr2en_mask, abb->common->sr2en_mask,
-+			abb->setup_offs);
-+}
-+
-+/*
-+ * omap_abb_disable - disable ABB ldo on a particular voltage domain
-+ *
-+ * @voltdm - pointer to particular voltage domain
-+ *
-+ * Included for completeness.  Not currently used but will be needed in the
-+ * future if ABB is converted to a loadable module.
-+ */
-+void omap_abb_disable(struct voltagedomain *voltdm)
-+{
-+	struct omap_abb_instance *abb = voltdm->abb;
-+
-+	if (!abb->enabled)
-+		return;
-+
-+	abb->enabled = false;
-+
-+	voltdm->rmw(abb->common->sr2en_mask,
-+			(0 << __ffs(abb->common->sr2en_mask)),
-+			abb->setup_offs);
-+}
-+
-+/*
-+ * omap_abb_init - Initialize an ABB ldo instance
-+ *
-+ * @voltdm: voltage domain upon which ABB ldo resides
-+ *
-+ * Initializes an individual ABB ldo for Forward Body-Bias.  FBB is used to
-+ * insure stability at higher voltages.  Note that some older OMAP chips have a
-+ * Reverse Body-Bias mode meant to save power at low voltage, but that mode is
-+ * unsupported and phased out on newer chips.
-+ */
-+void __init omap_abb_init(struct voltagedomain *voltdm)
-+{
-+	struct omap_abb_instance *abb = voltdm->abb;
-+	u32 sys_clk_rate;
-+	u32 sr2_wt_cnt_val;
-+	u32 clock_cycles;
-+	u32 settling_time;
-+	u32 val;
-+
-+	if(IS_ERR_OR_NULL(abb))
-+		return;
-+
-+	/*
-+	 * SR2_WTCNT_VALUE is the settling time for the ABB ldo after a
-+	 * transition and must be programmed with the correct time at boot.
-+	 * The value programmed into the register is the number of SYS_CLK
-+	 * clock cycles that match a given wall time profiled for the ldo.
-+	 * This value depends on:
-+	 * 	settling time of ldo in micro-seconds (varies per OMAP family)
-+	 * 	# of clock cycles per SYS_CLK period (varies per OMAP family)
-+	 * 	the SYS_CLK frequency in MHz (varies per board)
-+	 * The formula is:
-+	 *
-+	 *                      ldo settling time (in micro-seconds)
-+	 * SR2_WTCNT_VALUE = ------------------------------------------
-+	 *                   (# system clock cycles) * (sys_clk period)
-+	 *
-+	 * Put another way:
-+	 *
-+	 * SR2_WTCNT_VALUE = settling time / (# SYS_CLK cycles / SYS_CLK rate))
-+	 *
-+	 * To avoid dividing by zero multiply both "# clock cycles" and
-+	 * "settling time" by 10 such that the final result is the one we want.
-+	 */
-+
-+	/* convert SYS_CLK rate to MHz & prevent divide by zero */
-+	sys_clk_rate = DIV_ROUND_CLOSEST(voltdm->sys_clk.rate, 1000000);
-+	clock_cycles = abb->common->clock_cycles * 10;
-+	settling_time = abb->common->settling_time * 10;
-+
-+	/* calculate cycle rate */
-+	clock_cycles = DIV_ROUND_CLOSEST(clock_cycles, sys_clk_rate);
-+
-+	/* calulate SR2_WTCNT_VALUE */
-+	sr2_wt_cnt_val = DIV_ROUND_CLOSEST(settling_time, clock_cycles);
-+
-+	voltdm->rmw(abb->common->sr2_wtcnt_value_mask,
-+			(sr2_wt_cnt_val << __ffs(abb->common->sr2_wtcnt_value_mask)),
-+			abb->setup_offs);
-+
-+	/* allow Forward Body-Bias */
-+	voltdm->rmw(abb->common->active_fbb_sel_mask,
-+			abb->common->active_fbb_sel_mask,
-+			abb->setup_offs);
-+
-+	/* did bootloader set OPP_SEL? */
-+	val = voltdm->read(abb->ctrl_offs);
-+	val &= abb->common->opp_sel_mask;
-+	abb->_opp_sel = val >> __ffs(abb->common->opp_sel_mask);
-+
-+	/* enable the ldo if not done by bootloader */
-+	val = voltdm->read(abb->setup_offs);
-+	val &= abb->common->sr2en_mask;
-+	if (val)
-+		abb->enabled = true;
-+	else
-+		omap_abb_enable(voltdm);
-+
-+	return;
-+}
-diff --git a/arch/arm/mach-omap2/abb.h b/arch/arm/mach-omap2/abb.h
-index 74f2044..c06c7d6 100644
---- a/arch/arm/mach-omap2/abb.h
-+++ b/arch/arm/mach-omap2/abb.h
-@@ -82,4 +82,9 @@ extern struct omap_abb_instance omap36xx_abb_mpu;
- extern struct omap_abb_instance omap4_abb_mpu;
- extern struct omap_abb_instance omap4_abb_iva;
- 
-+void omap_abb_init(struct voltagedomain *voltdm);
-+void omap_abb_enable(struct voltagedomain *voltdm);
-+void omap_abb_disble(struct voltagedomain *voltdm);
-+int omap_abb_set_opp(struct voltagedomain *voltdm);
-+
- #endif
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/bias/0008-OMAP3-Voltage-add-ABB-to-voltage-scaling.patch b/recipes-kernel/linux/linux-3.0/bias/0008-OMAP3-Voltage-add-ABB-to-voltage-scaling.patch
deleted file mode 100644
index bba8410..0000000
--- a/recipes-kernel/linux/linux-3.0/bias/0008-OMAP3-Voltage-add-ABB-to-voltage-scaling.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From ee2b116a1ee82ec94108035ed1ae047d69aee215 Mon Sep 17 00:00:00 2001
-From: Mike Turquette <mturquette at ti.com>
-Date: Thu, 21 Jul 2011 12:36:37 +0200
-Subject: [PATCH 8/8] OMAP3+: Voltage: add ABB to voltage scaling
-
-Adaptive Body-Bias ldo state should be transitioned (if necessary) after
-a voltage scaling sequence completes via vc_bypass or vp_forceupdate
-methods.
-
-This patch initializes the ABB ldo's as a part of the greater voltage
-initialization function and adds the ABB transition routine to both the
-vc_bypass and vp_forceupdate sequences.
-
-Signed-off-by: Mike Turquette <mturquette at ti.com>
----
- arch/arm/mach-omap2/vc.c      |   10 ++++++++--
- arch/arm/mach-omap2/voltage.c |    4 ++++
- arch/arm/mach-omap2/vp.c      |    9 +++++++--
- 3 files changed, 19 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 16fa912..c5d8550 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -6,6 +6,7 @@
- 
- #include "voltage.h"
- #include "vc.h"
-+#include "abb.h"
- #include "prm-regbits-34xx.h"
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
-@@ -153,7 +154,7 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 	u32 loop_cnt = 0, retries_cnt = 0;
- 	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
- 	u8 target_vsel, current_vsel;
--	int ret;
-+	int ret = 0;
- 
- 	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
-@@ -191,7 +192,12 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 	}
- 
- 	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
--	return 0;
-+
-+	/* transition Adaptive Body-Bias ldo */
-+	if (voltdm->abb)
-+		ret = omap_abb_set_opp(voltdm);
-+
-+	return ret;
- }
- 
- static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index cebc8b1..25f8604 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -40,6 +40,7 @@
- 
- #include "vc.h"
- #include "vp.h"
-+#include "abb.h"
- 
- static LIST_HEAD(voltdm_list);
- 
-@@ -279,6 +280,9 @@ int __init omap_voltage_late_init(void)
- 			voltdm->scale = omap_vp_forceupdate_scale;
- 			omap_vp_init(voltdm);
- 		}
-+
-+		if (voltdm->abb)
-+			omap_abb_init(voltdm);
- 	}
- 
- 	return 0;
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 66bd700..886be89 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -5,6 +5,7 @@
- 
- #include "voltage.h"
- #include "vp.h"
-+#include "abb.h"
- #include "prm-regbits-34xx.h"
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
-@@ -116,7 +117,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	struct omap_vp_instance *vp = voltdm->vp;
- 	u32 vpconfig;
- 	u8 target_vsel, current_vsel;
--	int ret, timeout = 0;
-+	int ret = 0, timeout = 0;
- 
- 	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
-@@ -178,7 +179,11 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	/* Clear force bit */
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
--	return 0;
-+	/* transition Adaptive Body-Bias LDO */
-+	if (voltdm->abb)
-+		ret = omap_abb_set_opp(voltdm);
-+
-+	return ret;
- }
- 
- /**
--- 
-1.6.6.1
-
diff --git a/recipes-kernel/linux/linux-3.0/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch b/recipes-kernel/linux/linux-3.0/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
deleted file mode 100644
index 35b9abb..0000000
--- a/recipes-kernel/linux/linux-3.0/madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 174f636d95d1f6aa6fc6ba3e81282fb49b0feecd Mon Sep 17 00:00:00 2001
-From: Keerthy <j-keerthy at ti.com>
-Date: Wed, 4 May 2011 01:14:50 +0530
-Subject: [PATCH 1/2] Enabling Hwmon driver for twl4030-madc
-
-Signed-off-by: Keerthy <j-keerthy at ti.com>
----
- drivers/mfd/twl-core.c |   15 +++++++++++++++
- 1 files changed, 15 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
-index f82413a..e39dbed 100644
---- a/drivers/mfd/twl-core.c
-+++ b/drivers/mfd/twl-core.c
-@@ -83,6 +83,13 @@
- #define twl_has_madc()	false
- #endif
- 
-+#if defined(CONFIG_SENSORS_TWL4030_MADC) ||\
-+	 defined(CONFIG_SENSORS_TWL4030_MADC_MODULE)
-+#define twl_has_madc_hwmon()  true
-+#else
-+#define twl_has_madc_hwmon()  false
-+#endif
-+
- #ifdef CONFIG_TWL4030_POWER
- #define twl_has_power()        true
- #else
-@@ -669,6 +676,14 @@ add_children(struct twl4030_platform_data *pdata, unsigned long features)
- 			return PTR_ERR(child);
- 	}
- 
-+if (twl_has_madc_hwmon()) {
-+		child = add_child(2, "twl4030_madc_hwmon",
-+				NULL, 0,
-+				true, pdata->irq_base + MADC_INTR_OFFSET, 0);
-+		if (IS_ERR(child))
-+			return PTR_ERR(child);
-+	}
-+
- 	if (twl_has_rtc()) {
- 		/*
- 		 * REVISIT platform_data here currently might expose the
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/madc/0002-mfd-twl-core-enable-madc-clock.patch b/recipes-kernel/linux/linux-3.0/madc/0002-mfd-twl-core-enable-madc-clock.patch
deleted file mode 100644
index 015ab6d..0000000
--- a/recipes-kernel/linux/linux-3.0/madc/0002-mfd-twl-core-enable-madc-clock.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From f4aed769e9e59998f44447e7309e192573e6fac6 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Sat, 23 Jan 2010 06:26:54 -0800
-Subject: [PATCH 2/2] mfd: twl-core: enable madc clock
-
-Now that the madc driver has been merged it is also necessary to enable the clock to the madc block
-
-Signed-off-by: Steve Sakoman <steve at sakoman.com>
----
- drivers/mfd/twl-core.c  |    8 ++++++++
- include/linux/i2c/twl.h |    1 +
- 2 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
-index e39dbed..018ee53 100644
---- a/drivers/mfd/twl-core.c
-+++ b/drivers/mfd/twl-core.c
-@@ -217,6 +217,11 @@
- 
- /* Few power values */
- #define R_CFG_BOOT			0x05
-+#define R_GPBR1				0x0C
-+
-+/* MADC clock values for R_GPBR1 */
-+#define MADC_HFCLK_EN			0x80
-+#define DEFAULT_MADC_CLK_EN		0x10
- 
- /* some fields in R_CFG_BOOT */
- #define HFCLK_FREQ_19p2_MHZ		(1 << 0)
-@@ -1152,6 +1157,9 @@ static void clocks_init(struct device *dev,
- 
- 	e |= unprotect_pm_master();
- 	/* effect->MADC+USB ck en */
-+	if (twl_has_madc())
-+		e |= twl_i2c_write_u8(TWL_MODULE_INTBR,
-+				MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
- 	e |= twl_i2c_write_u8(TWL_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
- 	e |= protect_pm_master();
- 
-diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
-index ba4f886..6802efc 100644
---- a/include/linux/i2c/twl.h
-+++ b/include/linux/i2c/twl.h
-@@ -74,6 +74,7 @@
- 
- #define TWL_MODULE_USB		TWL4030_MODULE_USB
- #define TWL_MODULE_AUDIO_VOICE	TWL4030_MODULE_AUDIO_VOICE
-+#define TWL_MODULE_INTBR	TWL4030_MODULE_INTBR
- #define TWL_MODULE_PIH		TWL4030_MODULE_PIH
- #define TWL_MODULE_MADC		TWL4030_MODULE_MADC
- #define TWL_MODULE_MAIN_CHARGE	TWL4030_MODULE_MAIN_CHARGE
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch b/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
deleted file mode 100644
index bf2f6e7..0000000
--- a/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 6f92ab6de9d8daeb575949bbbcbc7bcdcebc60af Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem at gmail.com>
-Date: Thu, 5 Jan 2012 11:42:35 -0800
-Subject: [PATCH] compiler.h: Undef before redefining __attribute_const__
-
-This is required to avoid warnings like
-util/include/linux/compiler.h:8:0: error: "__attribute_const__" redefined [-Werror]
-
-Signed-off-by: Khem Raj <raj.khem at gmail.com>
-
-Upstream-Status: Pending
-
----
- tools/perf/util/include/linux/compiler.h |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
---- a/tools/perf/util/include/linux/compiler.h
-+++ b/tools/perf/util/include/linux/compiler.h
-@@ -4,9 +4,11 @@
- #ifndef __always_inline
- #define __always_inline	inline
- #endif
-+#undef __user
- #define __user
-+#undef __attribute_const__
- #define __attribute_const__
--
-+#undef __used
- #define __used		__attribute__((__unused__))
- 
- #endif
diff --git a/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch b/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch
deleted file mode 100644
index 7019381..0000000
--- a/recipes-kernel/linux/linux-3.0/misc/0002-OMAP2-OPP-allow-OPP-enumeration-to-continue-if-devic.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c15f217f7d07c460763a092f31f61b1975a18563 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Fri, 16 Mar 2012 11:19:09 -0500
-Subject: [PATCH 2/2] OMAP2+: OPP: allow OPP enumeration to continue if device is not present
-
-On platforms such as OMAP3, certain variants may not have IVA, SGX
-or some specific component. We currently have a check to aid fixing
-wrong population of OPP entries for issues such as typos. This however
-causes a conflict with valid requirement where the SoC variant does
-not actually have the module present.
-
-So, reduce the severity of the print to a debug statement and skip
-registering that specific OPP, but continue down the list.
-
-Reported-by: Steve Sakoman <steve at sakoman.com>
-Reported-by: Maximilian Schwerin <mvs at tigris.de>
-Acked-by: Steve Sakoman <steve at sakoman.com>
-Tested-by: Maximilian Schwerin <mvs at tigris.de>
-Signed-off-by: Nishanth Menon <nm at ti.com>
----
- arch/arm/mach-omap2/opp.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/opp.c b/arch/arm/mach-omap2/opp.c
-index ab8b35b..f111b82 100644
---- a/arch/arm/mach-omap2/opp.c
-+++ b/arch/arm/mach-omap2/opp.c
-@@ -64,10 +64,10 @@ int __init omap_init_opp_table(struct omap_opp_def *opp_def,
- 		}
- 		oh = omap_hwmod_lookup(opp_def->hwmod_name);
- 		if (!oh || !oh->od) {
--			pr_warn("%s: no hwmod or odev for %s, [%d] "
-+			pr_debug("%s: no hwmod or odev for %s, [%d] "
- 				"cannot add OPPs.\n", __func__,
- 				opp_def->hwmod_name, i);
--			return -EINVAL;
-+			continue;
- 		}
- 		dev = &oh->od->pdev.dev;
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch b/recipes-kernel/linux/linux-3.0/omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch
deleted file mode 100644
index 695301b..0000000
--- a/recipes-kernel/linux/linux-3.0/omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 44ab86140417f173835e19bed62d6832023f2914 Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Wed, 17 Aug 2011 16:02:55 +0200
-Subject: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds
-
-Commit b22f954 (OMAP4: Move common twl6030 configuration to twl-common)
-caused compile failures for code for OMAP arch which is not selected by
-the config.
-
-Fixes issues like:
-With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:
-
-arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to `omap4430_phy_init'
-arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to `omap4430_phy_exit'
-arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to `omap4430_phy_power'
-arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to `omap4430_phy_set_clk'
-arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to `omap4430_phy_suspend'
-
-Fix the problem by moving the code to ifdef sections for omap3 and omap4.
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-[tony at atomide.com: updated comments]
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/twl-common.c |   77 ++++++++++++++++++++------------------
- 1 files changed, 41 insertions(+), 36 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
-index 3aaa46f..58409c0 100644
---- a/arch/arm/mach-omap2/twl-common.c
-+++ b/arch/arm/mach-omap2/twl-common.c
-@@ -48,14 +48,7 @@ void __init omap_pmic_init(int bus, u32 clkrate,
- 	omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
- }
- 
--static struct twl4030_usb_data omap4_usb_pdata = {
--	.phy_init	= omap4430_phy_init,
--	.phy_exit	= omap4430_phy_exit,
--	.phy_power	= omap4430_phy_power,
--	.phy_set_clock	= omap4430_phy_set_clk,
--	.phy_suspend	= omap4430_phy_suspend,
--};
--
-+#if defined(CONFIG_ARCH_OMAP3)
- static struct twl4030_usb_data omap3_usb_pdata = {
- 	.usb_mode	= T2_USB_MODE_ULPI,
- };
-@@ -122,6 +115,45 @@ static struct regulator_init_data omap3_vpll2_idata = {
- 	.consumer_supplies		= omap3_vpll2_supplies,
- };
- 
-+void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
-+				  u32 pdata_flags, u32 regulators_flags)
-+{
-+	if (!pmic_data->irq_base)
-+		pmic_data->irq_base = TWL4030_IRQ_BASE;
-+	if (!pmic_data->irq_end)
-+		pmic_data->irq_end = TWL4030_IRQ_END;
-+
-+	/* Common platform data configurations */
-+	if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
-+		pmic_data->usb = &omap3_usb_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci)
-+		pmic_data->bci = &omap3_bci_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_MADC && !pmic_data->madc)
-+		pmic_data->madc = &omap3_madc_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec)
-+		pmic_data->codec = &omap3_codec_pdata;
-+
-+	/* Common regulator configurations */
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
-+		pmic_data->vdac = &omap3_vdac_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VPLL2 && !pmic_data->vpll2)
-+		pmic_data->vpll2 = &omap3_vpll2_idata;
-+}
-+#endif /* CONFIG_ARCH_OMAP3 */
-+
-+#if defined(CONFIG_ARCH_OMAP4)
-+static struct twl4030_usb_data omap4_usb_pdata = {
-+	.phy_init	= omap4430_phy_init,
-+	.phy_exit	= omap4430_phy_exit,
-+	.phy_power	= omap4430_phy_power,
-+	.phy_set_clock	= omap4430_phy_set_clk,
-+	.phy_suspend	= omap4430_phy_suspend,
-+};
-+
- static struct regulator_init_data omap4_vdac_idata = {
- 	.constraints = {
- 		.min_uV			= 1800000,
-@@ -274,31 +306,4 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
- 		pmic_data->clk32kg = &omap4_clk32kg_idata;
- }
- 
--void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
--				  u32 pdata_flags, u32 regulators_flags)
--{
--	if (!pmic_data->irq_base)
--		pmic_data->irq_base = TWL4030_IRQ_BASE;
--	if (!pmic_data->irq_end)
--		pmic_data->irq_end = TWL4030_IRQ_END;
--
--	/* Common platform data configurations */
--	if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
--		pmic_data->usb = &omap3_usb_pdata;
--
--	if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci)
--		pmic_data->bci = &omap3_bci_pdata;
--
--	if (pdata_flags & TWL_COMMON_PDATA_MADC && !pmic_data->madc)
--		pmic_data->madc = &omap3_madc_pdata;
--
--	if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec)
--		pmic_data->codec = &omap3_codec_pdata;
--
--	/* Common regulator configurations */
--	if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
--		pmic_data->vdac = &omap3_vdac_idata;
--
--	if (regulators_flags & TWL_COMMON_REGULATOR_VPLL2 && !pmic_data->vpll2)
--		pmic_data->vpll2 = &omap3_vpll2_idata;
--}
-+#endif /* CONFIG_ARCH_OMAP4 */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/patch.sh b/recipes-kernel/linux/linux-3.0/patch.sh
deleted file mode 100755
index 31bdfe1..0000000
--- a/recipes-kernel/linux/linux-3.0/patch.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-# (c) 2009 - 2012 Koen Kooi <koen at dominion.thruhere.net>
-# This script will take a set of directories with patches and make a git tree out of it
-# After all the patches are applied it will output a SRC_URI fragment you can copy/paste into a recipe
-set -e
-
-TAG="v3.0.17"
-EXTRATAG=""
-PATCHPATH=$(dirname $0)
-
-git am --abort || echo "Do you need to make sure the patches apply cleanly first?"
-git reset --hard ${TAG}
-rm export -rf
-
-previous=${TAG}
-PATCHSET="pm-wip/voltdm pm-wip/cpufreq beagle madc sakoman sgx ulcd omap4 misc usb"
-
-# apply patches
-for patchset in ${PATCHSET} ; do
-	git am $PATCHPATH/$patchset/*
-	git tag "${TAG}-${patchset}${EXTRATAG}" -f
-done
-
-# export patches and output SRC_URI for them
-for patchset in ${PATCHSET} ; do
-	mkdir export/$patchset -p
-	( cd export/$patchset && git format-patch ${previous}..${TAG}-${patchset}${EXTRATAG} >& /dev/null && for i in *.patch ; do echo "            file://${patchset}/$i \\" ; done )
-	previous=${TAG}-${patchset}${EXTRATAG}
-done
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0001-PM-OPP-introduce-function-to-free-cpufreq-table.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0001-PM-OPP-introduce-function-to-free-cpufreq-table.patch
deleted file mode 100644
index 5b28c5f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0001-PM-OPP-introduce-function-to-free-cpufreq-table.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 3dfeff8f9ad8fa7e6e434eb4b450a11ab79131da Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 25 May 2011 00:43:26 -0700
-Subject: [PATCH 01/19] PM: OPP: introduce function to free cpufreq table
-
-cpufreq table allocated by opp_init_cpufreq_table is better
-freed by OPP layer itself. This allows future modifications to
-the table handling to be transparent to the users.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Acked-by: Kevin Hilman <khilman at ti.com>
----
- Documentation/power/opp.txt |    2 ++
- drivers/base/power/opp.c    |   17 +++++++++++++++++
- include/linux/opp.h         |    8 ++++++++
- 3 files changed, 27 insertions(+), 0 deletions(-)
-
-diff --git a/Documentation/power/opp.txt b/Documentation/power/opp.txt
-index 5ae70a12..3035d00 100644
---- a/Documentation/power/opp.txt
-+++ b/Documentation/power/opp.txt
-@@ -321,6 +321,8 @@ opp_init_cpufreq_table - cpufreq framework typically is initialized with
- 	addition to CONFIG_PM as power management feature is required to
- 	dynamically scale voltage and frequency in a system.
- 
-+opp_free_cpufreq_table - Free up the table allocated by opp_init_cpufreq_table
-+
- 7. Data Structures
- ==================
- Typically an SoC contains multiple voltage domains which are variable. Each
-diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
-index 56a6899..5cc1232 100644
---- a/drivers/base/power/opp.c
-+++ b/drivers/base/power/opp.c
-@@ -625,4 +625,21 @@ int opp_init_cpufreq_table(struct device *dev,
- 
- 	return 0;
- }
-+
-+/**
-+ * opp_free_cpufreq_table() - free the cpufreq table
-+ * @dev:	device for which we do this operation
-+ * @table:	table to free
-+ *
-+ * Free up the table allocated by opp_init_cpufreq_table
-+ */
-+void opp_free_cpufreq_table(struct device *dev,
-+				struct cpufreq_frequency_table **table)
-+{
-+	if (!table)
-+		return;
-+
-+	kfree(*table);
-+	*table = NULL;
-+}
- #endif		/* CONFIG_CPU_FREQ */
-diff --git a/include/linux/opp.h b/include/linux/opp.h
-index 5449945..7020e97 100644
---- a/include/linux/opp.h
-+++ b/include/linux/opp.h
-@@ -94,12 +94,20 @@ static inline int opp_disable(struct device *dev, unsigned long freq)
- #if defined(CONFIG_CPU_FREQ) && defined(CONFIG_PM_OPP)
- int opp_init_cpufreq_table(struct device *dev,
- 			    struct cpufreq_frequency_table **table);
-+void opp_free_cpufreq_table(struct device *dev,
-+				struct cpufreq_frequency_table **table);
- #else
- static inline int opp_init_cpufreq_table(struct device *dev,
- 			    struct cpufreq_frequency_table **table)
- {
- 	return -EINVAL;
- }
-+
-+static inline
-+void opp_free_cpufreq_table(struct device *dev,
-+				struct cpufreq_frequency_table **table)
-+{
-+}
- #endif		/* CONFIG_CPU_FREQ */
- 
- #endif		/* __LINUX_OPP_H__ */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0002-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0002-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
deleted file mode 100644
index f5fd155..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0002-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From bc2810462308f15ff90841453961200bf90a814d Mon Sep 17 00:00:00 2001
-From: Peter 'p2' De Schrijver <peter.de-schrijver at nokia.com>
-Date: Wed, 11 Aug 2010 17:02:43 -0700
-Subject: [PATCH 02/19] OMAP: CPUfreq: ensure driver initializes after cpufreq framework and governors
-
-Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver at nokia.com>
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/plat-omap/cpu-omap.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-index da4f68d..cd09d4b 100644
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ b/arch/arm/plat-omap/cpu-omap.c
-@@ -160,7 +160,7 @@ static int __init omap_cpufreq_init(void)
- 	return cpufreq_register_driver(&omap_driver);
- }
- 
--arch_initcall(omap_cpufreq_init);
-+late_initcall(omap_cpufreq_init);
- 
- /*
-  * if ever we want to remove this, upon cleanup call:
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0003-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0003-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
deleted file mode 100644
index 4805b2a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0003-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From be4be1a11360222f0b0add1dadfeaf76af199990 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at deeprootsystems.com>
-Date: Wed, 11 Aug 2010 17:05:38 -0700
-Subject: [PATCH 03/19] OMAP: CPUfreq: ensure policy is fully initialized
-
-Ensure policy min/max/cur values are initialized when OMAP
-CPUfreq driver starts.
-
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/plat-omap/cpu-omap.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-index cd09d4b..1b36664 100644
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ b/arch/arm/plat-omap/cpu-omap.c
-@@ -126,6 +126,10 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 							VERY_HI_RATE) / 1000;
- 	}
- 
-+	policy->min = policy->cpuinfo.min_freq;
-+	policy->max = policy->cpuinfo.max_freq;
-+	policy->cur = omap_getspeed(0);
-+
- 	/* FIXME: what's the actual transition time? */
- 	policy->cpuinfo.transition_latency = 300 * 1000;
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
deleted file mode 100644
index 1ec4593..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-From fcd436dfb1c2d8e4866001700a5bba2a1d4079aa Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Mon, 10 Nov 2008 17:00:25 +0530
-Subject: [PATCH 04/19] OMAP3 PM: CPUFreq driver for OMAP3
-
-CPUFreq driver for OMAP3
-
-With additional fixes and cleanups from Tero Kristo:
-- Fix rate calculation bug in omap3_select_table_rate
-- Refreshed DVFS VDD1 control against latest clock fw
-
-Signed-off-by: Tero Kristo <tero.kristo at nokia.com>
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-
-OMAP3: PM: CPUFreq: Fix omap_getspeed.
-
-Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver at nokia.com>
-
-Make sure omap cpufreq driver initializes after cpufreq framework and governors
-
-Signed-off-by: Peter 'p2' De Schrijver <peter.de-schrijver at nokia.com>
-
-merge: CPUFreq: remove obsolete funcs
-
-OMAP3 clock: Update cpufreq driver
-
-This patch removes all refrences to virtual clock
-nodes in CPUFreq driver.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Tero Kristo <tero.kristo at nokia.com>
-Signed-off-by: Jean Pihet <jpihet at mvista.com>
-
-PM: Prevent direct cpufreq scaling during initialization
-
-It is seen that the OMAP specific cpufreq initialization code tries to
-scale the MPU frequency to the highest possible without taking care of
-the voltage level. On power on reset the power IC does not provide the
-necessary voltage for the highest available MPU frequency (that would
-satisfy all Si families). This potentially is an window of opportunity
-for things to go wrong.
-
-Signed-off-by: Romit Dasgupta <romit at ti.com>
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-
-OMAP3: PM: enable 600MHz (overdrive) OPP
-
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-
-omap3: introduce cpufreq
-
-OMAP OPP layer functions now have dependencies of CONFIG_CPU_FREQ only.
-
-With this patch, omap opp layer now has its compilation flags
-bound to CONFIG_CPU_FREQ. Also its code has been removed from pm34xx.c.
-
-A new file has been created to contain cpu freq code related to
-OMAP3: cpufreq34xx.c
-
-OMAP34xx and OMAP36xx family OPPs are made available
-
-Signed-off-by: Eduardo Valentin <eduardo.valentin at nokia.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Vishwanath BS <vishwanath.bs at ti.com>
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-Signed-off-by: Romit Dasgupta <romit at ti.com>
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-
-omap3: cpufreq: allow default opp table init
-
-For board files which choose to override the defaults, the existing
-mechanism will work, for boards that would like to work with defaults,
-allow init_common_hw to call init_opp_table to initialize if not
-already initialized. this will allow all omap boards which have opp
-tables predefined for a silicon to use the same.
-
-Originally reported for overo:
-http://marc.info/?t=127265269400004&r=1&w=2
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Reported-by: Peter Tseng <tsenpet09 at gmail.com>
-Cc: Cliff Brake <cliff.brake at gmail.com>
-Cc: Kevin Hilman <khilman at deeprootsystems.com>
-
-OMAP2: update OPP data to be device based
-
-Cc: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-
-OMAP3: CPUfreq: update to device-based OPP API
-
-Update usage of OPP API to use new device-based API.  This requires
-getting the 'struct device' for the MPU and using that with the OPP
-API.
-
-Signed-off-by: Kevin Hilman <khilman at deeprootsystems.com>
-
-omap3: opp: make independent of cpufreq
-
-Make opp3xx data which is registered with the opp layer
-dependent purely on CONFIG_PM as opp layer and pm.c users
-are CONFIG_PM dependent not cpufreq dependent.
-so we rename the data definition to opp3xxx_data.c (inline with what
-we have for omap2), also move the build definition to be under
-the existing CONFIG_PM build instead of CPUFREQ.
-
-Cc: Eduardo Valentin <eduardo.valentin at nokia.com>
-Cc: Kevin Hilman <khilman at deeprootsystems.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Sanjeev Premi <premi at ti.com>
-Cc: Thara Gopinath <thara at ti.com>
-Cc: Tony Lindgren <tony at atomide.com>
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/clock.h     |   14 +++++++++++++-
- arch/arm/mach-omap2/clock34xx.c |    2 ++
- arch/arm/plat-omap/cpu-omap.c   |   34 +++++++++++++++++++++++++++++++---
- 3 files changed, 46 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
-index 48ac568..8bad1c6 100644
---- a/arch/arm/mach-omap2/clock.h
-+++ b/arch/arm/mach-omap2/clock.h
-@@ -144,7 +144,9 @@ extern const struct clksel_rate gpt_sys_rates[];
- extern const struct clksel_rate gfx_l3_rates[];
- extern const struct clksel_rate dsp_ick_rates[];
- 
--#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_CPU_FREQ)
-+#ifdef CONFIG_CPU_FREQ
-+
-+#ifdef CONFIG_ARCH_OMAP2
- extern void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
- extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
- #else
-@@ -152,6 +154,16 @@ extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
- #define omap2_clk_exit_cpufreq_table	0
- #endif
- 
-+#ifdef CONFIG_ARCH_OMAP3
-+extern void omap3_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
-+extern void omap3_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
-+#else
-+#define omap3_clk_init_cpufreq_table	0
-+#define omap3_clk_exit_cpufreq_table	0
-+#endif
-+
-+#endif /* CONFIG_CPU_FREQ */
-+
- extern const struct clkops clkops_omap2_iclk_dflt_wait;
- extern const struct clkops clkops_omap2_iclk_dflt;
- extern const struct clkops clkops_omap2_iclk_idle_only;
-diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index 1fc96b9..119e135 100644
---- a/arch/arm/mach-omap2/clock34xx.c
-+++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -20,6 +20,8 @@
- #include <linux/kernel.h>
- #include <linux/clk.h>
- #include <linux/io.h>
-+#include <linux/err.h>
-+#include <linux/cpufreq.h>
- 
- #include <plat/clock.h>
- 
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-index 1b36664..f0f9430 100644
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ b/arch/arm/plat-omap/cpu-omap.c
-@@ -8,6 +8,10 @@
-  *
-  *  Based on cpu-sa1110.c, Copyright (C) 2001 Russell King
-  *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Updated to support OMAP3
-+ * Rajendra Nayak <rnayak at ti.com>
-+ *
-  * 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.
-@@ -26,12 +30,19 @@
- #include <plat/clock.h>
- #include <asm/system.h>
- 
-+#if defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
-+#include <plat/omap-pm.h>
-+#include <plat/opp.h>
-+#endif
-+
- #define VERY_HI_RATE	900000000
- 
- static struct cpufreq_frequency_table *freq_table;
- 
- #ifdef CONFIG_ARCH_OMAP1
- #define MPU_CLK		"mpu"
-+#elif CONFIG_ARCH_OMAP3
-+#define MPU_CLK		"arm_fck"
- #else
- #define MPU_CLK		"virt_prcm_set"
- #endif
-@@ -73,7 +84,13 @@ static int omap_target(struct cpufreq_policy *policy,
- 		       unsigned int target_freq,
- 		       unsigned int relation)
- {
-+#ifdef CONFIG_ARCH_OMAP1
- 	struct cpufreq_freqs freqs;
-+#endif
-+#if defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
-+	unsigned long freq;
-+	struct device *mpu_dev = omap2_get_mpuss_device();
-+#endif
- 	int ret = 0;
- 
- 	/* Ensure desired rate is within allowed range.  Some govenors
-@@ -83,13 +100,13 @@ static int omap_target(struct cpufreq_policy *policy,
- 	if (target_freq > policy->max)
- 		target_freq = policy->max;
- 
-+#ifdef CONFIG_ARCH_OMAP1
- 	freqs.old = omap_getspeed(0);
- 	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
- 	freqs.cpu = 0;
- 
- 	if (freqs.old == freqs.new)
- 		return ret;
--
- 	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
- #ifdef CONFIG_CPU_FREQ_DEBUG
- 	printk(KERN_DEBUG "cpufreq-omap: transition: %u --> %u\n",
-@@ -97,7 +114,11 @@ static int omap_target(struct cpufreq_policy *policy,
- #endif
- 	ret = clk_set_rate(mpu_clk, freqs.new * 1000);
- 	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
--
-+#elif defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
-+	freq = target_freq * 1000;
-+	if (opp_find_freq_ceil(mpu_dev, &freq))
-+		omap_pm_cpu_set_freq(freq);
-+#endif
- 	return ret;
- }
- 
-@@ -114,7 +135,14 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 
- 	policy->cur = policy->min = policy->max = omap_getspeed(0);
- 
--	clk_init_cpufreq_table(&freq_table);
-+	if (!cpu_is_omap34xx()) {
-+		clk_init_cpufreq_table(&freq_table);
-+	} else {
-+		struct device *mpu_dev = omap2_get_mpuss_device();
-+
-+		opp_init_cpufreq_table(mpu_dev, &freq_table);
-+	}
-+
- 	if (freq_table) {
- 		result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
- 		if (!result)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0005-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0005-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
deleted file mode 100644
index 5527356..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0005-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 62275cbaac608a17fe5ff0437e0950667927e5e8 Mon Sep 17 00:00:00 2001
-From: Silesh C V <silesh at ti.com>
-Date: Wed, 29 Sep 2010 14:52:54 +0530
-Subject: [PATCH 05/19] OMAP: PM: CPUFREQ: Fix conditional compilation
-
-Fix conditional compilation. A conditional expresiion
-should follow "#elif", in this case #elif clause should
-check whether CONFIG_ARCH_OMAP3 is defined or not
-(ie. defined(CONFIG_ARCH_OMAP3)) rather than checking for
-the value of the macro.
-
-Signed-off-by: Silesh C V <silesh at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/plat-omap/cpu-omap.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-index f0f9430..c3ac065 100644
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ b/arch/arm/plat-omap/cpu-omap.c
-@@ -41,7 +41,7 @@ static struct cpufreq_frequency_table *freq_table;
- 
- #ifdef CONFIG_ARCH_OMAP1
- #define MPU_CLK		"mpu"
--#elif CONFIG_ARCH_OMAP3
-+#elif defined(CONFIG_ARCH_OMAP3)
- #define MPU_CLK		"arm_fck"
- #else
- #define MPU_CLK		"virt_prcm_set"
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0006-cpufreq-fixup-after-new-OPP-layer-merged.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0006-cpufreq-fixup-after-new-OPP-layer-merged.patch
deleted file mode 100644
index 3d8d572..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0006-cpufreq-fixup-after-new-OPP-layer-merged.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ca2d4d46267668daccc156084f8ad6e74a52f392 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at deeprootsystems.com>
-Date: Tue, 16 Nov 2010 11:48:41 -0800
-Subject: [PATCH 06/19] cpufreq: fixup after new OPP layer merged
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/plat-omap/cpu-omap.c |    3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-index c3ac065..9cd2709 100644
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ b/arch/arm/plat-omap/cpu-omap.c
-@@ -25,6 +25,7 @@
- #include <linux/err.h>
- #include <linux/clk.h>
- #include <linux/io.h>
-+#include <linux/opp.h>
- 
- #include <mach/hardware.h>
- #include <plat/clock.h>
-@@ -32,7 +33,7 @@
- 
- #if defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
- #include <plat/omap-pm.h>
--#include <plat/opp.h>
-+#include <plat/common.h>
- #endif
- 
- #define VERY_HI_RATE	900000000
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0007-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0007-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
deleted file mode 100644
index 25a9de9..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0007-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch
+++ /dev/null
@@ -1,673 +0,0 @@
-From 972aa97a8a36946ebe2274e27c317e524de2cd5c Mon Sep 17 00:00:00 2001
-From: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Date: Mon, 14 Mar 2011 17:08:48 +0530
-Subject: [PATCH 07/19] OMAP: cpufreq: Split OMAP1 and OMAP2PLUS CPUfreq drivers.
-
-This patch is an attempt to cleanup the #ifdeferry in the
-omap CPUfreq drivers.
-
-The split betwenn OMAP1 and OMAP2PLUS is logical because
-	- OMAP1 doesn't support opp layer.
-	- OMAP1 build is seperate from omap2plus.
-
-Includes minor header/copyright updates reported by Todd Poynor.
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Cc: Vishwanath BS <vishwanath.bs at ti.com>
-Cc: Todd Poynor <toddpoynor at google.com>
-Cc: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap1/Makefile            |    3 +
- arch/arm/mach-omap1/omap1-cpufreq.c     |  175 ++++++++++++++++++++++++++
- arch/arm/mach-omap2/Makefile            |    3 +
- arch/arm/mach-omap2/omap2plus-cpufreq.c |  201 ++++++++++++++++++++++++++++++
- arch/arm/plat-omap/Makefile             |    1 -
- arch/arm/plat-omap/cpu-omap.c           |  204 -------------------------------
- 6 files changed, 382 insertions(+), 205 deletions(-)
- create mode 100644 arch/arm/mach-omap1/omap1-cpufreq.c
- create mode 100644 arch/arm/mach-omap2/omap2plus-cpufreq.c
- delete mode 100644 arch/arm/plat-omap/cpu-omap.c
-
-diff --git a/arch/arm/mach-omap1/Makefile b/arch/arm/mach-omap1/Makefile
-index 5b114d1..9600410 100644
---- a/arch/arm/mach-omap1/Makefile
-+++ b/arch/arm/mach-omap1/Makefile
-@@ -10,6 +10,9 @@ obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
- 
- obj-$(CONFIG_OMAP_32K_TIMER)	+= timer32k.o
- 
-+# CPUFREQ driver
-+obj-$(CONFIG_CPU_FREQ) += omap1-cpufreq.o
-+
- # Power Management
- obj-$(CONFIG_PM) += pm.o sleep.o
- 
-diff --git a/arch/arm/mach-omap1/omap1-cpufreq.c b/arch/arm/mach-omap1/omap1-cpufreq.c
-new file mode 100644
-index 0000000..7c5216e
---- /dev/null
-+++ b/arch/arm/mach-omap1/omap1-cpufreq.c
-@@ -0,0 +1,175 @@
-+/*
-+ *  OMAP1 cpufreq driver
-+ *
-+ *  CPU frequency scaling for OMAP
-+ *
-+ *  Copyright (C) 2005 Nokia Corporation
-+ *  Written by Tony Lindgren <tony at atomide.com>
-+ *
-+ *  Based on cpu-sa1110.c, Copyright (C) 2001 Russell King
-+ *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Rajendra Nayak <rnayak at ti.com>
-+ *
-+ * 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/types.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/cpufreq.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/err.h>
-+#include <linux/clk.h>
-+#include <linux/io.h>
-+#include <linux/opp.h>
-+
-+#include <asm/system.h>
-+
-+#include <plat/clock.h>
-+#include <plat/omap-pm.h>
-+
-+#include <mach/hardware.h>
-+
-+#define VERY_HI_RATE	900000000
-+
-+static struct cpufreq_frequency_table *freq_table;
-+static struct clk *mpu_clk;
-+
-+static int omap_verify_speed(struct cpufreq_policy *policy)
-+{
-+	if (freq_table)
-+		return cpufreq_frequency_table_verify(policy, freq_table);
-+
-+	if (policy->cpu)
-+		return -EINVAL;
-+
-+	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
-+				     policy->cpuinfo.max_freq);
-+
-+	policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000;
-+	policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000;
-+	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
-+				     policy->cpuinfo.max_freq);
-+	return 0;
-+}
-+
-+static unsigned int omap_getspeed(unsigned int cpu)
-+{
-+	unsigned long rate;
-+
-+	if (cpu)
-+		return 0;
-+
-+	rate = clk_get_rate(mpu_clk) / 1000;
-+	return rate;
-+}
-+
-+static int omap_target(struct cpufreq_policy *policy,
-+		       unsigned int target_freq,
-+		       unsigned int relation)
-+{
-+	struct cpufreq_freqs freqs;
-+	int ret = 0;
-+
-+	/* Ensure desired rate is within allowed range.  Some govenors
-+	 * (ondemand) will just pass target_freq=0 to get the minimum. */
-+	if (target_freq < policy->min)
-+		target_freq = policy->min;
-+	if (target_freq > policy->max)
-+		target_freq = policy->max;
-+
-+	freqs.old = omap_getspeed(0);
-+	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
-+	freqs.cpu = 0;
-+
-+	if (freqs.old == freqs.new)
-+		return ret;
-+
-+	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-+
-+#ifdef CONFIG_CPU_FREQ_DEBUG
-+	pr_info("cpufreq-omap: transition: %u --> %u\n", freqs.old, freqs.new);
-+#endif
-+	ret = clk_set_rate(mpu_clk, freqs.new * 1000);
-+
-+	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-+
-+	return ret;
-+}
-+
-+static int __init omap_cpu_init(struct cpufreq_policy *policy)
-+{
-+	int result = 0;
-+
-+	mpu_clk = clk_get(NULL, "mpu");
-+	if (IS_ERR(mpu_clk))
-+		return PTR_ERR(mpu_clk);
-+
-+	if (policy->cpu != 0)
-+		return -EINVAL;
-+
-+	policy->cur = policy->min = policy->max = omap_getspeed(0);
-+
-+	clk_init_cpufreq_table(&freq_table);
-+
-+	if (freq_table) {
-+		result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
-+		if (!result)
-+			cpufreq_frequency_table_get_attr(freq_table,
-+							policy->cpu);
-+	} else {
-+		policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000;
-+		policy->cpuinfo.max_freq = clk_round_rate(mpu_clk,
-+							VERY_HI_RATE) / 1000;
-+	}
-+
-+	policy->min = policy->cpuinfo.min_freq;
-+	policy->max = policy->cpuinfo.max_freq;
-+	policy->cur = omap_getspeed(0);
-+
-+	/* FIXME: what's the actual transition time? */
-+	policy->cpuinfo.transition_latency = 300 * 1000;
-+
-+	return 0;
-+}
-+
-+static int omap_cpu_exit(struct cpufreq_policy *policy)
-+{
-+	clk_exit_cpufreq_table(&freq_table);
-+	clk_put(mpu_clk);
-+	return 0;
-+}
-+
-+static struct freq_attr *omap_cpufreq_attr[] = {
-+	&cpufreq_freq_attr_scaling_available_freqs,
-+	NULL,
-+};
-+
-+static struct cpufreq_driver omap_driver = {
-+	.flags		= CPUFREQ_STICKY,
-+	.verify		= omap_verify_speed,
-+	.target		= omap_target,
-+	.get		= omap_getspeed,
-+	.init		= omap_cpu_init,
-+	.exit		= omap_cpu_exit,
-+	.name		= "omap1",
-+	.attr		= omap_cpufreq_attr,
-+};
-+
-+static int __init omap_cpufreq_init(void)
-+{
-+	return cpufreq_register_driver(&omap_driver);
-+}
-+
-+static void __exit omap_cpufreq_exit(void)
-+{
-+	cpufreq_unregister_driver(&omap_driver);
-+}
-+
-+MODULE_DESCRIPTION("cpufreq driver for OMAP1 SOCs");
-+MODULE_LICENSE("GPL");
-+module_init(omap_cpufreq_init);
-+module_exit(omap_cpufreq_exit);
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 8e79ca5..7927dd6 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -56,6 +56,9 @@ obj-$(CONFIG_ARCH_OMAP3)		+= opp3xxx_data.o
- obj-$(CONFIG_ARCH_OMAP4)		+= opp4xxx_data.o
- endif
- 
-+# CPUFREQ driver
-+obj-$(CONFIG_CPU_FREQ)			+= omap2plus-cpufreq.o
-+
- # Power Management
- ifeq ($(CONFIG_PM),y)
- obj-$(CONFIG_ARCH_OMAP2)		+= pm24xx.o
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-new file mode 100644
-index 0000000..27f641b
---- /dev/null
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -0,0 +1,201 @@
-+/*
-+ *  OMAP2PLUS cpufreq driver
-+ *
-+ *  CPU frequency scaling for OMAP
-+ *
-+ *  Copyright (C) 2005 Nokia Corporation
-+ *  Written by Tony Lindgren <tony at atomide.com>
-+ *
-+ *  Based on cpu-sa1110.c, Copyright (C) 2001 Russell King
-+ *
-+ * Copyright (C) 2007-2011 Texas Instruments, Inc.
-+ * Updated to support OMAP3
-+ * Rajendra Nayak <rnayak at ti.com>
-+ *
-+ * 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/types.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/cpufreq.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+#include <linux/err.h>
-+#include <linux/clk.h>
-+#include <linux/io.h>
-+#include <linux/opp.h>
-+
-+#include <asm/system.h>
-+#include <asm/smp_plat.h>
-+
-+#include <plat/clock.h>
-+#include <plat/omap-pm.h>
-+#include <plat/common.h>
-+
-+#include <mach/hardware.h>
-+
-+#define VERY_HI_RATE	900000000
-+
-+static struct cpufreq_frequency_table *freq_table;
-+static struct clk *mpu_clk;
-+
-+static int omap_verify_speed(struct cpufreq_policy *policy)
-+{
-+	if (freq_table)
-+		return cpufreq_frequency_table_verify(policy, freq_table);
-+
-+	if (policy->cpu)
-+		return -EINVAL;
-+
-+	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
-+				     policy->cpuinfo.max_freq);
-+
-+	policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000;
-+	policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000;
-+	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
-+				     policy->cpuinfo.max_freq);
-+	return 0;
-+}
-+
-+static unsigned int omap_getspeed(unsigned int cpu)
-+{
-+	unsigned long rate;
-+
-+	if (cpu)
-+		return 0;
-+
-+	rate = clk_get_rate(mpu_clk) / 1000;
-+	return rate;
-+}
-+
-+static int omap_target(struct cpufreq_policy *policy,
-+		       unsigned int target_freq,
-+		       unsigned int relation)
-+{
-+	int ret = 0;
-+	struct cpufreq_freqs freqs;
-+
-+	/* Ensure desired rate is within allowed range.  Some govenors
-+	 * (ondemand) will just pass target_freq=0 to get the minimum. */
-+	if (target_freq < policy->min)
-+		target_freq = policy->min;
-+	if (target_freq > policy->max)
-+		target_freq = policy->max;
-+
-+	freqs.old = omap_getspeed(0);
-+	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
-+	freqs.cpu = 0;
-+
-+	if (freqs.old == freqs.new)
-+		return ret;
-+
-+	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-+
-+#ifdef CONFIG_CPU_FREQ_DEBUG
-+	pr_info("cpufreq-omap: transition: %u --> %u\n", freqs.old, freqs.new);
-+#endif
-+
-+	ret = clk_set_rate(mpu_clk, freqs.new * 1000);
-+
-+	/*
-+	 * Generic CPUFREQ driver jiffy update is under !SMP. So jiffies
-+	 * won't get updated when UP machine cpufreq build with
-+	 * CONFIG_SMP enabled. Below code is added only to manage that
-+	 * scenario
-+	 */
-+	if (!is_smp())
-+		loops_per_jiffy =
-+			 cpufreq_scale(loops_per_jiffy, freqs.old, freqs.new);
-+
-+	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-+
-+	return ret;
-+}
-+
-+static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
-+{
-+	int result = 0;
-+	struct device *mpu_dev;
-+
-+	if (cpu_is_omap24xx())
-+		mpu_clk = clk_get(NULL, "virt_prcm_set");
-+	else if (cpu_is_omap34xx())
-+		mpu_clk = clk_get(NULL, "dpll1_ck");
-+	else if (cpu_is_omap34xx())
-+		mpu_clk = clk_get(NULL, "dpll_mpu_ck");
-+
-+	if (IS_ERR(mpu_clk))
-+		return PTR_ERR(mpu_clk);
-+
-+	if (policy->cpu != 0)
-+		return -EINVAL;
-+
-+	policy->cur = policy->min = policy->max = omap_getspeed(0);
-+
-+	mpu_dev = omap2_get_mpuss_device();
-+	if (!mpu_dev) {
-+		pr_warning("%s: unable to get the mpu device\n", __func__);
-+		return -EINVAL;
-+	}
-+	opp_init_cpufreq_table(mpu_dev, &freq_table);
-+
-+	if (freq_table) {
-+		result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
-+		if (!result)
-+			cpufreq_frequency_table_get_attr(freq_table,
-+							policy->cpu);
-+	} else {
-+		policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000;
-+		policy->cpuinfo.max_freq = clk_round_rate(mpu_clk,
-+							VERY_HI_RATE) / 1000;
-+	}
-+
-+	policy->min = policy->cpuinfo.min_freq;
-+	policy->max = policy->cpuinfo.max_freq;
-+	policy->cur = omap_getspeed(0);
-+
-+	/* FIXME: what's the actual transition time? */
-+	policy->cpuinfo.transition_latency = 300 * 1000;
-+
-+	return 0;
-+}
-+
-+static int omap_cpu_exit(struct cpufreq_policy *policy)
-+{
-+	clk_exit_cpufreq_table(&freq_table);
-+	clk_put(mpu_clk);
-+	return 0;
-+}
-+
-+static struct freq_attr *omap_cpufreq_attr[] = {
-+	&cpufreq_freq_attr_scaling_available_freqs,
-+	NULL,
-+};
-+
-+static struct cpufreq_driver omap_driver = {
-+	.flags		= CPUFREQ_STICKY,
-+	.verify		= omap_verify_speed,
-+	.target		= omap_target,
-+	.get		= omap_getspeed,
-+	.init		= omap_cpu_init,
-+	.exit		= omap_cpu_exit,
-+	.name		= "omap2plus",
-+	.attr		= omap_cpufreq_attr,
-+};
-+
-+static int __init omap_cpufreq_init(void)
-+{
-+	return cpufreq_register_driver(&omap_driver);
-+}
-+
-+static void __exit omap_cpufreq_exit(void)
-+{
-+	cpufreq_unregister_driver(&omap_driver);
-+}
-+
-+MODULE_DESCRIPTION("cpufreq driver for OMAP2PLUS SOCs");
-+MODULE_LICENSE("GPL");
-+module_init(omap_cpufreq_init);
-+module_exit(omap_cpufreq_exit);
-diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
-index f0233e6..4ef7493 100644
---- a/arch/arm/plat-omap/Makefile
-+++ b/arch/arm/plat-omap/Makefile
-@@ -21,7 +21,6 @@ obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o
- obj-$(CONFIG_OMAP_IOMMU) += iommu.o iovmm.o
- obj-$(CONFIG_OMAP_IOMMU_DEBUG) += iommu-debug.o
- 
--obj-$(CONFIG_CPU_FREQ) += cpu-omap.o
- obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o
- obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o
- obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o
-diff --git a/arch/arm/plat-omap/cpu-omap.c b/arch/arm/plat-omap/cpu-omap.c
-deleted file mode 100644
-index 9cd2709..0000000
---- a/arch/arm/plat-omap/cpu-omap.c
-+++ /dev/null
-@@ -1,204 +0,0 @@
--/*
-- *  linux/arch/arm/plat-omap/cpu-omap.c
-- *
-- *  CPU frequency scaling for OMAP
-- *
-- *  Copyright (C) 2005 Nokia Corporation
-- *  Written by Tony Lindgren <tony at atomide.com>
-- *
-- *  Based on cpu-sa1110.c, Copyright (C) 2001 Russell King
-- *
-- * Copyright (C) 2007-2008 Texas Instruments, Inc.
-- * Updated to support OMAP3
-- * Rajendra Nayak <rnayak at ti.com>
-- *
-- * 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/types.h>
--#include <linux/kernel.h>
--#include <linux/sched.h>
--#include <linux/cpufreq.h>
--#include <linux/delay.h>
--#include <linux/init.h>
--#include <linux/err.h>
--#include <linux/clk.h>
--#include <linux/io.h>
--#include <linux/opp.h>
--
--#include <mach/hardware.h>
--#include <plat/clock.h>
--#include <asm/system.h>
--
--#if defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
--#include <plat/omap-pm.h>
--#include <plat/common.h>
--#endif
--
--#define VERY_HI_RATE	900000000
--
--static struct cpufreq_frequency_table *freq_table;
--
--#ifdef CONFIG_ARCH_OMAP1
--#define MPU_CLK		"mpu"
--#elif defined(CONFIG_ARCH_OMAP3)
--#define MPU_CLK		"arm_fck"
--#else
--#define MPU_CLK		"virt_prcm_set"
--#endif
--
--static struct clk *mpu_clk;
--
--/* TODO: Add support for SDRAM timing changes */
--
--static int omap_verify_speed(struct cpufreq_policy *policy)
--{
--	if (freq_table)
--		return cpufreq_frequency_table_verify(policy, freq_table);
--
--	if (policy->cpu)
--		return -EINVAL;
--
--	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
--				     policy->cpuinfo.max_freq);
--
--	policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000;
--	policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000;
--	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
--				     policy->cpuinfo.max_freq);
--	return 0;
--}
--
--static unsigned int omap_getspeed(unsigned int cpu)
--{
--	unsigned long rate;
--
--	if (cpu)
--		return 0;
--
--	rate = clk_get_rate(mpu_clk) / 1000;
--	return rate;
--}
--
--static int omap_target(struct cpufreq_policy *policy,
--		       unsigned int target_freq,
--		       unsigned int relation)
--{
--#ifdef CONFIG_ARCH_OMAP1
--	struct cpufreq_freqs freqs;
--#endif
--#if defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
--	unsigned long freq;
--	struct device *mpu_dev = omap2_get_mpuss_device();
--#endif
--	int ret = 0;
--
--	/* Ensure desired rate is within allowed range.  Some govenors
--	 * (ondemand) will just pass target_freq=0 to get the minimum. */
--	if (target_freq < policy->min)
--		target_freq = policy->min;
--	if (target_freq > policy->max)
--		target_freq = policy->max;
--
--#ifdef CONFIG_ARCH_OMAP1
--	freqs.old = omap_getspeed(0);
--	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
--	freqs.cpu = 0;
--
--	if (freqs.old == freqs.new)
--		return ret;
--	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
--#ifdef CONFIG_CPU_FREQ_DEBUG
--	printk(KERN_DEBUG "cpufreq-omap: transition: %u --> %u\n",
--	       freqs.old, freqs.new);
--#endif
--	ret = clk_set_rate(mpu_clk, freqs.new * 1000);
--	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
--#elif defined(CONFIG_ARCH_OMAP3) && !defined(CONFIG_OMAP_PM_NONE)
--	freq = target_freq * 1000;
--	if (opp_find_freq_ceil(mpu_dev, &freq))
--		omap_pm_cpu_set_freq(freq);
--#endif
--	return ret;
--}
--
--static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
--{
--	int result = 0;
--
--	mpu_clk = clk_get(NULL, MPU_CLK);
--	if (IS_ERR(mpu_clk))
--		return PTR_ERR(mpu_clk);
--
--	if (policy->cpu != 0)
--		return -EINVAL;
--
--	policy->cur = policy->min = policy->max = omap_getspeed(0);
--
--	if (!cpu_is_omap34xx()) {
--		clk_init_cpufreq_table(&freq_table);
--	} else {
--		struct device *mpu_dev = omap2_get_mpuss_device();
--
--		opp_init_cpufreq_table(mpu_dev, &freq_table);
--	}
--
--	if (freq_table) {
--		result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
--		if (!result)
--			cpufreq_frequency_table_get_attr(freq_table,
--							policy->cpu);
--	} else {
--		policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000;
--		policy->cpuinfo.max_freq = clk_round_rate(mpu_clk,
--							VERY_HI_RATE) / 1000;
--	}
--
--	policy->min = policy->cpuinfo.min_freq;
--	policy->max = policy->cpuinfo.max_freq;
--	policy->cur = omap_getspeed(0);
--
--	/* FIXME: what's the actual transition time? */
--	policy->cpuinfo.transition_latency = 300 * 1000;
--
--	return 0;
--}
--
--static int omap_cpu_exit(struct cpufreq_policy *policy)
--{
--	clk_exit_cpufreq_table(&freq_table);
--	clk_put(mpu_clk);
--	return 0;
--}
--
--static struct freq_attr *omap_cpufreq_attr[] = {
--	&cpufreq_freq_attr_scaling_available_freqs,
--	NULL,
--};
--
--static struct cpufreq_driver omap_driver = {
--	.flags		= CPUFREQ_STICKY,
--	.verify		= omap_verify_speed,
--	.target		= omap_target,
--	.get		= omap_getspeed,
--	.init		= omap_cpu_init,
--	.exit		= omap_cpu_exit,
--	.name		= "omap",
--	.attr		= omap_cpufreq_attr,
--};
--
--static int __init omap_cpufreq_init(void)
--{
--	return cpufreq_register_driver(&omap_driver);
--}
--
--late_initcall(omap_cpufreq_init);
--
--/*
-- * if ever we want to remove this, upon cleanup call:
-- *
-- * cpufreq_unregister_driver()
-- * cpufreq_frequency_table_put_attr()
-- */
--
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0008-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0008-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
deleted file mode 100644
index a152c7f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0008-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From fed2c5a3d929204d4fc18c6f4a3edbf920e7ee36 Mon Sep 17 00:00:00 2001
-From: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Date: Mon, 14 Mar 2011 17:08:49 +0530
-Subject: [PATCH 08/19] OMAP2PLUS: cpufreq: Add SMP support to cater OMAP4430
-
-On OMAP SMP configuartion, both processors share the voltage
-and clock. So both CPUs needs to be scaled together and hence
-needs software co-ordination.
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-cc: Vishwanath BS <vishwanath.bs at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   73 ++++++++++++++++++++++++++-----
- 1 files changed, 62 insertions(+), 11 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 27f641b..3730f96 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -26,9 +26,11 @@
- #include <linux/clk.h>
- #include <linux/io.h>
- #include <linux/opp.h>
-+#include <linux/cpu.h>
- 
- #include <asm/system.h>
- #include <asm/smp_plat.h>
-+#include <asm/cpu.h>
- 
- #include <plat/clock.h>
- #include <plat/omap-pm.h>
-@@ -63,7 +65,7 @@ static unsigned int omap_getspeed(unsigned int cpu)
- {
- 	unsigned long rate;
- 
--	if (cpu)
-+	if (cpu >= NR_CPUS)
- 		return 0;
- 
- 	rate = clk_get_rate(mpu_clk) / 1000;
-@@ -74,9 +76,13 @@ static int omap_target(struct cpufreq_policy *policy,
- 		       unsigned int target_freq,
- 		       unsigned int relation)
- {
--	int ret = 0;
-+	int i, ret = 0;
- 	struct cpufreq_freqs freqs;
- 
-+	/* Changes not allowed until all CPUs are online */
-+	if (is_smp() && (num_online_cpus() < NR_CPUS))
-+		return ret;
-+
- 	/* Ensure desired rate is within allowed range.  Some govenors
- 	 * (ondemand) will just pass target_freq=0 to get the minimum. */
- 	if (target_freq < policy->min)
-@@ -84,15 +90,25 @@ static int omap_target(struct cpufreq_policy *policy,
- 	if (target_freq > policy->max)
- 		target_freq = policy->max;
- 
--	freqs.old = omap_getspeed(0);
-+	freqs.old = omap_getspeed(policy->cpu);
- 	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
--	freqs.cpu = 0;
-+	freqs.cpu = policy->cpu;
- 
- 	if (freqs.old == freqs.new)
- 		return ret;
- 
--	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-+	if (!is_smp()) {
-+		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-+		goto set_freq;
-+	}
-+
-+	/* notifiers */
-+	for_each_cpu(i, policy->cpus) {
-+		freqs.cpu = i;
-+		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-+	}
- 
-+set_freq:
- #ifdef CONFIG_CPU_FREQ_DEBUG
- 	pr_info("cpufreq-omap: transition: %u --> %u\n", freqs.old, freqs.new);
- #endif
-@@ -105,12 +121,33 @@ static int omap_target(struct cpufreq_policy *policy,
- 	 * CONFIG_SMP enabled. Below code is added only to manage that
- 	 * scenario
- 	 */
--	if (!is_smp())
-+	freqs.new = omap_getspeed(policy->cpu);
-+	if (!is_smp()) {
- 		loops_per_jiffy =
- 			 cpufreq_scale(loops_per_jiffy, freqs.old, freqs.new);
-+		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-+		goto skip_lpj;
-+	}
- 
--	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-+#ifdef CONFIG_SMP
-+	/*
-+	 * Note that loops_per_jiffy is not updated on SMP systems in
-+	 * cpufreq driver. So, update the per-CPU loops_per_jiffy value
-+	 * on frequency transition. We need to update all dependent CPUs.
-+	 */
-+	for_each_cpu(i, policy->cpus)
-+		per_cpu(cpu_data, i).loops_per_jiffy =
-+			cpufreq_scale(per_cpu(cpu_data, i).loops_per_jiffy,
-+					freqs.old, freqs.new);
-+#endif
- 
-+	/* notifiers */
-+	for_each_cpu(i, policy->cpus) {
-+		freqs.cpu = i;
-+		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-+	}
-+
-+skip_lpj:
- 	return ret;
- }
- 
-@@ -118,6 +155,7 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- {
- 	int result = 0;
- 	struct device *mpu_dev;
-+	static cpumask_var_t cpumask;
- 
- 	if (cpu_is_omap24xx())
- 		mpu_clk = clk_get(NULL, "virt_prcm_set");
-@@ -129,12 +167,12 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	if (IS_ERR(mpu_clk))
- 		return PTR_ERR(mpu_clk);
- 
--	if (policy->cpu != 0)
-+	if (policy->cpu >= NR_CPUS)
- 		return -EINVAL;
- 
--	policy->cur = policy->min = policy->max = omap_getspeed(0);
--
-+	policy->cur = policy->min = policy->max = omap_getspeed(policy->cpu);
- 	mpu_dev = omap2_get_mpuss_device();
-+
- 	if (!mpu_dev) {
- 		pr_warning("%s: unable to get the mpu device\n", __func__);
- 		return -EINVAL;
-@@ -154,7 +192,20 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 
- 	policy->min = policy->cpuinfo.min_freq;
- 	policy->max = policy->cpuinfo.max_freq;
--	policy->cur = omap_getspeed(0);
-+	policy->cur = omap_getspeed(policy->cpu);
-+
-+	/*
-+	 * On OMAP SMP configuartion, both processors share the voltage
-+	 * and clock. So both CPUs needs to be scaled together and hence
-+	 * needs software co-ordination. Use cpufreq affected_cpus
-+	 * interface to handle this scenario. Additional is_smp() check
-+	 * is to keep SMP_ON_UP build working.
-+	 */
-+	if (is_smp()) {
-+		policy->shared_type = CPUFREQ_SHARED_TYPE_ANY;
-+		cpumask_or(cpumask, cpumask_of(policy->cpu), cpumask);
-+		cpumask_copy(policy->cpus, cpumask);
-+	}
- 
- 	/* FIXME: what's the actual transition time? */
- 	policy->cpuinfo.transition_latency = 300 * 1000;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0009-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0009-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
deleted file mode 100644
index c8328b2..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0009-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d046bd12930aa5daf951d9af8614c60677c8ff15 Mon Sep 17 00:00:00 2001
-From: Jarkko Nikula <jhnikula at gmail.com>
-Date: Thu, 14 Apr 2011 16:21:58 +0300
-Subject: [PATCH 09/19] OMAP2PLUS: cpufreq: Fix typo when attempting to set mpu_clk for OMAP4
-
-Fix this typo as there is no dpll_mpu_ck for OMAP3 and code flow is clearly
-trying to set mpu_clk for OMAP4 for which this dpll_mpu_ck is available.
-
-Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 3730f96..a725d90 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -161,7 +161,7 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 		mpu_clk = clk_get(NULL, "virt_prcm_set");
- 	else if (cpu_is_omap34xx())
- 		mpu_clk = clk_get(NULL, "dpll1_ck");
--	else if (cpu_is_omap34xx())
-+	else if (cpu_is_omap44xx())
- 		mpu_clk = clk_get(NULL, "dpll_mpu_ck");
- 
- 	if (IS_ERR(mpu_clk))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0010-OMAP2-cpufreq-move-clk-name-decision-to-init.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0010-OMAP2-cpufreq-move-clk-name-decision-to-init.patch
deleted file mode 100644
index d1c1ea5..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0010-OMAP2-cpufreq-move-clk-name-decision-to-init.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 0ec2aee24f701ecd6135dce0b3f1a71249583689 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 25 May 2011 16:38:46 -0700
-Subject: [PATCH 10/19] OMAP2+: cpufreq: move clk name decision to init
-
-Clk name does'nt need to dynamically detected during clk init.
-move them off to driver initialization, if we dont have a clk name,
-there is no point in registering the driver anyways. The actual clk
-get and put is left at cpu_init and exit functions.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   20 +++++++++++++-------
- 1 files changed, 13 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index a725d90..c46d0cd 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -42,6 +42,7 @@
- 
- static struct cpufreq_frequency_table *freq_table;
- static struct clk *mpu_clk;
-+static char *mpu_clk_name;
- 
- static int omap_verify_speed(struct cpufreq_policy *policy)
- {
-@@ -157,13 +158,7 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	struct device *mpu_dev;
- 	static cpumask_var_t cpumask;
- 
--	if (cpu_is_omap24xx())
--		mpu_clk = clk_get(NULL, "virt_prcm_set");
--	else if (cpu_is_omap34xx())
--		mpu_clk = clk_get(NULL, "dpll1_ck");
--	else if (cpu_is_omap44xx())
--		mpu_clk = clk_get(NULL, "dpll_mpu_ck");
--
-+	mpu_clk = clk_get(NULL, mpu_clk_name);
- 	if (IS_ERR(mpu_clk))
- 		return PTR_ERR(mpu_clk);
- 
-@@ -238,6 +233,17 @@ static struct cpufreq_driver omap_driver = {
- 
- static int __init omap_cpufreq_init(void)
- {
-+	if (cpu_is_omap24xx())
-+		mpu_clk_name = "virt_prcm_set";
-+	else if (cpu_is_omap34xx())
-+		mpu_clk_name = "dpll1_ck";
-+	else if (cpu_is_omap44xx())
-+		mpu_clk_name = "dpll_mpu_ck";
-+
-+	if (!mpu_clk_name) {
-+		pr_err("%s: unsupported Silicon?\n", __func__);
-+		return -EINVAL;
-+	}
- 	return cpufreq_register_driver(&omap_driver);
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0011-OMAP2-cpufreq-deny-initialization-if-no-mpudev.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0011-OMAP2-cpufreq-deny-initialization-if-no-mpudev.patch
deleted file mode 100644
index b37c004..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0011-OMAP2-cpufreq-deny-initialization-if-no-mpudev.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7c76e002041cd5b084c9a8b6729ab33acf53643e Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 25 May 2011 16:38:47 -0700
-Subject: [PATCH 11/19] OMAP2+: cpufreq: deny initialization if no mpudev
-
-if we do not have mpu_dev we normally fail in cpu_init. It is better
-to fail driver registration if the devices are not available.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   15 ++++++++-------
- 1 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index c46d0cd..33a91ec 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -43,6 +43,7 @@
- static struct cpufreq_frequency_table *freq_table;
- static struct clk *mpu_clk;
- static char *mpu_clk_name;
-+static struct device *mpu_dev;
- 
- static int omap_verify_speed(struct cpufreq_policy *policy)
- {
-@@ -155,7 +156,6 @@ skip_lpj:
- static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- {
- 	int result = 0;
--	struct device *mpu_dev;
- 	static cpumask_var_t cpumask;
- 
- 	mpu_clk = clk_get(NULL, mpu_clk_name);
-@@ -166,12 +166,6 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 		return -EINVAL;
- 
- 	policy->cur = policy->min = policy->max = omap_getspeed(policy->cpu);
--	mpu_dev = omap2_get_mpuss_device();
--
--	if (!mpu_dev) {
--		pr_warning("%s: unable to get the mpu device\n", __func__);
--		return -EINVAL;
--	}
- 	opp_init_cpufreq_table(mpu_dev, &freq_table);
- 
- 	if (freq_table) {
-@@ -244,6 +238,13 @@ static int __init omap_cpufreq_init(void)
- 		pr_err("%s: unsupported Silicon?\n", __func__);
- 		return -EINVAL;
- 	}
-+
-+	mpu_dev = omap2_get_mpuss_device();
-+	if (!mpu_dev) {
-+		pr_warning("%s: unable to get the mpu device\n", __func__);
-+		return -EINVAL;
-+	}
-+
- 	return cpufreq_register_driver(&omap_driver);
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0012-OMAP2-cpufreq-dont-support-freq_table.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0012-OMAP2-cpufreq-dont-support-freq_table.patch
deleted file mode 100644
index 33ffe54..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0012-OMAP2-cpufreq-dont-support-freq_table.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 407f4d9ed824d458406f139a7698c74a1eb3b8f7 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Thu, 26 May 2011 19:39:17 -0700
-Subject: [PATCH 12/19] OMAP2+: cpufreq: dont support !freq_table
-
-OMAP2+ all have frequency tables, hence the hacks we had for older
-silicon do not need to be carried forward. As part of this change,
-use cpufreq_frequency_table_target to find the best match for
-frequency requested.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   67 +++++++++++++++----------------
- 1 files changed, 33 insertions(+), 34 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 33a91ec..acf18e8 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -38,8 +38,6 @@
- 
- #include <mach/hardware.h>
- 
--#define VERY_HI_RATE	900000000
--
- static struct cpufreq_frequency_table *freq_table;
- static struct clk *mpu_clk;
- static char *mpu_clk_name;
-@@ -47,20 +45,9 @@ static struct device *mpu_dev;
- 
- static int omap_verify_speed(struct cpufreq_policy *policy)
- {
--	if (freq_table)
--		return cpufreq_frequency_table_verify(policy, freq_table);
--
--	if (policy->cpu)
-+	if (!freq_table)
- 		return -EINVAL;
--
--	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
--				     policy->cpuinfo.max_freq);
--
--	policy->min = clk_round_rate(mpu_clk, policy->min * 1000) / 1000;
--	policy->max = clk_round_rate(mpu_clk, policy->max * 1000) / 1000;
--	cpufreq_verify_within_limits(policy, policy->cpuinfo.min_freq,
--				     policy->cpuinfo.max_freq);
--	return 0;
-+	return cpufreq_frequency_table_verify(policy, freq_table);
- }
- 
- static unsigned int omap_getspeed(unsigned int cpu)
-@@ -78,22 +65,35 @@ static int omap_target(struct cpufreq_policy *policy,
- 		       unsigned int target_freq,
- 		       unsigned int relation)
- {
--	int i, ret = 0;
-+	unsigned int i;
-+	int ret = 0;
- 	struct cpufreq_freqs freqs;
- 
- 	/* Changes not allowed until all CPUs are online */
- 	if (is_smp() && (num_online_cpus() < NR_CPUS))
- 		return ret;
- 
--	/* Ensure desired rate is within allowed range.  Some govenors
--	 * (ondemand) will just pass target_freq=0 to get the minimum. */
--	if (target_freq < policy->min)
--		target_freq = policy->min;
--	if (target_freq > policy->max)
--		target_freq = policy->max;
-+	if (!freq_table) {
-+		dev_err(mpu_dev, "%s: cpu%d: no freq table!\n", __func__,
-+				policy->cpu);
-+		return -EINVAL;
-+	}
-+
-+	ret = cpufreq_frequency_table_target(policy, freq_table, target_freq,
-+			relation, &i);
-+	if (ret) {
-+		dev_dbg(mpu_dev, "%s: cpu%d: no freq match for %d(ret=%d)\n",
-+			__func__, policy->cpu, target_freq, ret);
-+		return ret;
-+	}
-+	freqs.new = freq_table[i].frequency;
-+	if (!freqs.new) {
-+		dev_err(mpu_dev, "%s: cpu%d: no match for freq %d\n", __func__,
-+			policy->cpu, target_freq);
-+		return -EINVAL;
-+	}
- 
- 	freqs.old = omap_getspeed(policy->cpu);
--	freqs.new = clk_round_rate(mpu_clk, target_freq * 1000) / 1000;
- 	freqs.cpu = policy->cpu;
- 
- 	if (freqs.old == freqs.new)
-@@ -166,19 +166,18 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 		return -EINVAL;
- 
- 	policy->cur = policy->min = policy->max = omap_getspeed(policy->cpu);
--	opp_init_cpufreq_table(mpu_dev, &freq_table);
--
--	if (freq_table) {
--		result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
--		if (!result)
--			cpufreq_frequency_table_get_attr(freq_table,
--							policy->cpu);
--	} else {
--		policy->cpuinfo.min_freq = clk_round_rate(mpu_clk, 0) / 1000;
--		policy->cpuinfo.max_freq = clk_round_rate(mpu_clk,
--							VERY_HI_RATE) / 1000;
-+	result = opp_init_cpufreq_table(mpu_dev, &freq_table);
-+
-+	if (result) {
-+		dev_err(mpu_dev, "%s: cpu%d: failed creating freq table[%d]\n",
-+				__func__, policy->cpu, result);
-+		return result;
- 	}
- 
-+	result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
-+	if (!result)
-+		cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
-+
- 	policy->min = policy->cpuinfo.min_freq;
- 	policy->max = policy->cpuinfo.max_freq;
- 	policy->cur = omap_getspeed(policy->cpu);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0013-OMAP2-cpufreq-only-supports-OPP-library.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0013-OMAP2-cpufreq-only-supports-OPP-library.patch
deleted file mode 100644
index d5db432..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0013-OMAP2-cpufreq-only-supports-OPP-library.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 525df87add27c07a76e06c45f0756b204a5a3880 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Thu, 26 May 2011 19:39:18 -0700
-Subject: [PATCH 13/19] OMAP2+: cpufreq: only supports OPP library
-
-OMAP2 is the only family using clk_[init|exit]_cpufreq_table, however,
-the cpufreq code does not currently use clk_init_cpufreq_table. As a
-result, it is unusuable for OMAP2 and only usable only on platforms
-using OPP library.
-
-Remove the unbalanced clk_exit_cpufreq_table().  Any platforms where
-OPPs are not availble will fail on init because a freq table will not
-be properly initialized.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-[khilman at ti.com: changelog edits, and graceful failure mode changes]
-Acked-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |    3 +--
- 1 files changed, 1 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index acf18e8..3af7cda 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -1,7 +1,7 @@
- /*
-  *  OMAP2PLUS cpufreq driver
-  *
-- *  CPU frequency scaling for OMAP
-+ *  CPU frequency scaling for OMAP using OPP information
-  *
-  *  Copyright (C) 2005 Nokia Corporation
-  *  Written by Tony Lindgren <tony at atomide.com>
-@@ -203,7 +203,6 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 
- static int omap_cpu_exit(struct cpufreq_policy *policy)
- {
--	clk_exit_cpufreq_table(&freq_table);
- 	clk_put(mpu_clk);
- 	return 0;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0014-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0014-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch
deleted file mode 100644
index 709a555..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0014-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From b0f40f6545e9ae32b6cbd2cb03561de805297bf5 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Thu, 26 May 2011 19:39:19 -0700
-Subject: [PATCH 14/19] OMAP2+: cpufreq: put clk if cpu_init failed
-
-Release the mpu_clk in fail paths.
-
-Reported-by: Todd Poynor <toddpoynor at google.com>
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   14 +++++++++++---
- 1 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 3af7cda..e019297 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -162,8 +162,10 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	if (IS_ERR(mpu_clk))
- 		return PTR_ERR(mpu_clk);
- 
--	if (policy->cpu >= NR_CPUS)
--		return -EINVAL;
-+	if (policy->cpu >= NR_CPUS) {
-+		result = -EINVAL;
-+		goto fail_ck;
-+	}
- 
- 	policy->cur = policy->min = policy->max = omap_getspeed(policy->cpu);
- 	result = opp_init_cpufreq_table(mpu_dev, &freq_table);
-@@ -171,12 +173,14 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	if (result) {
- 		dev_err(mpu_dev, "%s: cpu%d: failed creating freq table[%d]\n",
- 				__func__, policy->cpu, result);
--		return result;
-+		goto fail_ck;
- 	}
- 
- 	result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
- 	if (!result)
- 		cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
-+	else
-+		goto fail_ck;
- 
- 	policy->min = policy->cpuinfo.min_freq;
- 	policy->max = policy->cpuinfo.max_freq;
-@@ -199,6 +203,10 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	policy->cpuinfo.transition_latency = 300 * 1000;
- 
- 	return 0;
-+
-+fail_ck:
-+	clk_put(mpu_clk);
-+	return result;
- }
- 
- static int omap_cpu_exit(struct cpufreq_policy *policy)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0015-OMAP2-cpufreq-fix-freq_table-leak.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0015-OMAP2-cpufreq-fix-freq_table-leak.patch
deleted file mode 100644
index a1080e6..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0015-OMAP2-cpufreq-fix-freq_table-leak.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 67324a92ca4778fb6be86058c91ac7c9442ede16 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Thu, 26 May 2011 19:39:20 -0700
-Subject: [PATCH 15/19] OMAP2+: cpufreq: fix freq_table leak
-
-We use a single frequency table for multiple CPUs. But, with
-OMAP4, since we have multiple CPUs, the cpu_init call for CPU1
-causes freq_table previously allocated for CPU0 to be overwritten.
-In addition, we dont free the table on exit path.
-
-We solve this by maintaining an atomic type counter to ensure
-just a single table exists at a given time.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   22 +++++++++++++++++-----
- 1 files changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index e019297..a962a31 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -39,6 +39,7 @@
- #include <mach/hardware.h>
- 
- static struct cpufreq_frequency_table *freq_table;
-+static atomic_t freq_table_users = ATOMIC_INIT(0);
- static struct clk *mpu_clk;
- static char *mpu_clk_name;
- static struct device *mpu_dev;
-@@ -153,6 +154,12 @@ skip_lpj:
- 	return ret;
- }
- 
-+static inline void freq_table_free(void)
-+{
-+	if (atomic_dec_and_test(&freq_table_users))
-+		opp_free_cpufreq_table(mpu_dev, &freq_table);
-+}
-+
- static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- {
- 	int result = 0;
-@@ -168,7 +175,9 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	}
- 
- 	policy->cur = policy->min = policy->max = omap_getspeed(policy->cpu);
--	result = opp_init_cpufreq_table(mpu_dev, &freq_table);
-+
-+	if (atomic_inc_return(&freq_table_users) == 1)
-+		result = opp_init_cpufreq_table(mpu_dev, &freq_table);
- 
- 	if (result) {
- 		dev_err(mpu_dev, "%s: cpu%d: failed creating freq table[%d]\n",
-@@ -177,10 +186,10 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	}
- 
- 	result = cpufreq_frequency_table_cpuinfo(policy, freq_table);
--	if (!result)
--		cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
--	else
--		goto fail_ck;
-+	if (result)
-+		goto fail_table;
-+
-+	cpufreq_frequency_table_get_attr(freq_table, policy->cpu);
- 
- 	policy->min = policy->cpuinfo.min_freq;
- 	policy->max = policy->cpuinfo.max_freq;
-@@ -204,6 +213,8 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 
- 	return 0;
- 
-+fail_table:
-+	freq_table_free();
- fail_ck:
- 	clk_put(mpu_clk);
- 	return result;
-@@ -211,6 +222,7 @@ fail_ck:
- 
- static int omap_cpu_exit(struct cpufreq_policy *policy)
- {
-+	freq_table_free();
- 	clk_put(mpu_clk);
- 	return 0;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch
deleted file mode 100644
index 2451a21..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From f0e647da78b80946ab301787aba4330bd7d1429d Mon Sep 17 00:00:00 2001
-From: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Date: Fri, 3 Jun 2011 17:46:57 +0530
-Subject: [PATCH 16/19] OMAP2+: CPUfreq: Remove superfluous check in target() for online CPU's.
-
-Current OMAP2PLUS CPUfreq tagret() functions returns when all
-the CPU's are not online. This breaks CPUfreq when secondary CPUs
-are offlined on SMP system.
-
-The intention of that check was just avoid CPU frequency change
-during the window when CPU becomes online but it's cpufreq_init is
-not done yet. Otherwise it can lead to notifiers being sent on
-a CPU which is not yet registered to the governor.
-
-But this race conditions is already managed by the CPUfreq
-core driver by updating the available cpumask accordingly.
-
-OMAP CPUFReq driver make use same cpumask for the notifiers
-so the above problem doesn't exist. In my initial implementation
-of the OMAP4 CPUFreq driver, I was using 'for_each_online_cpu()'
-for notifiers which lead me to add that check. Later I fixed
-the notifies but didn't realise that the check has become
-redundant then.
-
-Fix it by removing the superfluous check in target().
-
-Thanks for Nishant Menon <nm at ti.com> for reporting issue
-with hot-plug and Kevin Hilman <khilman at ti.com> for his
-comment on excessive check in target().
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Reported-by: Nishanth Menon <nm at ti.com>
-Tested-by: Vishwanath BS <vishwanath.bs at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Tested-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |    4 ----
- 1 files changed, 0 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index a962a31..eaefa49 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -70,10 +70,6 @@ static int omap_target(struct cpufreq_policy *policy,
- 	int ret = 0;
- 	struct cpufreq_freqs freqs;
- 
--	/* Changes not allowed until all CPUs are online */
--	if (is_smp() && (num_online_cpus() < NR_CPUS))
--		return ret;
--
- 	if (!freq_table) {
- 		dev_err(mpu_dev, "%s: cpu%d: no freq table!\n", __func__,
- 				policy->cpu);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0017-OMAP2-cpufreq-notify-even-with-bad-boot-frequency.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0017-OMAP2-cpufreq-notify-even-with-bad-boot-frequency.patch
deleted file mode 100644
index b5e9734..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0017-OMAP2-cpufreq-notify-even-with-bad-boot-frequency.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 669ad0bf5d48d8675365a212f561f57bec4d9158 Mon Sep 17 00:00:00 2001
-From: Colin Cross <ccross at google.com>
-Date: Mon, 6 Jun 2011 21:05:29 -0500
-Subject: [PATCH 17/19] OMAP2+: cpufreq: notify even with bad boot frequency
-
-Sometimes, bootloaders starts up with a frequency which is not
-in the OPP table. At cpu_init, policy->cur contains the frequency
-we pick at boot.  It is possible that system might have fixed
-it's boot frequency later on as part of power initialization.
-After this condition, the first call to omap_target results in the
-following:
-
-omap_getspeed(actual device frequency) != policy->cur(frequency that
-cpufreq thinks that the system is at), and it is possible that
-freqs.old == freqs.new (because the governor requested a scale down).
-
-We exit without triggering the notifiers in the current code, which
-does'nt let code which depends on cpufreq_notify_transition to have
-accurate information as to what the system frequency is.
-
-Instead, we do a normal transition if policy->cur is wrong, then,
-freqs.old will be the actual cpu frequency, freqs.new will be the
-actual new cpu frequency and all required notifiers have the accurate
-information.
-
-Acked-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Colin Cross <ccross at google.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index eaefa49..8598928 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -93,7 +93,7 @@ static int omap_target(struct cpufreq_policy *policy,
- 	freqs.old = omap_getspeed(policy->cpu);
- 	freqs.cpu = policy->cpu;
- 
--	if (freqs.old == freqs.new)
-+	if (freqs.old == freqs.new && policy->cur == freqs.new)
- 		return ret;
- 
- 	if (!is_smp()) {
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0018-OMAP2-cpufreq-Enable-all-CPUs-in-shared-policy-mask.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0018-OMAP2-cpufreq-Enable-all-CPUs-in-shared-policy-mask.patch
deleted file mode 100644
index 923e22f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0018-OMAP2-cpufreq-Enable-all-CPUs-in-shared-policy-mask.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 0d8c6a265f29587ab9c6df1c6bebe359a8d71d09 Mon Sep 17 00:00:00 2001
-From: Todd Poynor <toddpoynor at google.com>
-Date: Tue, 7 Jun 2011 13:57:52 -0700
-Subject: [PATCH 18/19] OMAP2+: cpufreq: Enable all CPUs in shared policy mask
-
-Enable all CPUs in the shared policy in the CPU init callback.
-Otherwise, the governor CPUFREQ_GOV_START event is invoked with
-a policy that only includes the first CPU, leaving other CPUs
-uninitialized by the governor.
-
-Signed-off-by: Todd Poynor <toddpoynor at google.com>
-Acked-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |    4 +---
- 1 files changed, 1 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 8598928..1f3b2e1 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -159,7 +159,6 @@ static inline void freq_table_free(void)
- static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- {
- 	int result = 0;
--	static cpumask_var_t cpumask;
- 
- 	mpu_clk = clk_get(NULL, mpu_clk_name);
- 	if (IS_ERR(mpu_clk))
-@@ -200,8 +199,7 @@ static int __cpuinit omap_cpu_init(struct cpufreq_policy *policy)
- 	 */
- 	if (is_smp()) {
- 		policy->shared_type = CPUFREQ_SHARED_TYPE_ANY;
--		cpumask_or(cpumask, cpumask_of(policy->cpu), cpumask);
--		cpumask_copy(policy->cpus, cpumask);
-+		cpumask_setall(policy->cpus);
- 	}
- 
- 	/* FIXME: what's the actual transition time? */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0019-OMAP2-CPUfreq-update-lpj-with-reference-value-to-avo.patch b/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0019-OMAP2-CPUfreq-update-lpj-with-reference-value-to-avo.patch
deleted file mode 100644
index 85666bc..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/cpufreq/0019-OMAP2-CPUfreq-update-lpj-with-reference-value-to-avo.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 550f74e2915393426e15c8d12695707253c8a91d Mon Sep 17 00:00:00 2001
-From: Russell King <rmk+kernel at arm.linux.org.uk>
-Date: Mon, 11 Jul 2011 23:10:04 +0530
-Subject: [PATCH 19/19] OMAP2+: CPUfreq: update lpj with reference value to avoid progressive error.
-
-Adjust _both_ the per-cpu loops_per_jiffy and global lpj. Calibrate them
-with with reference to the initial values to avoid a progressively
-bigger and bigger error in the value over time.
-
-While at this, re-use the notifiers for UP/SMP since on
-UP machine or UP_ON_SMP policy->cpus mask would contain only
-the boot CPU.
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-[santosh.shilimkar at ti.com: re-based against omap cpufreq
-upstream branch and fixed notifiers]
-Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
-Cc: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/omap2plus-cpufreq.c |   50 ++++++++++++++++--------------
- 1 files changed, 27 insertions(+), 23 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap2plus-cpufreq.c b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-index 1f3b2e1..de82e87 100644
---- a/arch/arm/mach-omap2/omap2plus-cpufreq.c
-+++ b/arch/arm/mach-omap2/omap2plus-cpufreq.c
-@@ -38,6 +38,16 @@
- 
- #include <mach/hardware.h>
- 
-+#ifdef CONFIG_SMP
-+struct lpj_info {
-+	unsigned long	ref;
-+	unsigned int	freq;
-+};
-+
-+static DEFINE_PER_CPU(struct lpj_info, lpj_ref);
-+static struct lpj_info global_lpj_ref;
-+#endif
-+
- static struct cpufreq_frequency_table *freq_table;
- static atomic_t freq_table_users = ATOMIC_INIT(0);
- static struct clk *mpu_clk;
-@@ -96,37 +106,18 @@ static int omap_target(struct cpufreq_policy *policy,
- 	if (freqs.old == freqs.new && policy->cur == freqs.new)
- 		return ret;
- 
--	if (!is_smp()) {
--		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
--		goto set_freq;
--	}
--
- 	/* notifiers */
- 	for_each_cpu(i, policy->cpus) {
- 		freqs.cpu = i;
- 		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
- 	}
- 
--set_freq:
- #ifdef CONFIG_CPU_FREQ_DEBUG
- 	pr_info("cpufreq-omap: transition: %u --> %u\n", freqs.old, freqs.new);
- #endif
- 
- 	ret = clk_set_rate(mpu_clk, freqs.new * 1000);
--
--	/*
--	 * Generic CPUFREQ driver jiffy update is under !SMP. So jiffies
--	 * won't get updated when UP machine cpufreq build with
--	 * CONFIG_SMP enabled. Below code is added only to manage that
--	 * scenario
--	 */
- 	freqs.new = omap_getspeed(policy->cpu);
--	if (!is_smp()) {
--		loops_per_jiffy =
--			 cpufreq_scale(loops_per_jiffy, freqs.old, freqs.new);
--		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
--		goto skip_lpj;
--	}
- 
- #ifdef CONFIG_SMP
- 	/*
-@@ -134,10 +125,24 @@ set_freq:
- 	 * cpufreq driver. So, update the per-CPU loops_per_jiffy value
- 	 * on frequency transition. We need to update all dependent CPUs.
- 	 */
--	for_each_cpu(i, policy->cpus)
-+	for_each_cpu(i, policy->cpus) {
-+		struct lpj_info *lpj = &per_cpu(lpj_ref, i);
-+		if (!lpj->freq) {
-+			lpj->ref = per_cpu(cpu_data, i).loops_per_jiffy;
-+			lpj->freq = freqs.old;
-+		}
-+
- 		per_cpu(cpu_data, i).loops_per_jiffy =
--			cpufreq_scale(per_cpu(cpu_data, i).loops_per_jiffy,
--					freqs.old, freqs.new);
-+			cpufreq_scale(lpj->ref, lpj->freq, freqs.new);
-+	}
-+
-+	/* And don't forget to adjust the global one */
-+	if (!global_lpj_ref.freq) {
-+		global_lpj_ref.ref = loops_per_jiffy;
-+		global_lpj_ref.freq = freqs.old;
-+	}
-+	loops_per_jiffy = cpufreq_scale(global_lpj_ref.ref, global_lpj_ref.freq,
-+					freqs.new);
- #endif
- 
- 	/* notifiers */
-@@ -146,7 +151,6 @@ set_freq:
- 		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
- 	}
- 
--skip_lpj:
- 	return ret;
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0001-cleanup-regulator-supply-definitions-in-mach-omap2.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0001-cleanup-regulator-supply-definitions-in-mach-omap2.patch
deleted file mode 100644
index e86ca6f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0001-cleanup-regulator-supply-definitions-in-mach-omap2.patch
+++ /dev/null
@@ -1,1083 +0,0 @@
-From d95bccb7d0ad132153543bcc018e8da8aba1832d Mon Sep 17 00:00:00 2001
-From: Oleg Drokin <green at linuxhacker.ru>
-Date: Mon, 6 Jun 2011 18:57:07 +0000
-Subject: [PATCH 001/149] cleanup regulator supply definitions in mach-omap2
-
-to use REGULATOR_SUPPLY arrays.
-
-CC: Mark Brown <broonie at opensource.wolfsonmicro.com>
-CC: Mike Rapoport <mike at compulab.co.il>
-CC: Nishant Kamat <nskamat at ti.com>
-CC: Steve Sakoman <steve at sakoman.com>
-CC: Felipe Balbi <balbi at ti.com>
-CC: Santosh Shilimkar <santosh.shilimkar at ti.com>
-CC: peter.barada at logicpd.com
-Signed-off-by: Oleg Drokin <green at linuxhacker.ru>
-Acked-by: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-4430sdp.c          |   13 ++----
- arch/arm/mach-omap2/board-cm-t35.c           |   34 +++++++-------
- arch/arm/mach-omap2/board-devkit8000.c       |   28 ++++++-----
- arch/arm/mach-omap2/board-igep0020.c         |   27 ++++++-----
- arch/arm/mach-omap2/board-ldp.c              |    8 ++--
- arch/arm/mach-omap2/board-omap3beagle.c      |   25 +++++-----
- arch/arm/mach-omap2/board-omap3evm.c         |   41 +++++++++--------
- arch/arm/mach-omap2/board-omap3logic.c       |    8 ++--
- arch/arm/mach-omap2/board-omap3pandora.c     |   63 ++++++++++++++-----------
- arch/arm/mach-omap2/board-omap3stalker.c     |   25 +++++-----
- arch/arm/mach-omap2/board-omap3touchbook.c   |   32 +++++++------
- arch/arm/mach-omap2/board-omap4panda.c       |   16 +++----
- arch/arm/mach-omap2/board-overo.c            |   26 ++++++-----
- arch/arm/mach-omap2/board-rx51-peripherals.c |   29 +++++++-----
- arch/arm/mach-omap2/board-zoom-peripherals.c |   42 +++++++++---------
- 15 files changed, 218 insertions(+), 199 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index 63de2d3..39a8062 100644
---- a/arch/arm/mach-omap2/board-4430sdp.c
-+++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -333,16 +333,11 @@ static struct omap2_hsmmc_info mmc[] = {
- };
- 
- static struct regulator_consumer_supply sdp4430_vaux_supply[] = {
--	{
--		.supply = "vmmc",
--		.dev_name = "omap_hsmmc.1",
--	},
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
- };
-+
- static struct regulator_consumer_supply sdp4430_vmmc_supply[] = {
--	{
--		.supply = "vmmc",
--		.dev_name = "omap_hsmmc.0",
--	},
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
- static int omap4_twl6030_hsmmc_late_init(struct device *dev)
-@@ -399,7 +394,7 @@ static struct regulator_init_data sdp4430_vaux1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
-+	.num_consumer_supplies  = ARRAY_SIZE(sdp4430_vaux_supply),
- 	.consumer_supplies      = sdp4430_vaux_supply,
- };
- 
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index 77456de..e7bf32d 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -337,19 +337,21 @@ static void __init cm_t35_init_display(void)
- 	}
- }
- 
--static struct regulator_consumer_supply cm_t35_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply cm_t35_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply cm_t35_vsim_supply = {
--	.supply			= "vmmc_aux",
-+static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply cm_t35_vdac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply cm_t35_vdac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
--static struct regulator_consumer_supply cm_t35_vdvi_supply =
--	REGULATOR_SUPPLY("vdvi", "omapdss");
-+static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
-+	REGULATOR_SUPPLY("vdvi", "omapdss"),
-+};
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
- static struct regulator_init_data cm_t35_vmmc1 = {
-@@ -362,8 +364,8 @@ static struct regulator_init_data cm_t35_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &cm_t35_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vmmc1_supply),
-+	.consumer_supplies	= cm_t35_vmmc1_supply,
- };
- 
- /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-@@ -377,8 +379,8 @@ static struct regulator_init_data cm_t35_vsim = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &cm_t35_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vsim_supply),
-+	.consumer_supplies	= cm_t35_vsim_supply,
- };
- 
- /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-@@ -391,8 +393,8 @@ static struct regulator_init_data cm_t35_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &cm_t35_vdac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vdac_supply),
-+	.consumer_supplies	= cm_t35_vdac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-@@ -406,8 +408,8 @@ static struct regulator_init_data cm_t35_vpll2 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &cm_t35_vdvi_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vdvi_supply),
-+	.consumer_supplies	= cm_t35_vdvi_supply,
- };
- 
- static struct twl4030_usb_data cm_t35_usb_data = {
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index 34956ec..ead9c1d 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -130,13 +130,14 @@ static void devkit8000_panel_disable_dvi(struct omap_dss_device *dssdev)
- 		gpio_set_value_cansleep(dssdev->reset_gpio, 0);
- }
- 
--static struct regulator_consumer_supply devkit8000_vmmc1_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0");
--
-+static struct regulator_consumer_supply devkit8000_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-+};
- 
- /* ads7846 on SPI */
--static struct regulator_consumer_supply devkit8000_vio_supply =
--	REGULATOR_SUPPLY("vcc", "spi2.0");
-+static struct regulator_consumer_supply devkit8000_vio_supply[] = {
-+	REGULATOR_SUPPLY("vcc", "spi2.0"),
-+};
- 
- static struct panel_generic_dpi_data lcd_panel = {
- 	.name			= "generic",
-@@ -186,8 +187,9 @@ static struct omap_dss_board_info devkit8000_dss_data = {
- 	.default_device = &devkit8000_lcd_device,
- };
- 
--static struct regulator_consumer_supply devkit8000_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply devkit8000_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- static uint32_t board_keymap[] = {
- 	KEY(0, 0, KEY_1),
-@@ -284,8 +286,8 @@ static struct regulator_init_data devkit8000_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &devkit8000_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(devkit8000_vmmc1_supply),
-+	.consumer_supplies	= devkit8000_vmmc1_supply,
- };
- 
- /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-@@ -298,8 +300,8 @@ static struct regulator_init_data devkit8000_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &devkit8000_vdda_dac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(devkit8000_vdda_dac_supply),
-+	.consumer_supplies	= devkit8000_vdda_dac_supply,
- };
- 
- /* VPLL1 for digital video outputs */
-@@ -327,8 +329,8 @@ static struct regulator_init_data devkit8000_vio = {
- 		.valid_ops_mask         = REGULATOR_CHANGE_MODE
- 			| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &devkit8000_vio_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(devkit8000_vio_supply),
-+	.consumer_supplies      = devkit8000_vio_supply,
- };
- 
- static struct twl4030_usb_data devkit8000_usb_data = {
-diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
-index 0c1bfca..84d2846 100644
---- a/arch/arm/mach-omap2/board-igep0020.c
-+++ b/arch/arm/mach-omap2/board-igep0020.c
-@@ -222,8 +222,9 @@ static inline void __init igep2_init_smsc911x(void)
- static inline void __init igep2_init_smsc911x(void) { }
- #endif
- 
--static struct regulator_consumer_supply igep_vmmc1_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0");
-+static struct regulator_consumer_supply igep_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-+};
- 
- /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
- static struct regulator_init_data igep_vmmc1 = {
-@@ -236,12 +237,13 @@ static struct regulator_init_data igep_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &igep_vmmc1_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(igep_vmmc1_supply),
-+	.consumer_supplies      = igep_vmmc1_supply,
- };
- 
--static struct regulator_consumer_supply igep_vio_supply =
--	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1");
-+static struct regulator_consumer_supply igep_vio_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"),
-+};
- 
- static struct regulator_init_data igep_vio = {
- 	.constraints = {
-@@ -254,20 +256,21 @@ static struct regulator_init_data igep_vio = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &igep_vio_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(igep_vio_supply),
-+	.consumer_supplies      = igep_vio_supply,
- };
- 
--static struct regulator_consumer_supply igep_vmmc2_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+static struct regulator_consumer_supply igep_vmmc2_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
-+};
- 
- static struct regulator_init_data igep_vmmc2 = {
- 	.constraints		= {
- 		.valid_modes_mask	= REGULATOR_MODE_NORMAL,
- 		.always_on		= 1,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &igep_vmmc2_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(igep_vmmc2_supply),
-+	.consumer_supplies	= igep_vmmc2_supply,
- };
- 
- static struct fixed_voltage_config igep_vwlan = {
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index f7d6038..069bc9f 100644
---- a/arch/arm/mach-omap2/board-ldp.c
-+++ b/arch/arm/mach-omap2/board-ldp.c
-@@ -213,8 +213,8 @@ static struct twl4030_madc_platform_data ldp_madc_data = {
- 	.irq_line	= 1,
- };
- 
--static struct regulator_consumer_supply ldp_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -228,8 +228,8 @@ static struct regulator_init_data ldp_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &ldp_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(ldp_vmmc1_supply),
-+	.consumer_supplies	= ldp_vmmc1_supply,
- };
- 
- /* ads7846 on SPI */
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 7f21d24..4cf7c19 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -210,8 +210,9 @@ static struct omap_dss_board_info beagle_dss_data = {
- 	.default_device = &beagle_dvi_device,
- };
- 
--static struct regulator_consumer_supply beagle_vdac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply beagle_vdac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- static struct regulator_consumer_supply beagle_vdvi_supplies[] = {
- 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-@@ -239,12 +240,12 @@ static struct omap2_hsmmc_info mmc[] = {
- 	{}	/* Terminator */
- };
- 
--static struct regulator_consumer_supply beagle_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply beagle_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply beagle_vsim_supply = {
--	.supply			= "vmmc_aux",
-+static struct regulator_consumer_supply beagle_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
- static struct gpio_led gpio_leds[];
-@@ -336,8 +337,8 @@ static struct regulator_init_data beagle_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &beagle_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(beagle_vmmc1_supply),
-+	.consumer_supplies	= beagle_vmmc1_supply,
- };
- 
- /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-@@ -351,8 +352,8 @@ static struct regulator_init_data beagle_vsim = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &beagle_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(beagle_vsim_supply),
-+	.consumer_supplies	= beagle_vsim_supply,
- };
- 
- /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-@@ -365,8 +366,8 @@ static struct regulator_init_data beagle_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &beagle_vdac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(beagle_vdac_supply),
-+	.consumer_supplies	= beagle_vdac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index b4d43464..fc7a23a 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -273,12 +273,12 @@ static struct omap_dss_board_info omap3_evm_dss_data = {
- 	.default_device	= &omap3_evm_lcd_device,
- };
- 
--static struct regulator_consumer_supply omap3evm_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply omap3evm_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply omap3evm_vsim_supply = {
--	.supply			= "vmmc_aux",
-+static struct regulator_consumer_supply omap3evm_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -292,8 +292,8 @@ static struct regulator_init_data omap3evm_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3evm_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vmmc1_supply),
-+	.consumer_supplies	= omap3evm_vmmc1_supply,
- };
- 
- /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-@@ -307,8 +307,8 @@ static struct regulator_init_data omap3evm_vsim = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3evm_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vsim_supply),
-+	.consumer_supplies	= omap3evm_vsim_supply,
- };
- 
- static struct omap2_hsmmc_info mmc[] = {
-@@ -449,8 +449,9 @@ static struct twl4030_codec_data omap3evm_codec_data = {
- 	.audio = &omap3evm_audio_data,
- };
- 
--static struct regulator_consumer_supply omap3_evm_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply omap3_evm_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- /* VDAC for DSS driving S-Video */
- static struct regulator_init_data omap3_evm_vdac = {
-@@ -463,8 +464,8 @@ static struct regulator_init_data omap3_evm_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3_evm_vdda_dac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdda_dac_supply),
-+	.consumer_supplies	= omap3_evm_vdda_dac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-@@ -488,8 +489,9 @@ static struct regulator_init_data omap3_evm_vpll2 = {
- };
- 
- /* ads7846 on SPI */
--static struct regulator_consumer_supply omap3evm_vio_supply =
--	REGULATOR_SUPPLY("vcc", "spi1.0");
-+static struct regulator_consumer_supply omap3evm_vio_supply[] = {
-+	REGULATOR_SUPPLY("vcc", "spi1.0"),
-+};
- 
- /* VIO for ads7846 */
- static struct regulator_init_data omap3evm_vio = {
-@@ -502,8 +504,8 @@ static struct regulator_init_data omap3evm_vio = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3evm_vio_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vio_supply),
-+	.consumer_supplies	= omap3evm_vio_supply,
- };
- 
- #ifdef CONFIG_WL12XX_PLATFORM_DATA
-@@ -511,16 +513,17 @@ static struct regulator_init_data omap3evm_vio = {
- #define OMAP3EVM_WLAN_PMENA_GPIO	(150)
- #define OMAP3EVM_WLAN_IRQ_GPIO		(149)
- 
--static struct regulator_consumer_supply omap3evm_vmmc2_supply =
-+static struct regulator_consumer_supply omap3evm_vmmc2_supply[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+};
- 
- /* VMMC2 for driving the WL12xx module */
- static struct regulator_init_data omap3evm_vmmc2 = {
- 	.constraints = {
- 		.valid_ops_mask	= REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies = &omap3evm_vmmc2_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vmmc2_supply);,
-+	.consumer_supplies	= omap3evm_vmmc2_supply,
- };
- 
- static struct fixed_voltage_config omap3evm_vwlan = {
-diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
-index 60d9be4..ec18435 100644
---- a/arch/arm/mach-omap2/board-omap3logic.c
-+++ b/arch/arm/mach-omap2/board-omap3logic.c
-@@ -55,8 +55,8 @@
- #define OMAP3_TORPEDO_MMC_GPIO_CD		127
- #define OMAP3_TORPEDO_SMSC911X_GPIO_IRQ		129
- 
--static struct regulator_consumer_supply omap3logic_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply omap3logic_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -71,8 +71,8 @@ static struct regulator_init_data omap3logic_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &omap3logic_vmmc1_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(omap3logic_vmmc1_supply),
-+	.consumer_supplies      = omap3logic_vmmc1_supply,
- };
- 
- static struct twl4030_gpio_platform_data omap3logic_gpio_data = {
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index 23f71d4..130a278 100644
---- a/arch/arm/mach-omap2/board-omap3pandora.c
-+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -320,17 +320,21 @@ static struct twl4030_gpio_platform_data omap3pandora_gpio_data = {
- 	.setup		= omap3pandora_twl_gpio_setup,
- };
- 
--static struct regulator_consumer_supply pandora_vmmc1_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0");
-+static struct regulator_consumer_supply pandora_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-+};
- 
--static struct regulator_consumer_supply pandora_vmmc2_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+static struct regulator_consumer_supply pandora_vmmc2_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1")
-+};
- 
--static struct regulator_consumer_supply pandora_vmmc3_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2");
-+static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
-+};
- 
--static struct regulator_consumer_supply pandora_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply pandora_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- static struct regulator_consumer_supply pandora_vdds_supplies[] = {
- 	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
-@@ -338,11 +342,13 @@ static struct regulator_consumer_supply pandora_vdds_supplies[] = {
- 	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
- };
- 
--static struct regulator_consumer_supply pandora_vcc_lcd_supply =
--	REGULATOR_SUPPLY("vcc", "display0");
-+static struct regulator_consumer_supply pandora_vcc_lcd_supply[] = {
-+	REGULATOR_SUPPLY("vcc", "display0"),
-+};
- 
--static struct regulator_consumer_supply pandora_usb_phy_supply =
--	REGULATOR_SUPPLY("hsusb0", "ehci-omap.0");
-+static struct regulator_consumer_supply pandora_usb_phy_supply[] = {
-+	REGULATOR_SUPPLY("hsusb0", "ehci-omap.0"),
-+};
- 
- /* ads7846 on SPI and 2 nub controllers on I2C */
- static struct regulator_consumer_supply pandora_vaux4_supplies[] = {
-@@ -351,8 +357,9 @@ static struct regulator_consumer_supply pandora_vaux4_supplies[] = {
- 	REGULATOR_SUPPLY("vcc", "3-0067"),
- };
- 
--static struct regulator_consumer_supply pandora_adac_supply =
--	REGULATOR_SUPPLY("vcc", "soc-audio");
-+static struct regulator_consumer_supply pandora_adac_supply[] = {
-+	REGULATOR_SUPPLY("vcc", "soc-audio"),
-+};
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
- static struct regulator_init_data pandora_vmmc1 = {
-@@ -365,8 +372,8 @@ static struct regulator_init_data pandora_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_vmmc1_supply),
-+	.consumer_supplies	= pandora_vmmc1_supply,
- };
- 
- /* VMMC2 for MMC2 pins CMD, CLK, DAT0..DAT3 (max 100 mA) */
-@@ -380,8 +387,8 @@ static struct regulator_init_data pandora_vmmc2 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_vmmc2_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_vmmc2_supply),
-+	.consumer_supplies	= pandora_vmmc2_supply,
- };
- 
- /* VDAC for DSS driving S-Video */
-@@ -395,8 +402,8 @@ static struct regulator_init_data pandora_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_vdda_dac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_vdda_dac_supply),
-+	.consumer_supplies	= pandora_vdda_dac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-@@ -425,8 +432,8 @@ static struct regulator_init_data pandora_vaux1 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_vcc_lcd_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_vcc_lcd_supply),
-+	.consumer_supplies	= pandora_vcc_lcd_supply,
- };
- 
- /* VAUX2 for USB host PHY */
-@@ -440,8 +447,8 @@ static struct regulator_init_data pandora_vaux2 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_usb_phy_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_usb_phy_supply),
-+	.consumer_supplies	= pandora_usb_phy_supply,
- };
- 
- /* VAUX4 for ads7846 and nubs */
-@@ -470,8 +477,8 @@ static struct regulator_init_data pandora_vsim = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_adac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_adac_supply),
-+	.consumer_supplies	= pandora_adac_supply,
- };
- 
- /* Fixed regulator internal to Wifi module */
-@@ -479,8 +486,8 @@ static struct regulator_init_data pandora_vmmc3 = {
- 	.constraints = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &pandora_vmmc3_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(pandora_vmmc3_supply),
-+	.consumer_supplies	= pandora_vmmc3_supply,
- };
- 
- static struct fixed_voltage_config pandora_vwlan = {
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index 0c108a2..99be540 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -206,12 +206,12 @@ static struct omap_dss_board_info omap3_stalker_dss_data = {
- 	.default_device	= &omap3_stalker_dvi_device,
- };
- 
--static struct regulator_consumer_supply omap3stalker_vmmc1_supply = {
--	.supply		= "vmmc",
-+static struct regulator_consumer_supply omap3stalker_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply omap3stalker_vsim_supply = {
--	.supply		= "vmmc_aux",
-+static struct regulator_consumer_supply omap3stalker_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -224,8 +224,8 @@ static struct regulator_init_data omap3stalker_vmmc1 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
- 		| REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3stalker_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3stalker_vmmc1_supply),
-+	.consumer_supplies	= omap3stalker_vmmc1_supply,
- };
- 
- /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-@@ -238,8 +238,8 @@ static struct regulator_init_data omap3stalker_vsim = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
- 		| REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3stalker_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3stalker_vsim_supply),
-+	.consumer_supplies	= omap3stalker_vsim_supply,
- };
- 
- static struct omap2_hsmmc_info mmc[] = {
-@@ -403,8 +403,9 @@ static struct twl4030_codec_data omap3stalker_codec_data = {
- 	.audio		= &omap3stalker_audio_data,
- };
- 
--static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- /* VDAC for DSS driving S-Video */
- static struct regulator_init_data omap3_stalker_vdac = {
-@@ -417,8 +418,8 @@ static struct regulator_init_data omap3_stalker_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 		| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &omap3_stalker_vdda_dac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3_stalker_vdda_dac_supply),
-+	.consumer_supplies	= omap3_stalker_vdda_dac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index 5f649fa..ab5c37d 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -114,12 +114,12 @@ static struct omap_lcd_config omap3_touchbook_lcd_config __initdata = {
- 	.ctrl_name	= "internal",
- };
- 
--static struct regulator_consumer_supply touchbook_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply touchbook_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply touchbook_vsim_supply = {
--	.supply			= "vmmc_aux",
-+static struct regulator_consumer_supply touchbook_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
- static struct gpio_led gpio_leds[];
-@@ -167,14 +167,18 @@ static struct twl4030_gpio_platform_data touchbook_gpio_data = {
- 	.setup		= touchbook_twl_gpio_setup,
- };
- 
--static struct regulator_consumer_supply touchbook_vdac_supply = {
-+static struct regulator_consumer_supply touchbook_vdac_supply[] = {
-+{
- 	.supply		= "vdac",
- 	.dev		= &omap3_touchbook_lcd_device.dev,
-+},
- };
- 
--static struct regulator_consumer_supply touchbook_vdvi_supply = {
-+static struct regulator_consumer_supply touchbook_vdvi_supply[] = {
-+{
- 	.supply		= "vdvi",
- 	.dev		= &omap3_touchbook_lcd_device.dev,
-+},
- };
- 
- /* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
-@@ -188,8 +192,8 @@ static struct regulator_init_data touchbook_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &touchbook_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vmmc1_supply),
-+	.consumer_supplies	= touchbook_vmmc1_supply,
- };
- 
- /* VSIM for MMC1 pins DAT4..DAT7 (2 mA, plus card == max 50 mA) */
-@@ -203,8 +207,8 @@ static struct regulator_init_data touchbook_vsim = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &touchbook_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vsim_supply),
-+	.consumer_supplies	= touchbook_vsim_supply,
- };
- 
- /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-@@ -217,8 +221,8 @@ static struct regulator_init_data touchbook_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &touchbook_vdac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vdac_supply),
-+	.consumer_supplies	= touchbook_vdac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-@@ -232,8 +236,8 @@ static struct regulator_init_data touchbook_vpll2 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &touchbook_vdvi_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vdvi_supply),
-+	.consumer_supplies	= touchbook_vdvi_supply,
- };
- 
- static struct twl4030_usb_data touchbook_usb_data = {
-diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
-index 0cfe200..6d2372b 100644
---- a/arch/arm/mach-omap2/board-omap4panda.c
-+++ b/arch/arm/mach-omap2/board-omap4panda.c
-@@ -183,23 +183,19 @@ static struct omap2_hsmmc_info mmc[] = {
- };
- 
- static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
--	{
--		.supply = "vmmc",
--		.dev_name = "omap_hsmmc.0",
--	},
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply omap4_panda_vmmc5_supply = {
--	.supply = "vmmc",
--	.dev_name = "omap_hsmmc.4",
-+static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
- };
- 
- static struct regulator_init_data panda_vmmc5 = {
- 	.constraints = {
- 		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies = 1,
--	.consumer_supplies = &omap4_panda_vmmc5_supply,
-+	.num_consumer_supplies = ARRAY_SIZE(omap4_panda_vmmc5_supply),
-+	.consumer_supplies = omap4_panda_vmmc5_supply,
- };
- 
- static struct fixed_voltage_config panda_vwlan = {
-@@ -312,7 +308,7 @@ static struct regulator_init_data omap4_panda_vmmc = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
-+	.num_consumer_supplies  = ARRAY_SIZE(omap4_panda_vmmc_supply),
- 	.consumer_supplies      = omap4_panda_vmmc_supply,
- };
- 
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 175e1ab..30c7556 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -74,15 +74,16 @@
- 	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
- 
- /* fixed regulator for ads7846 */
--static struct regulator_consumer_supply ads7846_supply =
--	REGULATOR_SUPPLY("vcc", "spi1.0");
-+static struct regulator_consumer_supply ads7846_supply[] = {
-+	REGULATOR_SUPPLY("vcc", "spi1.0"),
-+};
- 
- static struct regulator_init_data vads7846_regulator = {
- 	.constraints = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &ads7846_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(ads7846_supply),
-+	.consumer_supplies	= ads7846_supply,
- };
- 
- static struct fixed_voltage_config vads7846 = {
-@@ -264,8 +265,9 @@ static struct omap_dss_board_info overo_dss_data = {
- 	.default_device	= &overo_dvi_device,
- };
- 
--static struct regulator_consumer_supply overo_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply overo_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- static struct regulator_consumer_supply overo_vdds_dsi_supply[] = {
- 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-@@ -319,8 +321,8 @@ static struct omap2_hsmmc_info mmc[] = {
- 	{}	/* Terminator */
- };
- 
--static struct regulator_consumer_supply overo_vmmc1_supply = {
--	.supply			= "vmmc",
-+static struct regulator_consumer_supply overo_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
- #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
-@@ -447,8 +449,8 @@ static struct regulator_init_data overo_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &overo_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(overo_vmmc1_supply),
-+	.consumer_supplies	= overo_vmmc1_supply,
- };
- 
- /* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
-@@ -461,8 +463,8 @@ static struct regulator_init_data overo_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &overo_vdda_dac_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(overo_vdda_dac_supply),
-+	.consumer_supplies	= overo_vdda_dac_supply,
- };
- 
- /* VPLL2 for digital video outputs */
-diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
-index c565971..b633ba8 100644
---- a/arch/arm/mach-omap2/board-rx51-peripherals.c
-+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
-@@ -358,14 +358,17 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
- 	{}	/* Terminator */
- };
- 
--static struct regulator_consumer_supply rx51_vmmc1_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0");
-+static struct regulator_consumer_supply rx51_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-+};
- 
--static struct regulator_consumer_supply rx51_vaux3_supply =
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+static struct regulator_consumer_supply rx51_vaux3_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
-+};
- 
--static struct regulator_consumer_supply rx51_vsim_supply =
--	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1");
-+static struct regulator_consumer_supply rx51_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.1"),
-+};
- 
- static struct regulator_consumer_supply rx51_vmmc2_supplies[] = {
- 	/* tlv320aic3x analog supplies */
-@@ -452,8 +455,8 @@ static struct regulator_init_data rx51_vaux3_mmc = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &rx51_vaux3_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(rx51_vaux3_supply),
-+	.consumer_supplies	= rx51_vaux3_supply,
- };
- 
- static struct regulator_init_data rx51_vaux4 = {
-@@ -479,8 +482,8 @@ static struct regulator_init_data rx51_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &rx51_vmmc1_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(rx51_vmmc1_supply),
-+	.consumer_supplies	= rx51_vmmc1_supply,
- };
- 
- static struct regulator_init_data rx51_vmmc2 = {
-@@ -511,8 +514,8 @@ static struct regulator_init_data rx51_vsim = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies	= &rx51_vsim_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(rx51_vsim_supply),
-+	.consumer_supplies	= rx51_vsim_supply,
- };
- 
- static struct regulator_init_data rx51_vdac = {
-@@ -526,7 +529,7 @@ static struct regulator_init_data rx51_vdac = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
-+	.num_consumer_supplies	= ARRAY_SIZE(rx51_vdac_supply),
- 	.consumer_supplies	= rx51_vdac_supply,
- };
- 
-diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
-index 118c6f5..cb012e1 100644
---- a/arch/arm/mach-omap2/board-zoom-peripherals.c
-+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
-@@ -105,21 +105,20 @@ static struct twl4030_keypad_data zoom_kp_twl4030_data = {
- 	.rep		= 1,
- };
- 
--static struct regulator_consumer_supply zoom_vmmc1_supply = {
--	.supply		= "vmmc",
-+static struct regulator_consumer_supply zoom_vmmc1_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply zoom_vsim_supply = {
--	.supply		= "vmmc_aux",
-+static struct regulator_consumer_supply zoom_vsim_supply[] = {
-+	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply zoom_vmmc2_supply = {
--	.supply		= "vmmc",
-+static struct regulator_consumer_supply zoom_vmmc2_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
- };
- 
--static struct regulator_consumer_supply zoom_vmmc3_supply = {
--	.supply		= "vmmc",
--	.dev_name	= "omap_hsmmc.2",
-+static struct regulator_consumer_supply zoom_vmmc3_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
- };
- 
- /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
-@@ -133,8 +132,8 @@ static struct regulator_init_data zoom_vmmc1 = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &zoom_vmmc1_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(zoom_vmmc1_supply),
-+	.consumer_supplies      = zoom_vmmc1_supply,
- };
- 
- /* VMMC2 for MMC2 card */
-@@ -148,8 +147,8 @@ static struct regulator_init_data zoom_vmmc2 = {
- 		.valid_ops_mask		= REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &zoom_vmmc2_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(zoom_vmmc2_supply),
-+	.consumer_supplies      = zoom_vmmc2_supply,
- };
- 
- /* VSIM for OMAP VDD_MMC1A (i/o for DAT4..DAT7) */
-@@ -163,16 +162,16 @@ static struct regulator_init_data zoom_vsim = {
- 					| REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = &zoom_vsim_supply,
-+	.num_consumer_supplies  = ARRAY_SIZE(zoom_vsim_supply),
-+	.consumer_supplies      = zoom_vsim_supply,
- };
- 
- static struct regulator_init_data zoom_vmmc3 = {
- 	.constraints = {
- 		.valid_ops_mask	= REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= 1,
--	.consumer_supplies = &zoom_vmmc3_supply,
-+	.num_consumer_supplies	= ARRAY_SIZE(zoom_vmmc3_supply),
-+	.consumer_supplies	= zoom_vmmc3_supply,
- };
- 
- static struct fixed_voltage_config zoom_vwlan = {
-@@ -232,8 +231,9 @@ static struct regulator_consumer_supply zoom_vpll2_supplies[] = {
- 	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
- };
- 
--static struct regulator_consumer_supply zoom_vdda_dac_supply =
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc");
-+static struct regulator_consumer_supply zoom_vdda_dac_supply[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
- 
- static struct regulator_init_data zoom_vpll2 = {
- 	.constraints = {
-@@ -257,8 +257,8 @@ static struct regulator_init_data zoom_vdac = {
- 		.valid_ops_mask         = REGULATOR_CHANGE_MODE
- 					| REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies		= 1,
--	.consumer_supplies		= &zoom_vdda_dac_supply,
-+	.num_consumer_supplies		= ARRAY_SIZE(zoom_vdda_dac_supply),
-+	.consumer_supplies		= zoom_vdda_dac_supply,
- };
- 
- static int zoom_twl_gpio_setup(struct device *dev,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0002-Remove-old-style-supply.dev-assignments-common-in-hs.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0002-Remove-old-style-supply.dev-assignments-common-in-hs.patch
deleted file mode 100644
index 52e6786..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0002-Remove-old-style-supply.dev-assignments-common-in-hs.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-From a3d13ae14bca7c412e5b0575c244ce7370fa3747 Mon Sep 17 00:00:00 2001
-From: Oleg Drokin <green at linuxhacker.ru>
-Date: Mon, 6 Jun 2011 18:57:08 +0000
-Subject: [PATCH 002/149] Remove old-style supply.dev assignments common in hsmmc init
-
-CC: Mark Brown <broonie at opensource.wolfsonmicro.com>
-CC: Mike Rapoport <mike at compulab.co.il>
-CC: Nishant Kamat <nskamat at ti.com>
-CC: Steve Sakoman <steve at sakoman.com>
-CC: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Oleg Drokin <green at linuxhacker.ru>
-Acked-by: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-cm-t35.c           |    4 ----
- arch/arm/mach-omap2/board-ldp.c              |    2 --
- arch/arm/mach-omap2/board-omap3beagle.c      |    4 ----
- arch/arm/mach-omap2/board-omap3evm.c         |    4 ----
- arch/arm/mach-omap2/board-omap3logic.c       |    2 --
- arch/arm/mach-omap2/board-omap3stalker.c     |    4 ----
- arch/arm/mach-omap2/board-omap3touchbook.c   |    4 ----
- arch/arm/mach-omap2/board-overo.c            |    2 --
- arch/arm/mach-omap2/board-zoom-peripherals.c |    7 -------
- 9 files changed, 0 insertions(+), 33 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index e7bf32d..ceb581e 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -483,10 +483,6 @@ static int cm_t35_twl_gpio_setup(struct device *dev, unsigned gpio,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters */
--	cm_t35_vmmc1_supply.dev = mmc[0].dev;
--	cm_t35_vsim_supply.dev = mmc[0].dev;
--
- 	return 0;
- }
- 
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index 069bc9f..2d7e0ae 100644
---- a/arch/arm/mach-omap2/board-ldp.c
-+++ b/arch/arm/mach-omap2/board-ldp.c
-@@ -341,8 +341,6 @@ static void __init omap_ldp_init(void)
- 		ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0);
- 
- 	omap2_hsmmc_init(mmc);
--	/* link regulators to MMC adapters */
--	ldp_vmmc1_supply.dev = mmc[0].dev;
- }
- 
- MACHINE_START(OMAP_LDP, "OMAP LDP board")
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 4cf7c19..8ef0e19 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -268,10 +268,6 @@ static int beagle_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters */
--	beagle_vmmc1_supply.dev = mmc[0].dev;
--	beagle_vsim_supply.dev = mmc[0].dev;
--
- 	/*
- 	 * TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, XM active
- 	 * high / others active low)
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index fc7a23a..e2202dd 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -365,10 +365,6 @@ static int omap3evm_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters */
--	omap3evm_vmmc1_supply.dev = mmc[0].dev;
--	omap3evm_vsim_supply.dev = mmc[0].dev;
--
- 	/*
- 	 * Most GPIOs are for USB OTG.  Some are mostly sent to
- 	 * the P2 connector; notably LEDA for the LCD backlight.
-diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
-index ec18435..eaefb59 100644
---- a/arch/arm/mach-omap2/board-omap3logic.c
-+++ b/arch/arm/mach-omap2/board-omap3logic.c
-@@ -130,8 +130,6 @@ static void __init board_mmc_init(void)
- 	}
- 
- 	omap2_hsmmc_init(board_mmc_info);
--	/* link regulators to MMC adapters */
--	omap3logic_vmmc1_supply.dev = board_mmc_info[0].dev;
- }
- 
- static struct omap_smsc911x_platform_data __initdata board_smsc911x_data = {
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index 99be540..63d12a3 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -321,10 +321,6 @@ omap3stalker_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters */
--	omap3stalker_vmmc1_supply.dev = mmc[0].dev;
--	omap3stalker_vsim_supply.dev = mmc[0].dev;
--
- 	/*
- 	 * Most GPIOs are for USB OTG.  Some are mostly sent to
- 	 * the P2 connector; notably LEDA for the LCD backlight.
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index ab5c37d..c80e2c3 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -137,10 +137,6 @@ static int touchbook_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters */
--	touchbook_vmmc1_supply.dev = mmc[0].dev;
--	touchbook_vsim_supply.dev = mmc[0].dev;
--
- 	/* REVISIT: need ehci-omap hooks for external VBUS
- 	 * power switch and overcurrent detect
- 	 */
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 30c7556..031a9a6 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -417,8 +417,6 @@ static int overo_twl_gpio_setup(struct device *dev,
- {
- 	omap2_hsmmc_init(mmc);
- 
--	overo_vmmc1_supply.dev = mmc[0].dev;
--
- #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
- 	/* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
- 	gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
-index cb012e1..8495f82 100644
---- a/arch/arm/mach-omap2/board-zoom-peripherals.c
-+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
-@@ -270,13 +270,6 @@ static int zoom_twl_gpio_setup(struct device *dev,
- 	mmc[0].gpio_cd = gpio + 0;
- 	omap2_hsmmc_init(mmc);
- 
--	/* link regulators to MMC adapters ... we "know" the
--	 * regulators will be set up only *after* we return.
--	*/
--	zoom_vmmc1_supply.dev = mmc[0].dev;
--	zoom_vsim_supply.dev = mmc[0].dev;
--	zoom_vmmc2_supply.dev = mmc[1].dev;
--
- 	ret = gpio_request_one(LCD_PANEL_ENABLE_GPIO, GPIOF_OUT_INIT_LOW,
- 			       "lcd enable");
- 	if (ret)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0003-omap-Use-separate-init_irq-functions-to-avoid-cpu_is.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0003-omap-Use-separate-init_irq-functions-to-avoid-cpu_is.patch
deleted file mode 100644
index dbb6972..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0003-omap-Use-separate-init_irq-functions-to-avoid-cpu_is.patch
+++ /dev/null
@@ -1,802 +0,0 @@
-From 5edd966fdcf04f3166c1b7028215e502ba7d5275 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 17 May 2011 03:51:26 -0700
-Subject: [PATCH 003/149] omap: Use separate init_irq functions to avoid cpu_is_omap tests early
-
-This allows us to remove cpu_is_omap calls from init_irq functions.
-There should not be any need for cpu_is_omap calls as at this point.
-During the timer init we only care about SoC generation, and not about
-subrevisions.
-
-The main reason for the patch is that we want to initialize only
-minimal omap specific code from the init_early call.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap1/board-ams-delta.c      |    2 +-
- arch/arm/mach-omap1/board-fsample.c        |    2 +-
- arch/arm/mach-omap1/board-generic.c        |    2 +-
- arch/arm/mach-omap1/board-h2.c             |    2 +-
- arch/arm/mach-omap1/board-h3.c             |    2 +-
- arch/arm/mach-omap1/board-htcherald.c      |    2 +-
- arch/arm/mach-omap1/board-innovator.c      |    2 +-
- arch/arm/mach-omap1/board-nokia770.c       |    2 +-
- arch/arm/mach-omap1/board-osk.c            |    2 +-
- arch/arm/mach-omap1/board-palmte.c         |    2 +-
- arch/arm/mach-omap1/board-palmtt.c         |    2 +-
- arch/arm/mach-omap1/board-palmz71.c        |    2 +-
- arch/arm/mach-omap1/board-perseus2.c       |    2 +-
- arch/arm/mach-omap1/board-sx1.c            |    2 +-
- arch/arm/mach-omap1/board-voiceblue.c      |    2 +-
- arch/arm/mach-omap1/irq.c                  |    2 +-
- arch/arm/mach-omap2/board-2430sdp.c        |    2 +-
- arch/arm/mach-omap2/board-3430sdp.c        |    2 +-
- arch/arm/mach-omap2/board-3630sdp.c        |    2 +-
- arch/arm/mach-omap2/board-am3517crane.c    |    2 +-
- arch/arm/mach-omap2/board-am3517evm.c      |    2 +-
- arch/arm/mach-omap2/board-apollon.c        |    2 +-
- arch/arm/mach-omap2/board-cm-t35.c         |    2 +-
- arch/arm/mach-omap2/board-cm-t3517.c       |    2 +-
- arch/arm/mach-omap2/board-devkit8000.c     |    2 +-
- arch/arm/mach-omap2/board-generic.c        |    2 +-
- arch/arm/mach-omap2/board-h4.c             |    2 +-
- arch/arm/mach-omap2/board-igep0020.c       |    4 +-
- arch/arm/mach-omap2/board-ldp.c            |    2 +-
- arch/arm/mach-omap2/board-n8x0.c           |    6 ++--
- arch/arm/mach-omap2/board-omap3beagle.c    |    2 +-
- arch/arm/mach-omap2/board-omap3evm.c       |    2 +-
- arch/arm/mach-omap2/board-omap3logic.c     |    4 +-
- arch/arm/mach-omap2/board-omap3pandora.c   |    2 +-
- arch/arm/mach-omap2/board-omap3stalker.c   |    2 +-
- arch/arm/mach-omap2/board-omap3touchbook.c |    2 +-
- arch/arm/mach-omap2/board-overo.c          |    2 +-
- arch/arm/mach-omap2/board-rm680.c          |    2 +-
- arch/arm/mach-omap2/board-rx51.c           |    2 +-
- arch/arm/mach-omap2/board-ti8168evm.c      |    7 +-----
- arch/arm/mach-omap2/board-zoom.c           |    4 +-
- arch/arm/mach-omap2/io.c                   |   17 +--------------
- arch/arm/mach-omap2/irq.c                  |   32 ++++++++++++++++++---------
- arch/arm/mach-omap2/omap4-common.c         |   10 ++++----
- arch/arm/plat-omap/include/plat/irqs.h     |    6 ++++-
- 45 files changed, 78 insertions(+), 84 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
-index f49ce85..e3caef8 100644
---- a/arch/arm/mach-omap1/board-ams-delta.c
-+++ b/arch/arm/mach-omap1/board-ams-delta.c
-@@ -138,7 +138,7 @@ void ams_delta_latch2_write(u16 mask, u16 value)
- static void __init ams_delta_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static struct map_desc ams_delta_io_desc[] __initdata = {
-diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
-index 87f173d..eaff305 100644
---- a/arch/arm/mach-omap1/board-fsample.c
-+++ b/arch/arm/mach-omap1/board-fsample.c
-@@ -329,7 +329,7 @@ static void __init omap_fsample_init(void)
- static void __init omap_fsample_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- /* Only FPGA needs to be mapped here. All others are done with ioremap */
-diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c
-index 23f4ab9..3fd6b40 100644
---- a/arch/arm/mach-omap1/board-generic.c
-+++ b/arch/arm/mach-omap1/board-generic.c
-@@ -31,7 +31,7 @@
- static void __init omap_generic_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- /* assume no Mini-AB port */
-diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
-index ba3bd09..8147b04 100644
---- a/arch/arm/mach-omap1/board-h2.c
-+++ b/arch/arm/mach-omap1/board-h2.c
-@@ -376,7 +376,7 @@ static struct i2c_board_info __initdata h2_i2c_board_info[] = {
- static void __init h2_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static struct omap_usb_config h2_usb_config __initdata = {
-diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
-index ac48677..1b448f6 100644
---- a/arch/arm/mach-omap1/board-h3.c
-+++ b/arch/arm/mach-omap1/board-h3.c
-@@ -439,7 +439,7 @@ static void __init h3_init(void)
- static void __init h3_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static void __init h3_map_io(void)
-diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c
-index ba05a51..1bd4d8e 100644
---- a/arch/arm/mach-omap1/board-htcherald.c
-+++ b/arch/arm/mach-omap1/board-htcherald.c
-@@ -605,7 +605,7 @@ static void __init htcherald_init_irq(void)
- {
- 	printk(KERN_INFO "htcherald_init_irq.\n");
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- MACHINE_START(HERALD, "HTC Herald")
-diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c
-index 2d9b8cb..5926b0c 100644
---- a/arch/arm/mach-omap1/board-innovator.c
-+++ b/arch/arm/mach-omap1/board-innovator.c
-@@ -292,7 +292,7 @@ static void __init innovator_init_smc91x(void)
- static void __init innovator_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- #ifdef CONFIG_ARCH_OMAP15XX
-diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
-index cfd0849..e3cf21d 100644
---- a/arch/arm/mach-omap1/board-nokia770.c
-+++ b/arch/arm/mach-omap1/board-nokia770.c
-@@ -51,7 +51,7 @@ static void __init omap_nokia770_init_irq(void)
- 	omap_writew((omap_readw(0xfffb5004) & ~2), 0xfffb5004);
- 
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static const unsigned int nokia770_keymap[] = {
-diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
-index e68dfde..1e7823d 100644
---- a/arch/arm/mach-omap1/board-osk.c
-+++ b/arch/arm/mach-omap1/board-osk.c
-@@ -282,7 +282,7 @@ static void __init osk_init_cf(void)
- static void __init osk_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static struct omap_usb_config osk_usb_config __initdata = {
-diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
-index c9d38f4..8b6a881 100644
---- a/arch/arm/mach-omap1/board-palmte.c
-+++ b/arch/arm/mach-omap1/board-palmte.c
-@@ -62,7 +62,7 @@
- static void __init omap_palmte_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static const unsigned int palmte_keymap[] = {
-diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c
-index f04f2d3..f2de43d 100644
---- a/arch/arm/mach-omap1/board-palmtt.c
-+++ b/arch/arm/mach-omap1/board-palmtt.c
-@@ -266,7 +266,7 @@ static struct spi_board_info __initdata palmtt_boardinfo[] = {
- static void __init omap_palmtt_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static struct omap_usb_config palmtt_usb_config __initdata = {
-diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
-index 45f01d2..6665d2d 100644
---- a/arch/arm/mach-omap1/board-palmz71.c
-+++ b/arch/arm/mach-omap1/board-palmz71.c
-@@ -61,7 +61,7 @@ static void __init
- omap_palmz71_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static const unsigned int palmz71_keymap[] = {
-diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
-index 3c8ee84..7f019e5 100644
---- a/arch/arm/mach-omap1/board-perseus2.c
-+++ b/arch/arm/mach-omap1/board-perseus2.c
-@@ -297,7 +297,7 @@ static void __init omap_perseus2_init(void)
- static void __init omap_perseus2_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- /* Only FPGA needs to be mapped here. All others are done with ioremap */
- static struct map_desc omap_perseus2_io_desc[] __initdata = {
-diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c
-index 0ad781d..24f0f7b 100644
---- a/arch/arm/mach-omap1/board-sx1.c
-+++ b/arch/arm/mach-omap1/board-sx1.c
-@@ -411,7 +411,7 @@ static void __init omap_sx1_init(void)
- static void __init omap_sx1_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- /*----------------------------------------*/
- 
-diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c
-index 65d2420..98826e2 100644
---- a/arch/arm/mach-omap1/board-voiceblue.c
-+++ b/arch/arm/mach-omap1/board-voiceblue.c
-@@ -162,7 +162,7 @@ static struct omap_board_config_kernel voiceblue_config[] = {
- static void __init voiceblue_init_irq(void)
- {
- 	omap1_init_common_hw();
--	omap_init_irq();
-+	omap1_init_irq();
- }
- 
- static void __init voiceblue_map_io(void)
-diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
-index 5d3da7a..e2b9c90 100644
---- a/arch/arm/mach-omap1/irq.c
-+++ b/arch/arm/mach-omap1/irq.c
-@@ -175,7 +175,7 @@ static struct irq_chip omap_irq_chip = {
- 	.irq_set_wake	= omap_wake_irq,
- };
- 
--void __init omap_init_irq(void)
-+void __init omap1_init_irq(void)
- {
- 	int i, j;
- 
-diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
-index 5de6eac..45cabc5 100644
---- a/arch/arm/mach-omap2/board-2430sdp.c
-+++ b/arch/arm/mach-omap2/board-2430sdp.c
-@@ -260,7 +260,7 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap_2430sdp_map_io,
- 	.init_early	= omap_2430sdp_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_2430sdp_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index 5dac974..85b207f 100644
---- a/arch/arm/mach-omap2/board-3430sdp.c
-+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -804,7 +804,7 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap_3430sdp_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_3430sdp_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c
-index a5933cc..2ec2d76 100644
---- a/arch/arm/mach-omap2/board-3630sdp.c
-+++ b/arch/arm/mach-omap2/board-3630sdp.c
-@@ -219,7 +219,7 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap_sdp_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_sdp_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
-index 5e438a7..0bed0a4 100644
---- a/arch/arm/mach-omap2/board-am3517crane.c
-+++ b/arch/arm/mach-omap2/board-am3517crane.c
-@@ -104,7 +104,7 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= am3517_crane_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= am3517_crane_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
-index 63af417..0db0fb8 100644
---- a/arch/arm/mach-omap2/board-am3517evm.c
-+++ b/arch/arm/mach-omap2/board-am3517evm.c
-@@ -494,7 +494,7 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= am3517_evm_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= am3517_evm_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
-index b124bdf..93576c8 100644
---- a/arch/arm/mach-omap2/board-apollon.c
-+++ b/arch/arm/mach-omap2/board-apollon.c
-@@ -354,7 +354,7 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap_apollon_map_io,
- 	.init_early	= omap_apollon_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_apollon_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index ceb581e..43b1de5 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -644,7 +644,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= cm_t35_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= cm_t35_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c
-index c3a9fd3..8f15222 100644
---- a/arch/arm/mach-omap2/board-cm-t3517.c
-+++ b/arch/arm/mach-omap2/board-cm-t3517.c
-@@ -304,7 +304,7 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
- 	.reserve        = omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= cm_t3517_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= cm_t3517_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index ead9c1d..73f3a22 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -440,7 +440,7 @@ static void __init devkit8000_init_early(void)
- 
- static void __init devkit8000_init_irq(void)
- {
--	omap_init_irq();
-+	omap3_init_irq();
- #ifdef CONFIG_OMAP_32K_TIMER
- 	omap2_gp_clockevent_set_gptimer(12);
- #endif
-diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
-index 73e3c31..ccd503a 100644
---- a/arch/arm/mach-omap2/board-generic.c
-+++ b/arch/arm/mach-omap2/board-generic.c
-@@ -70,7 +70,7 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap_generic_map_io,
- 	.init_early	= omap_generic_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_generic_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
-index bac7933..2e16d6c 100644
---- a/arch/arm/mach-omap2/board-h4.c
-+++ b/arch/arm/mach-omap2/board-h4.c
-@@ -298,7 +298,7 @@ static void __init omap_h4_init_early(void)
- 
- static void __init omap_h4_init_irq(void)
- {
--	omap_init_irq();
-+	omap2_init_irq();
- }
- 
- static struct at24_platform_data m24c01 = {
-diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
-index 84d2846..f22a76a 100644
---- a/arch/arm/mach-omap2/board-igep0020.c
-+++ b/arch/arm/mach-omap2/board-igep0020.c
-@@ -706,7 +706,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= igep_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= igep_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-@@ -716,7 +716,7 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= igep_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= igep_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index 2d7e0ae..9671843 100644
---- a/arch/arm/mach-omap2/board-ldp.c
-+++ b/arch/arm/mach-omap2/board-ldp.c
-@@ -348,7 +348,7 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap_ldp_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_ldp_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
-index 8d74318..9c791a2 100644
---- a/arch/arm/mach-omap2/board-n8x0.c
-+++ b/arch/arm/mach-omap2/board-n8x0.c
-@@ -699,7 +699,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
- 	.reserve	= omap_reserve,
- 	.map_io		= n8x0_map_io,
- 	.init_early	= n8x0_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
- 	.timer		= &omap_timer,
- MACHINE_END
-@@ -709,7 +709,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
- 	.reserve	= omap_reserve,
- 	.map_io		= n8x0_map_io,
- 	.init_early	= n8x0_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
- 	.timer		= &omap_timer,
- MACHINE_END
-@@ -719,7 +719,7 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
- 	.reserve	= omap_reserve,
- 	.map_io		= n8x0_map_io,
- 	.init_early	= n8x0_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 8ef0e19..eaead5e 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -483,7 +483,7 @@ static void __init omap3_beagle_init_early(void)
- 
- static void __init omap3_beagle_init_irq(void)
- {
--	omap_init_irq();
-+	omap3_init_irq();
- #ifdef CONFIG_OMAP_32K_TIMER
- 	omap2_gp_clockevent_set_gptimer(12);
- #endif
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index e2202dd..d39f53f 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -739,7 +739,7 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap3_evm_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3_evm_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
-index eaefb59..b63f1c2 100644
---- a/arch/arm/mach-omap2/board-omap3logic.c
-+++ b/arch/arm/mach-omap2/board-omap3logic.c
-@@ -213,7 +213,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
- 	.boot_params	= 0x80000100,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap3logic_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3logic_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-@@ -222,7 +222,7 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
- 	.boot_params	= 0x80000100,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap3logic_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3logic_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index 130a278..1d90b90 100644
---- a/arch/arm/mach-omap2/board-omap3pandora.c
-+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -650,7 +650,7 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap3pandora_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3pandora_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index 63d12a3..dfa1401 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -491,7 +491,7 @@ static void __init omap3_stalker_init_early(void)
- 
- static void __init omap3_stalker_init_irq(void)
- {
--	omap_init_irq();
-+	omap3_init_irq();
- #ifdef CONFIG_OMAP_32K_TIMER
- 	omap2_gp_clockevent_set_gptimer(12);
- #endif
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index c80e2c3..ae97910 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -371,7 +371,7 @@ static void __init omap3_touchbook_init_early(void)
- 
- static void __init omap3_touchbook_init_irq(void)
- {
--	omap_init_irq();
-+	omap3_init_irq();
- #ifdef CONFIG_OMAP_32K_TIMER
- 	omap2_gp_clockevent_set_gptimer(12);
- #endif
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 031a9a6..e3928f23 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -615,7 +615,7 @@ MACHINE_START(OVERO, "Gumstix Overo")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= overo_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= overo_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c
-index 42d10b1..9c3d115 100644
---- a/arch/arm/mach-omap2/board-rm680.c
-+++ b/arch/arm/mach-omap2/board-rm680.c
-@@ -163,7 +163,7 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
- 	.reserve	= omap_reserve,
- 	.map_io		= rm680_map_io,
- 	.init_early	= rm680_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= rm680_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
-index fec4cac..ee35e4e 100644
---- a/arch/arm/mach-omap2/board-rx51.c
-+++ b/arch/arm/mach-omap2/board-rx51.c
-@@ -160,7 +160,7 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
- 	.reserve	= rx51_reserve,
- 	.map_io		= rx51_map_io,
- 	.init_early	= rx51_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= rx51_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-ti8168evm.c b/arch/arm/mach-omap2/board-ti8168evm.c
-index 09fa7bf..713c20f 100644
---- a/arch/arm/mach-omap2/board-ti8168evm.c
-+++ b/arch/arm/mach-omap2/board-ti8168evm.c
-@@ -33,11 +33,6 @@ static void __init ti8168_init_early(void)
- 	omap2_init_common_devices(NULL, NULL);
- }
- 
--static void __init ti8168_evm_init_irq(void)
--{
--	omap_init_irq();
--}
--
- static void __init ti8168_evm_init(void)
- {
- 	omap_serial_init();
-@@ -56,7 +51,7 @@ MACHINE_START(TI8168EVM, "ti8168evm")
- 	.boot_params	= 0x80000100,
- 	.map_io		= ti8168_evm_map_io,
- 	.init_early	= ti8168_init_early,
--	.init_irq	= ti8168_evm_init_irq,
-+	.init_irq	= ti816x_init_irq,
- 	.timer		= &omap_timer,
- 	.init_machine	= ti8168_evm_init,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c
-index 4b133d7..97a3f0b 100644
---- a/arch/arm/mach-omap2/board-zoom.c
-+++ b/arch/arm/mach-omap2/board-zoom.c
-@@ -137,7 +137,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap_zoom_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_zoom_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-@@ -147,7 +147,7 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
- 	.reserve	= omap_reserve,
- 	.map_io		= omap3_map_io,
- 	.init_early	= omap_zoom_init_early,
--	.init_irq	= omap_init_irq,
-+	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_zoom_init,
- 	.timer		= &omap_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index 441e79d..2ce1ce6 100644
---- a/arch/arm/mach-omap2/io.c
-+++ b/arch/arm/mach-omap2/io.c
-@@ -333,23 +333,9 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)
- 	return omap_hwmod_set_postsetup_state(oh, *(u8 *)data);
- }
- 
-+/* See irq.c, omap4-common.c and entry-macro.S */
- void __iomem *omap_irq_base;
- 
--/*
-- * Initialize asm_irq_base for entry-macro.S
-- */
--static inline void omap_irq_base_init(void)
--{
--	if (cpu_is_omap24xx())
--		omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP24XX_IC_BASE);
--	else if (cpu_is_omap34xx())
--		omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP34XX_IC_BASE);
--	else if (cpu_is_omap44xx())
--		omap_irq_base = OMAP2_L4_IO_ADDRESS(OMAP44XX_GIC_CPU_BASE);
--	else
--		pr_err("Could not initialize omap_irq_base\n");
--}
--
- void __init omap2_init_common_infrastructure(void)
- {
- 	u8 postsetup_state;
-@@ -422,7 +408,6 @@ void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0,
- 		_omap2_init_reprogram_sdrc();
- 	}
- 
--	omap_irq_base_init();
- }
- 
- /*
-diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
-index 3af2b7a..3a12f75 100644
---- a/arch/arm/mach-omap2/irq.c
-+++ b/arch/arm/mach-omap2/irq.c
-@@ -141,25 +141,20 @@ omap_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num)
- 				IRQ_NOREQUEST | IRQ_NOPROBE, 0);
- }
- 
--void __init omap_init_irq(void)
-+static void __init omap_init_irq(u32 base, int nr_irqs)
- {
- 	unsigned long nr_of_irqs = 0;
- 	unsigned int nr_banks = 0;
- 	int i, j;
- 
-+	omap_irq_base = ioremap(base, SZ_4K);
-+	if (WARN_ON(!omap_irq_base))
-+		return;
-+
- 	for (i = 0; i < ARRAY_SIZE(irq_banks); i++) {
--		unsigned long base = 0;
- 		struct omap_irq_bank *bank = irq_banks + i;
- 
--		if (cpu_is_omap24xx())
--			base = OMAP24XX_IC_BASE;
--		else if (cpu_is_omap34xx())
--			base = OMAP34XX_IC_BASE;
--
--		BUG_ON(!base);
--
--		if (cpu_is_ti816x())
--			bank->nr_irqs = 128;
-+		bank->nr_irqs = nr_irqs;
- 
- 		/* Static mapping, never released */
- 		bank->base_reg = ioremap(base, SZ_4K);
-@@ -181,6 +176,21 @@ void __init omap_init_irq(void)
- 	       nr_of_irqs, nr_banks, nr_banks > 1 ? "s" : "");
- }
- 
-+void __init omap2_init_irq(void)
-+{
-+	omap_init_irq(OMAP24XX_IC_BASE, 96);
-+}
-+
-+void __init omap3_init_irq(void)
-+{
-+	omap_init_irq(OMAP34XX_IC_BASE, 96);
-+}
-+
-+void __init ti816x_init_irq(void)
-+{
-+	omap_init_irq(OMAP34XX_IC_BASE, 128);
-+}
-+
- #ifdef CONFIG_ARCH_OMAP3
- static struct omap3_intc_regs intc_context[ARRAY_SIZE(irq_banks)];
- 
-diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
-index 9ef8c29..35ac3e5 100644
---- a/arch/arm/mach-omap2/omap4-common.c
-+++ b/arch/arm/mach-omap2/omap4-common.c
-@@ -19,6 +19,8 @@
- #include <asm/hardware/gic.h>
- #include <asm/hardware/cache-l2x0.h>
- 
-+#include <plat/irqs.h>
-+
- #include <mach/hardware.h>
- #include <mach/omap4-common.h>
- 
-@@ -31,17 +33,15 @@ void __iomem *gic_dist_base_addr;
- 
- void __init gic_init_irq(void)
- {
--	void __iomem *gic_cpu_base;
--
- 	/* Static mapping, never released */
- 	gic_dist_base_addr = ioremap(OMAP44XX_GIC_DIST_BASE, SZ_4K);
- 	BUG_ON(!gic_dist_base_addr);
- 
- 	/* Static mapping, never released */
--	gic_cpu_base = ioremap(OMAP44XX_GIC_CPU_BASE, SZ_512);
--	BUG_ON(!gic_cpu_base);
-+	omap_irq_base = ioremap(OMAP44XX_GIC_CPU_BASE, SZ_512);
-+	BUG_ON(!omap_irq_base);
- 
--	gic_init(0, 29, gic_dist_base_addr, gic_cpu_base);
-+	gic_init(0, 29, gic_dist_base_addr, omap_irq_base);
- }
- 
- #ifdef CONFIG_CACHE_L2X0
-diff --git a/arch/arm/plat-omap/include/plat/irqs.h b/arch/arm/plat-omap/include/plat/irqs.h
-index 5a25098..c884320 100644
---- a/arch/arm/plat-omap/include/plat/irqs.h
-+++ b/arch/arm/plat-omap/include/plat/irqs.h
-@@ -428,7 +428,11 @@
- #define INTCPS_NR_IRQS		96
- 
- #ifndef __ASSEMBLY__
--extern void omap_init_irq(void);
-+extern void __iomem *omap_irq_base;
-+void omap1_init_irq(void);
-+void omap2_init_irq(void);
-+void omap3_init_irq(void);
-+void ti816x_init_irq(void);
- extern int omap_irq_pending(void);
- void omap_intc_save_context(void);
- void omap_intc_restore_context(void);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0004-omap-Set-separate-timer-init-functions-to-avoid-cpu_.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0004-omap-Set-separate-timer-init-functions-to-avoid-cpu_.patch
deleted file mode 100644
index 8fbbc47..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0004-omap-Set-separate-timer-init-functions-to-avoid-cpu_.patch
+++ /dev/null
@@ -1,689 +0,0 @@
-From b623b767d19edcc2d08909b044e1ab57956d9d49 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:48 -0700
-Subject: [PATCH 004/149] omap: Set separate timer init functions to avoid cpu_is_omap tests
-
-This is needed for the following patches so we can initialize the
-rest of the hardware timers later on.
-
-As with the init_irq calls, there's no need to do cpu_is_omap calls
-during the timer init as we only care about the major omap generation.
-This means that we can initialize the sys_timer with the .timer
-entries alone.
-
-Note that for now we just set stubs for the various sys_timer entries
-that will get populated in a later patch. The following patches will
-also remove the omap_dm_timer_init calls and change the init for the
-rest of the hardware timers to happen with an arch_initcall.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap1/board-ams-delta.c      |    2 +-
- arch/arm/mach-omap1/board-fsample.c        |    2 +-
- arch/arm/mach-omap1/board-generic.c        |    2 +-
- arch/arm/mach-omap1/board-h2.c             |    2 +-
- arch/arm/mach-omap1/board-h3.c             |    2 +-
- arch/arm/mach-omap1/board-htcherald.c      |    2 +-
- arch/arm/mach-omap1/board-innovator.c      |    2 +-
- arch/arm/mach-omap1/board-nokia770.c       |    2 +-
- arch/arm/mach-omap1/board-osk.c            |    2 +-
- arch/arm/mach-omap1/board-palmte.c         |    2 +-
- arch/arm/mach-omap1/board-palmtt.c         |    2 +-
- arch/arm/mach-omap1/board-palmz71.c        |    2 +-
- arch/arm/mach-omap1/board-perseus2.c       |    2 +-
- arch/arm/mach-omap1/board-sx1.c            |    2 +-
- arch/arm/mach-omap1/board-voiceblue.c      |    2 +-
- arch/arm/mach-omap1/time.c                 |    6 ++--
- arch/arm/mach-omap2/board-2430sdp.c        |    2 +-
- arch/arm/mach-omap2/board-3430sdp.c        |    2 +-
- arch/arm/mach-omap2/board-3630sdp.c        |    2 +-
- arch/arm/mach-omap2/board-4430sdp.c        |    2 +-
- arch/arm/mach-omap2/board-am3517crane.c    |    2 +-
- arch/arm/mach-omap2/board-am3517evm.c      |    2 +-
- arch/arm/mach-omap2/board-apollon.c        |    2 +-
- arch/arm/mach-omap2/board-cm-t35.c         |    2 +-
- arch/arm/mach-omap2/board-cm-t3517.c       |    2 +-
- arch/arm/mach-omap2/board-devkit8000.c     |    2 +-
- arch/arm/mach-omap2/board-generic.c        |    2 +-
- arch/arm/mach-omap2/board-h4.c             |    2 +-
- arch/arm/mach-omap2/board-igep0020.c       |    4 +-
- arch/arm/mach-omap2/board-ldp.c            |    2 +-
- arch/arm/mach-omap2/board-n8x0.c           |    6 ++--
- arch/arm/mach-omap2/board-omap3beagle.c    |    2 +-
- arch/arm/mach-omap2/board-omap3evm.c       |    2 +-
- arch/arm/mach-omap2/board-omap3logic.c     |    4 +-
- arch/arm/mach-omap2/board-omap3pandora.c   |    2 +-
- arch/arm/mach-omap2/board-omap3stalker.c   |    2 +-
- arch/arm/mach-omap2/board-omap3touchbook.c |    2 +-
- arch/arm/mach-omap2/board-omap4panda.c     |    2 +-
- arch/arm/mach-omap2/board-overo.c          |    2 +-
- arch/arm/mach-omap2/board-rm680.c          |    2 +-
- arch/arm/mach-omap2/board-rx51.c           |    2 +-
- arch/arm/mach-omap2/board-ti8168evm.c      |    2 +-
- arch/arm/mach-omap2/board-zoom.c           |    4 +-
- arch/arm/mach-omap2/timer-gp.c             |   41 +++++++++++++++++++++-------
- arch/arm/plat-omap/include/plat/common.h   |    6 +++-
- arch/arm/plat-omap/include/plat/dmtimer.h  |    1 -
- 46 files changed, 86 insertions(+), 62 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/board-ams-delta.c b/arch/arm/mach-omap1/board-ams-delta.c
-index e3caef8..312ea6b 100644
---- a/arch/arm/mach-omap1/board-ams-delta.c
-+++ b/arch/arm/mach-omap1/board-ams-delta.c
-@@ -391,7 +391,7 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
- 	.reserve	= omap_reserve,
- 	.init_irq	= ams_delta_init_irq,
- 	.init_machine	= ams_delta_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
- 
- EXPORT_SYMBOL(ams_delta_latch1_write);
-diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
-index eaff305..a6b1bea 100644
---- a/arch/arm/mach-omap1/board-fsample.c
-+++ b/arch/arm/mach-omap1/board-fsample.c
-@@ -394,5 +394,5 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_fsample_init_irq,
- 	.init_machine	= omap_fsample_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-generic.c b/arch/arm/mach-omap1/board-generic.c
-index 3fd6b40..04fc356 100644
---- a/arch/arm/mach-omap1/board-generic.c
-+++ b/arch/arm/mach-omap1/board-generic.c
-@@ -99,5 +99,5 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_generic_init_irq,
- 	.init_machine	= omap_generic_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-h2.c b/arch/arm/mach-omap1/board-h2.c
-index 8147b04..cb7fb1a 100644
---- a/arch/arm/mach-omap1/board-h2.c
-+++ b/arch/arm/mach-omap1/board-h2.c
-@@ -466,5 +466,5 @@ MACHINE_START(OMAP_H2, "TI-H2")
- 	.reserve	= omap_reserve,
- 	.init_irq	= h2_init_irq,
- 	.init_machine	= h2_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-h3.c b/arch/arm/mach-omap1/board-h3.c
-index 1b448f6..31f3487 100644
---- a/arch/arm/mach-omap1/board-h3.c
-+++ b/arch/arm/mach-omap1/board-h3.c
-@@ -454,5 +454,5 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
- 	.reserve	= omap_reserve,
- 	.init_irq	= h3_init_irq,
- 	.init_machine	= h3_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-htcherald.c b/arch/arm/mach-omap1/board-htcherald.c
-index 1bd4d8e..36e06ea 100644
---- a/arch/arm/mach-omap1/board-htcherald.c
-+++ b/arch/arm/mach-omap1/board-htcherald.c
-@@ -616,5 +616,5 @@ MACHINE_START(HERALD, "HTC Herald")
- 	.reserve	= omap_reserve,
- 	.init_irq       = htcherald_init_irq,
- 	.init_machine   = htcherald_init,
--	.timer          = &omap_timer,
-+	.timer          = &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-innovator.c b/arch/arm/mach-omap1/board-innovator.c
-index 5926b0c..0b1ba46 100644
---- a/arch/arm/mach-omap1/board-innovator.c
-+++ b/arch/arm/mach-omap1/board-innovator.c
-@@ -464,5 +464,5 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
- 	.reserve	= omap_reserve,
- 	.init_irq	= innovator_init_irq,
- 	.init_machine	= innovator_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
-index e3cf21d..5469ce2 100644
---- a/arch/arm/mach-omap1/board-nokia770.c
-+++ b/arch/arm/mach-omap1/board-nokia770.c
-@@ -269,5 +269,5 @@ MACHINE_START(NOKIA770, "Nokia 770")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_nokia770_init_irq,
- 	.init_machine	= omap_nokia770_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c
-index 1e7823d..b08a213 100644
---- a/arch/arm/mach-omap1/board-osk.c
-+++ b/arch/arm/mach-omap1/board-osk.c
-@@ -588,5 +588,5 @@ MACHINE_START(OMAP_OSK, "TI-OSK")
- 	.reserve	= omap_reserve,
- 	.init_irq	= osk_init_irq,
- 	.init_machine	= osk_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
-index 8b6a881..459cb6b 100644
---- a/arch/arm/mach-omap1/board-palmte.c
-+++ b/arch/arm/mach-omap1/board-palmte.c
-@@ -280,5 +280,5 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_palmte_init_irq,
- 	.init_machine	= omap_palmte_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-palmtt.c b/arch/arm/mach-omap1/board-palmtt.c
-index f2de43d..b214f45 100644
---- a/arch/arm/mach-omap1/board-palmtt.c
-+++ b/arch/arm/mach-omap1/board-palmtt.c
-@@ -326,5 +326,5 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_palmtt_init_irq,
- 	.init_machine	= omap_palmtt_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
-index 6665d2d..9b0ea48 100644
---- a/arch/arm/mach-omap1/board-palmz71.c
-+++ b/arch/arm/mach-omap1/board-palmz71.c
-@@ -346,5 +346,5 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_palmz71_init_irq,
- 	.init_machine	= omap_palmz71_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
-index 7f019e5..67acd41 100644
---- a/arch/arm/mach-omap1/board-perseus2.c
-+++ b/arch/arm/mach-omap1/board-perseus2.c
-@@ -355,5 +355,5 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_perseus2_init_irq,
- 	.init_machine	= omap_perseus2_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-sx1.c b/arch/arm/mach-omap1/board-sx1.c
-index 24f0f7b..9c3b7c5 100644
---- a/arch/arm/mach-omap1/board-sx1.c
-+++ b/arch/arm/mach-omap1/board-sx1.c
-@@ -426,5 +426,5 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1")
- 	.reserve	= omap_reserve,
- 	.init_irq	= omap_sx1_init_irq,
- 	.init_machine	= omap_sx1_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/board-voiceblue.c b/arch/arm/mach-omap1/board-voiceblue.c
-index 98826e2..036edc0e 100644
---- a/arch/arm/mach-omap1/board-voiceblue.c
-+++ b/arch/arm/mach-omap1/board-voiceblue.c
-@@ -306,5 +306,5 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
- 	.reserve	= omap_reserve,
- 	.init_irq	= voiceblue_init_irq,
- 	.init_machine	= voiceblue_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap1_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap1/time.c b/arch/arm/mach-omap1/time.c
-index 03e1e10..a183777 100644
---- a/arch/arm/mach-omap1/time.c
-+++ b/arch/arm/mach-omap1/time.c
-@@ -297,7 +297,7 @@ static inline int omap_32k_timer_usable(void)
-  * Timer initialization
-  * ---------------------------------------------------------------------------
-  */
--static void __init omap_timer_init(void)
-+static void __init omap1_timer_init(void)
- {
- 	if (omap_32k_timer_usable()) {
- 		preferred_sched_clock_init(1);
-@@ -307,6 +307,6 @@ static void __init omap_timer_init(void)
- 	}
- }
- 
--struct sys_timer omap_timer = {
--	.init		= omap_timer_init,
-+struct sys_timer omap1_timer = {
-+	.init		= omap1_timer_init,
- };
-diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
-index 45cabc5..2028464 100644
---- a/arch/arm/mach-omap2/board-2430sdp.c
-+++ b/arch/arm/mach-omap2/board-2430sdp.c
-@@ -262,5 +262,5 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
- 	.init_early	= omap_2430sdp_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_2430sdp_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index 85b207f..12fae21 100644
---- a/arch/arm/mach-omap2/board-3430sdp.c
-+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -806,5 +806,5 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
- 	.init_early	= omap_3430sdp_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_3430sdp_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c
-index 2ec2d76..e4f37b5 100644
---- a/arch/arm/mach-omap2/board-3630sdp.c
-+++ b/arch/arm/mach-omap2/board-3630sdp.c
-@@ -221,5 +221,5 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
- 	.init_early	= omap_sdp_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_sdp_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index 39a8062..e8caced 100644
---- a/arch/arm/mach-omap2/board-4430sdp.c
-+++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -768,5 +768,5 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
- 	.init_early	= omap_4430sdp_init_early,
- 	.init_irq	= gic_init_irq,
- 	.init_machine	= omap_4430sdp_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap4_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
-index 0bed0a4..5f2b55f 100644
---- a/arch/arm/mach-omap2/board-am3517crane.c
-+++ b/arch/arm/mach-omap2/board-am3517crane.c
-@@ -106,5 +106,5 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
- 	.init_early	= am3517_crane_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= am3517_crane_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
-index 0db0fb8..f3006c3 100644
---- a/arch/arm/mach-omap2/board-am3517evm.c
-+++ b/arch/arm/mach-omap2/board-am3517evm.c
-@@ -496,5 +496,5 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
- 	.init_early	= am3517_evm_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= am3517_evm_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
-index 93576c8..7021170 100644
---- a/arch/arm/mach-omap2/board-apollon.c
-+++ b/arch/arm/mach-omap2/board-apollon.c
-@@ -356,5 +356,5 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
- 	.init_early	= omap_apollon_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_apollon_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index 43b1de5..1a18d3b 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -646,5 +646,5 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
- 	.init_early	= cm_t35_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= cm_t35_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c
-index 8f15222..aa67240 100644
---- a/arch/arm/mach-omap2/board-cm-t3517.c
-+++ b/arch/arm/mach-omap2/board-cm-t3517.c
-@@ -306,5 +306,5 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
- 	.init_early	= cm_t3517_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= cm_t3517_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index 73f3a22..46d144d 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -709,5 +709,5 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
- 	.init_early	= devkit8000_init_early,
- 	.init_irq	= devkit8000_init_irq,
- 	.init_machine	= devkit8000_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_secure_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
-index ccd503a..c6ecf60 100644
---- a/arch/arm/mach-omap2/board-generic.c
-+++ b/arch/arm/mach-omap2/board-generic.c
-@@ -72,5 +72,5 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
- 	.init_early	= omap_generic_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_generic_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
-index 2e16d6c..45de2b3 100644
---- a/arch/arm/mach-omap2/board-h4.c
-+++ b/arch/arm/mach-omap2/board-h4.c
-@@ -388,5 +388,5 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
- 	.init_early	= omap_h4_init_early,
- 	.init_irq	= omap_h4_init_irq,
- 	.init_machine	= omap_h4_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
-index f22a76a..f683835 100644
---- a/arch/arm/mach-omap2/board-igep0020.c
-+++ b/arch/arm/mach-omap2/board-igep0020.c
-@@ -708,7 +708,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
- 	.init_early	= igep_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= igep_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
- 
- MACHINE_START(IGEP0030, "IGEP OMAP3 module")
-@@ -718,5 +718,5 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
- 	.init_early	= igep_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= igep_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index 9671843..5d4328f 100644
---- a/arch/arm/mach-omap2/board-ldp.c
-+++ b/arch/arm/mach-omap2/board-ldp.c
-@@ -350,5 +350,5 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
- 	.init_early	= omap_ldp_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_ldp_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
-index 9c791a2..e11f0c5 100644
---- a/arch/arm/mach-omap2/board-n8x0.c
-+++ b/arch/arm/mach-omap2/board-n8x0.c
-@@ -701,7 +701,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
- 	.init_early	= n8x0_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
- 
- MACHINE_START(NOKIA_N810, "Nokia N810")
-@@ -711,7 +711,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
- 	.init_early	= n8x0_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
- 
- MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
-@@ -721,5 +721,5 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
- 	.init_early	= n8x0_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= n8x0_init_machine,
--	.timer		= &omap_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index eaead5e..9ee16f6 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -596,5 +596,5 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	.init_early	= omap3_beagle_init_early,
- 	.init_irq	= omap3_beagle_init_irq,
- 	.init_machine	= omap3_beagle_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_secure_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index d39f53f..6f957ed 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -741,5 +741,5 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
- 	.init_early	= omap3_evm_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3_evm_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
-index b63f1c2..469259a 100644
---- a/arch/arm/mach-omap2/board-omap3logic.c
-+++ b/arch/arm/mach-omap2/board-omap3logic.c
-@@ -215,7 +215,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
- 	.init_early	= omap3logic_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3logic_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
- 
- MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
-@@ -224,5 +224,5 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
- 	.init_early	= omap3logic_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3logic_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index 1d90b90..d4ea940 100644
---- a/arch/arm/mach-omap2/board-omap3pandora.c
-+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -652,5 +652,5 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
- 	.init_early	= omap3pandora_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap3pandora_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index dfa1401..2fa8fae 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -557,5 +557,5 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
- 	.init_early		= omap3_stalker_init_early,
- 	.init_irq		= omap3_stalker_init_irq,
- 	.init_machine		= omap3_stalker_init,
--	.timer			= &omap_timer,
-+	.timer			= &omap3_secure_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index ae97910..8c71fd2 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -449,5 +449,5 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
- 	.init_early	= omap3_touchbook_init_early,
- 	.init_irq	= omap3_touchbook_init_irq,
- 	.init_machine	= omap3_touchbook_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_secure_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
-index 6d2372b..dc1d6dc 100644
---- a/arch/arm/mach-omap2/board-omap4panda.c
-+++ b/arch/arm/mach-omap2/board-omap4panda.c
-@@ -712,5 +712,5 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
- 	.init_early	= omap4_panda_init_early,
- 	.init_irq	= gic_init_irq,
- 	.init_machine	= omap4_panda_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap4_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index e3928f23..1bf2f39 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -617,5 +617,5 @@ MACHINE_START(OVERO, "Gumstix Overo")
- 	.init_early	= overo_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= overo_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c
-index 9c3d115..54dceb1 100644
---- a/arch/arm/mach-omap2/board-rm680.c
-+++ b/arch/arm/mach-omap2/board-rm680.c
-@@ -165,5 +165,5 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
- 	.init_early	= rm680_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= rm680_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
-index ee35e4e..5ea142f 100644
---- a/arch/arm/mach-omap2/board-rx51.c
-+++ b/arch/arm/mach-omap2/board-rx51.c
-@@ -162,5 +162,5 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
- 	.init_early	= rx51_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= rx51_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-ti8168evm.c b/arch/arm/mach-omap2/board-ti8168evm.c
-index 713c20f..a85d5b0 100644
---- a/arch/arm/mach-omap2/board-ti8168evm.c
-+++ b/arch/arm/mach-omap2/board-ti8168evm.c
-@@ -52,6 +52,6 @@ MACHINE_START(TI8168EVM, "ti8168evm")
- 	.map_io		= ti8168_evm_map_io,
- 	.init_early	= ti8168_init_early,
- 	.init_irq	= ti816x_init_irq,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- 	.init_machine	= ti8168_evm_init,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c
-index 97a3f0b..8a98c3c 100644
---- a/arch/arm/mach-omap2/board-zoom.c
-+++ b/arch/arm/mach-omap2/board-zoom.c
-@@ -139,7 +139,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
- 	.init_early	= omap_zoom_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_zoom_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
- 
- MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
-@@ -149,5 +149,5 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
- 	.init_early	= omap_zoom_init_early,
- 	.init_irq	= omap3_init_irq,
- 	.init_machine	= omap_zoom_init,
--	.timer		= &omap_timer,
-+	.timer		= &omap3_timer,
- MACHINE_END
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index 3b9cf85..a0d8e83 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -247,20 +247,41 @@ static void __init omap2_gp_clocksource_init(void)
- }
- #endif
- 
--static void __init omap2_gp_timer_init(void)
-+#define OMAP_SYS_TIMER_INIT(name)					\
-+static void __init omap##name##_timer_init(void)			\
-+{									\
-+	omap_dm_timer_init();						\
-+	omap2_gp_clockevent_init();					\
-+	omap2_gp_clocksource_init();					\
-+}
-+
-+#define OMAP_SYS_TIMER(name)						\
-+struct sys_timer omap##name##_timer = {					\
-+	.init	= omap##name##_timer_init,				\
-+};
-+
-+#ifdef CONFIG_ARCH_OMAP2
-+OMAP_SYS_TIMER_INIT(2)
-+OMAP_SYS_TIMER(2)
-+#endif
-+
-+#ifdef CONFIG_ARCH_OMAP3
-+OMAP_SYS_TIMER_INIT(3)
-+OMAP_SYS_TIMER(3)
-+OMAP_SYS_TIMER_INIT(3_secure)
-+OMAP_SYS_TIMER(3_secure)
-+#endif
-+
-+#ifdef CONFIG_ARCH_OMAP4
-+static void __init omap4_timer_init(void)
- {
- #ifdef CONFIG_LOCAL_TIMERS
--	if (cpu_is_omap44xx()) {
--		twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
--		BUG_ON(!twd_base);
--	}
-+	twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
-+	BUG_ON(!twd_base);
- #endif
- 	omap_dm_timer_init();
--
- 	omap2_gp_clockevent_init();
- 	omap2_gp_clocksource_init();
- }
--
--struct sys_timer omap_timer = {
--	.init	= omap2_gp_timer_init,
--};
-+OMAP_SYS_TIMER(4)
-+#endif
-diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
-index 5288130..4564cc6 100644
---- a/arch/arm/plat-omap/include/plat/common.h
-+++ b/arch/arm/plat-omap/include/plat/common.h
-@@ -34,7 +34,11 @@
- struct sys_timer;
- 
- extern void omap_map_common_io(void);
--extern struct sys_timer omap_timer;
-+extern struct sys_timer omap1_timer;
-+extern struct sys_timer omap2_timer;
-+extern struct sys_timer omap3_timer;
-+extern struct sys_timer omap3_secure_timer;
-+extern struct sys_timer omap4_timer;
- extern bool omap_32k_timer_init(void);
- extern int __init omap_init_clocksource_32k(void);
- extern unsigned long long notrace omap_32k_sched_clock(void);
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index d6c70d2..330bd17 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -57,7 +57,6 @@
- #define OMAP_TIMER_IP_VERSION_1                        0x1
- struct omap_dm_timer;
- extern struct omap_dm_timer *gptimer_wakeup;
--extern struct sys_timer omap_timer;
- struct clk;
- 
- int omap_dm_timer_init(void);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0005-omap-Move-dmtimer-defines-to-dmtimer.h.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0005-omap-Move-dmtimer-defines-to-dmtimer.h.patch
deleted file mode 100644
index ba3bc42..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0005-omap-Move-dmtimer-defines-to-dmtimer.h.patch
+++ /dev/null
@@ -1,287 +0,0 @@
-From 99573b33f37eede2d3d36ae71c34f5d72ccdc672 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:48 -0700
-Subject: [PATCH 005/149] omap: Move dmtimer defines to dmtimer.h
-
-These will be needed when dmtimer platform init code gets split
-for omap1 and omap2+. These will also be needed for separate
-sys_timer init and driver init for the rest of the hardware timers
-in the following patches. No functional changes.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/plat-omap/dmtimer.c              |  121 ----------------------------
- arch/arm/plat-omap/include/plat/dmtimer.h |  125 +++++++++++++++++++++++++++++
- 2 files changed, 125 insertions(+), 121 deletions(-)
-
-diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
-index ee9f6eb..dfdc3b2 100644
---- a/arch/arm/plat-omap/dmtimer.c
-+++ b/arch/arm/plat-omap/dmtimer.c
-@@ -41,127 +41,6 @@
- #include <plat/dmtimer.h>
- #include <mach/irqs.h>
- 
--/* register offsets */
--#define _OMAP_TIMER_ID_OFFSET		0x00
--#define _OMAP_TIMER_OCP_CFG_OFFSET	0x10
--#define _OMAP_TIMER_SYS_STAT_OFFSET	0x14
--#define _OMAP_TIMER_STAT_OFFSET		0x18
--#define _OMAP_TIMER_INT_EN_OFFSET	0x1c
--#define _OMAP_TIMER_WAKEUP_EN_OFFSET	0x20
--#define _OMAP_TIMER_CTRL_OFFSET		0x24
--#define		OMAP_TIMER_CTRL_GPOCFG		(1 << 14)
--#define		OMAP_TIMER_CTRL_CAPTMODE	(1 << 13)
--#define		OMAP_TIMER_CTRL_PT		(1 << 12)
--#define		OMAP_TIMER_CTRL_TCM_LOWTOHIGH	(0x1 << 8)
--#define		OMAP_TIMER_CTRL_TCM_HIGHTOLOW	(0x2 << 8)
--#define		OMAP_TIMER_CTRL_TCM_BOTHEDGES	(0x3 << 8)
--#define		OMAP_TIMER_CTRL_SCPWM		(1 << 7)
--#define		OMAP_TIMER_CTRL_CE		(1 << 6) /* compare enable */
--#define		OMAP_TIMER_CTRL_PRE		(1 << 5) /* prescaler enable */
--#define		OMAP_TIMER_CTRL_PTV_SHIFT	2 /* prescaler value shift */
--#define		OMAP_TIMER_CTRL_POSTED		(1 << 2)
--#define		OMAP_TIMER_CTRL_AR		(1 << 1) /* auto-reload enable */
--#define		OMAP_TIMER_CTRL_ST		(1 << 0) /* start timer */
--#define _OMAP_TIMER_COUNTER_OFFSET	0x28
--#define _OMAP_TIMER_LOAD_OFFSET		0x2c
--#define _OMAP_TIMER_TRIGGER_OFFSET	0x30
--#define _OMAP_TIMER_WRITE_PEND_OFFSET	0x34
--#define		WP_NONE			0	/* no write pending bit */
--#define		WP_TCLR			(1 << 0)
--#define		WP_TCRR			(1 << 1)
--#define		WP_TLDR			(1 << 2)
--#define		WP_TTGR			(1 << 3)
--#define		WP_TMAR			(1 << 4)
--#define		WP_TPIR			(1 << 5)
--#define		WP_TNIR			(1 << 6)
--#define		WP_TCVR			(1 << 7)
--#define		WP_TOCR			(1 << 8)
--#define		WP_TOWR			(1 << 9)
--#define _OMAP_TIMER_MATCH_OFFSET	0x38
--#define _OMAP_TIMER_CAPTURE_OFFSET	0x3c
--#define _OMAP_TIMER_IF_CTRL_OFFSET	0x40
--#define _OMAP_TIMER_CAPTURE2_OFFSET		0x44	/* TCAR2, 34xx only */
--#define _OMAP_TIMER_TICK_POS_OFFSET		0x48	/* TPIR, 34xx only */
--#define _OMAP_TIMER_TICK_NEG_OFFSET		0x4c	/* TNIR, 34xx only */
--#define _OMAP_TIMER_TICK_COUNT_OFFSET		0x50	/* TCVR, 34xx only */
--#define _OMAP_TIMER_TICK_INT_MASK_SET_OFFSET	0x54	/* TOCR, 34xx only */
--#define _OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET	0x58	/* TOWR, 34xx only */
--
--/* register offsets with the write pending bit encoded */
--#define	WPSHIFT					16
--
--#define OMAP_TIMER_ID_REG			(_OMAP_TIMER_ID_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_OCP_CFG_REG			(_OMAP_TIMER_OCP_CFG_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_SYS_STAT_REG			(_OMAP_TIMER_SYS_STAT_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_STAT_REG			(_OMAP_TIMER_STAT_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_INT_EN_REG			(_OMAP_TIMER_INT_EN_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_WAKEUP_EN_REG		(_OMAP_TIMER_WAKEUP_EN_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_CTRL_REG			(_OMAP_TIMER_CTRL_OFFSET \
--							| (WP_TCLR << WPSHIFT))
--
--#define OMAP_TIMER_COUNTER_REG			(_OMAP_TIMER_COUNTER_OFFSET \
--							| (WP_TCRR << WPSHIFT))
--
--#define OMAP_TIMER_LOAD_REG			(_OMAP_TIMER_LOAD_OFFSET \
--							| (WP_TLDR << WPSHIFT))
--
--#define OMAP_TIMER_TRIGGER_REG			(_OMAP_TIMER_TRIGGER_OFFSET \
--							| (WP_TTGR << WPSHIFT))
--
--#define OMAP_TIMER_WRITE_PEND_REG		(_OMAP_TIMER_WRITE_PEND_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_MATCH_REG			(_OMAP_TIMER_MATCH_OFFSET \
--							| (WP_TMAR << WPSHIFT))
--
--#define OMAP_TIMER_CAPTURE_REG			(_OMAP_TIMER_CAPTURE_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_IF_CTRL_REG			(_OMAP_TIMER_IF_CTRL_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_CAPTURE2_REG			(_OMAP_TIMER_CAPTURE2_OFFSET \
--							| (WP_NONE << WPSHIFT))
--
--#define OMAP_TIMER_TICK_POS_REG			(_OMAP_TIMER_TICK_POS_OFFSET \
--							| (WP_TPIR << WPSHIFT))
--
--#define OMAP_TIMER_TICK_NEG_REG			(_OMAP_TIMER_TICK_NEG_OFFSET \
--							| (WP_TNIR << WPSHIFT))
--
--#define OMAP_TIMER_TICK_COUNT_REG		(_OMAP_TIMER_TICK_COUNT_OFFSET \
--							| (WP_TCVR << WPSHIFT))
--
--#define OMAP_TIMER_TICK_INT_MASK_SET_REG				\
--		(_OMAP_TIMER_TICK_INT_MASK_SET_OFFSET | (WP_TOCR << WPSHIFT))
--
--#define OMAP_TIMER_TICK_INT_MASK_COUNT_REG				\
--		(_OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET | (WP_TOWR << WPSHIFT))
--
--struct omap_dm_timer {
--	unsigned long phys_base;
--	int irq;
--#ifdef CONFIG_ARCH_OMAP2PLUS
--	struct clk *iclk, *fclk;
--#endif
--	void __iomem *io_base;
--	unsigned reserved:1;
--	unsigned enabled:1;
--	unsigned posted:1;
--};
--
- static int dm_timer_count;
- 
- #ifdef CONFIG_ARCH_OMAP1
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index 330bd17..3203105 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -92,5 +92,130 @@ void omap_dm_timer_write_counter(struct omap_dm_timer *timer, unsigned int value
- 
- int omap_dm_timers_active(void);
- 
-+/*
-+ * Do not use the defines below, they are not needed. They should be only
-+ * used by dmtimer.c and sys_timer related code.
-+ */
-+
-+/* register offsets */
-+#define _OMAP_TIMER_ID_OFFSET		0x00
-+#define _OMAP_TIMER_OCP_CFG_OFFSET	0x10
-+#define _OMAP_TIMER_SYS_STAT_OFFSET	0x14
-+#define _OMAP_TIMER_STAT_OFFSET		0x18
-+#define _OMAP_TIMER_INT_EN_OFFSET	0x1c
-+#define _OMAP_TIMER_WAKEUP_EN_OFFSET	0x20
-+#define _OMAP_TIMER_CTRL_OFFSET		0x24
-+#define		OMAP_TIMER_CTRL_GPOCFG		(1 << 14)
-+#define		OMAP_TIMER_CTRL_CAPTMODE	(1 << 13)
-+#define		OMAP_TIMER_CTRL_PT		(1 << 12)
-+#define		OMAP_TIMER_CTRL_TCM_LOWTOHIGH	(0x1 << 8)
-+#define		OMAP_TIMER_CTRL_TCM_HIGHTOLOW	(0x2 << 8)
-+#define		OMAP_TIMER_CTRL_TCM_BOTHEDGES	(0x3 << 8)
-+#define		OMAP_TIMER_CTRL_SCPWM		(1 << 7)
-+#define		OMAP_TIMER_CTRL_CE		(1 << 6) /* compare enable */
-+#define		OMAP_TIMER_CTRL_PRE		(1 << 5) /* prescaler enable */
-+#define		OMAP_TIMER_CTRL_PTV_SHIFT	2 /* prescaler value shift */
-+#define		OMAP_TIMER_CTRL_POSTED		(1 << 2)
-+#define		OMAP_TIMER_CTRL_AR		(1 << 1) /* auto-reload enable */
-+#define		OMAP_TIMER_CTRL_ST		(1 << 0) /* start timer */
-+#define _OMAP_TIMER_COUNTER_OFFSET	0x28
-+#define _OMAP_TIMER_LOAD_OFFSET		0x2c
-+#define _OMAP_TIMER_TRIGGER_OFFSET	0x30
-+#define _OMAP_TIMER_WRITE_PEND_OFFSET	0x34
-+#define		WP_NONE			0	/* no write pending bit */
-+#define		WP_TCLR			(1 << 0)
-+#define		WP_TCRR			(1 << 1)
-+#define		WP_TLDR			(1 << 2)
-+#define		WP_TTGR			(1 << 3)
-+#define		WP_TMAR			(1 << 4)
-+#define		WP_TPIR			(1 << 5)
-+#define		WP_TNIR			(1 << 6)
-+#define		WP_TCVR			(1 << 7)
-+#define		WP_TOCR			(1 << 8)
-+#define		WP_TOWR			(1 << 9)
-+#define _OMAP_TIMER_MATCH_OFFSET	0x38
-+#define _OMAP_TIMER_CAPTURE_OFFSET	0x3c
-+#define _OMAP_TIMER_IF_CTRL_OFFSET	0x40
-+#define _OMAP_TIMER_CAPTURE2_OFFSET		0x44	/* TCAR2, 34xx only */
-+#define _OMAP_TIMER_TICK_POS_OFFSET		0x48	/* TPIR, 34xx only */
-+#define _OMAP_TIMER_TICK_NEG_OFFSET		0x4c	/* TNIR, 34xx only */
-+#define _OMAP_TIMER_TICK_COUNT_OFFSET		0x50	/* TCVR, 34xx only */
-+#define _OMAP_TIMER_TICK_INT_MASK_SET_OFFSET	0x54	/* TOCR, 34xx only */
-+#define _OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET	0x58	/* TOWR, 34xx only */
-+
-+/* register offsets with the write pending bit encoded */
-+#define	WPSHIFT					16
-+
-+#define OMAP_TIMER_ID_REG			(_OMAP_TIMER_ID_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_OCP_CFG_REG			(_OMAP_TIMER_OCP_CFG_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_SYS_STAT_REG			(_OMAP_TIMER_SYS_STAT_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_STAT_REG			(_OMAP_TIMER_STAT_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_INT_EN_REG			(_OMAP_TIMER_INT_EN_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_WAKEUP_EN_REG		(_OMAP_TIMER_WAKEUP_EN_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_CTRL_REG			(_OMAP_TIMER_CTRL_OFFSET \
-+							| (WP_TCLR << WPSHIFT))
-+
-+#define OMAP_TIMER_COUNTER_REG			(_OMAP_TIMER_COUNTER_OFFSET \
-+							| (WP_TCRR << WPSHIFT))
-+
-+#define OMAP_TIMER_LOAD_REG			(_OMAP_TIMER_LOAD_OFFSET \
-+							| (WP_TLDR << WPSHIFT))
-+
-+#define OMAP_TIMER_TRIGGER_REG			(_OMAP_TIMER_TRIGGER_OFFSET \
-+							| (WP_TTGR << WPSHIFT))
-+
-+#define OMAP_TIMER_WRITE_PEND_REG		(_OMAP_TIMER_WRITE_PEND_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_MATCH_REG			(_OMAP_TIMER_MATCH_OFFSET \
-+							| (WP_TMAR << WPSHIFT))
-+
-+#define OMAP_TIMER_CAPTURE_REG			(_OMAP_TIMER_CAPTURE_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_IF_CTRL_REG			(_OMAP_TIMER_IF_CTRL_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_CAPTURE2_REG			(_OMAP_TIMER_CAPTURE2_OFFSET \
-+							| (WP_NONE << WPSHIFT))
-+
-+#define OMAP_TIMER_TICK_POS_REG			(_OMAP_TIMER_TICK_POS_OFFSET \
-+							| (WP_TPIR << WPSHIFT))
-+
-+#define OMAP_TIMER_TICK_NEG_REG			(_OMAP_TIMER_TICK_NEG_OFFSET \
-+							| (WP_TNIR << WPSHIFT))
-+
-+#define OMAP_TIMER_TICK_COUNT_REG		(_OMAP_TIMER_TICK_COUNT_OFFSET \
-+							| (WP_TCVR << WPSHIFT))
-+
-+#define OMAP_TIMER_TICK_INT_MASK_SET_REG				\
-+		(_OMAP_TIMER_TICK_INT_MASK_SET_OFFSET | (WP_TOCR << WPSHIFT))
-+
-+#define OMAP_TIMER_TICK_INT_MASK_COUNT_REG				\
-+		(_OMAP_TIMER_TICK_INT_MASK_COUNT_OFFSET | (WP_TOWR << WPSHIFT))
-+
-+struct omap_dm_timer {
-+	unsigned long phys_base;
-+	int irq;
-+#ifdef CONFIG_ARCH_OMAP2PLUS
-+	struct clk *iclk, *fclk;
-+#endif
-+	void __iomem *io_base;
-+	unsigned reserved:1;
-+	unsigned enabled:1;
-+	unsigned posted:1;
-+};
- 
- #endif /* __ASM_ARCH_DMTIMER_H */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0006-omap-Make-a-subset-of-dmtimer-functions-into-inline-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0006-omap-Make-a-subset-of-dmtimer-functions-into-inline-.patch
deleted file mode 100644
index 36a9142..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0006-omap-Make-a-subset-of-dmtimer-functions-into-inline-.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-From 902f3165afa284d4bd6ff22db7654318c98a5ce0 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:48 -0700
-Subject: [PATCH 006/149] omap: Make a subset of dmtimer functions into inline functions
-
-This will allow us to share the code between system timer and
-dmtimer device driver code without having to initialize all the
-dmtimers early. This change will also make the timer_set_next_event
-more efficient as the inline functions will optimize the code
-better for the timer reprogramming.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/plat-omap/dmtimer.c              |   78 ++++---------------
- arch/arm/plat-omap/include/plat/dmtimer.h |  119 +++++++++++++++++++++++++++++
- 2 files changed, 136 insertions(+), 61 deletions(-)
-
-diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
-index dfdc3b2..7c5cb4e 100644
---- a/arch/arm/plat-omap/dmtimer.c
-+++ b/arch/arm/plat-omap/dmtimer.c
-@@ -170,11 +170,7 @@ static spinlock_t dm_timer_lock;
-  */
- static inline u32 omap_dm_timer_read_reg(struct omap_dm_timer *timer, u32 reg)
- {
--	if (timer->posted)
--		while (readl(timer->io_base + (OMAP_TIMER_WRITE_PEND_REG & 0xff))
--				& (reg >> WPSHIFT))
--			cpu_relax();
--	return readl(timer->io_base + (reg & 0xff));
-+	return __omap_dm_timer_read(timer->io_base, reg, timer->posted);
- }
- 
- /*
-@@ -186,11 +182,7 @@ static inline u32 omap_dm_timer_read_reg(struct omap_dm_timer *timer, u32 reg)
- static void omap_dm_timer_write_reg(struct omap_dm_timer *timer, u32 reg,
- 						u32 value)
- {
--	if (timer->posted)
--		while (readl(timer->io_base + (OMAP_TIMER_WRITE_PEND_REG & 0xff))
--				& (reg >> WPSHIFT))
--			cpu_relax();
--	writel(value, timer->io_base + (reg & 0xff));
-+	__omap_dm_timer_write(timer->io_base, reg, value, timer->posted);
- }
- 
- static void omap_dm_timer_wait_for_reset(struct omap_dm_timer *timer)
-@@ -209,7 +201,7 @@ static void omap_dm_timer_wait_for_reset(struct omap_dm_timer *timer)
- 
- static void omap_dm_timer_reset(struct omap_dm_timer *timer)
- {
--	u32 l;
-+	int autoidle = 0, wakeup = 0;
- 
- 	if (!cpu_class_is_omap2() || timer != &dm_timers[0]) {
- 		omap_dm_timer_write_reg(timer, OMAP_TIMER_IF_CTRL_REG, 0x06);
-@@ -217,28 +209,21 @@ static void omap_dm_timer_reset(struct omap_dm_timer *timer)
- 	}
- 	omap_dm_timer_set_source(timer, OMAP_TIMER_SRC_32_KHZ);
- 
--	l = omap_dm_timer_read_reg(timer, OMAP_TIMER_OCP_CFG_REG);
--	l |= 0x02 << 3;  /* Set to smart-idle mode */
--	l |= 0x2 << 8;   /* Set clock activity to perserve f-clock on idle */
--
- 	/* Enable autoidle on OMAP2 / OMAP3 */
- 	if (cpu_is_omap24xx() || cpu_is_omap34xx())
--		l |= 0x1 << 0;
-+		autoidle = 1;
- 
- 	/*
- 	 * Enable wake-up on OMAP2 CPUs.
- 	 */
- 	if (cpu_class_is_omap2())
--		l |= 1 << 2;
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_OCP_CFG_REG, l);
-+		wakeup = 1;
- 
--	/* Match hardware reset default of posted mode */
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_IF_CTRL_REG,
--			OMAP_TIMER_CTRL_POSTED);
-+	__omap_dm_timer_reset(timer->io_base, autoidle, wakeup);
- 	timer->posted = 1;
- }
- 
--static void omap_dm_timer_prepare(struct omap_dm_timer *timer)
-+void omap_dm_timer_prepare(struct omap_dm_timer *timer)
- {
- 	omap_dm_timer_enable(timer);
- 	omap_dm_timer_reset(timer);
-@@ -410,25 +395,13 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_start);
- 
- void omap_dm_timer_stop(struct omap_dm_timer *timer)
- {
--	u32 l;
-+	unsigned long rate = 0;
- 
--	l = omap_dm_timer_read_reg(timer, OMAP_TIMER_CTRL_REG);
--	if (l & OMAP_TIMER_CTRL_ST) {
--		l &= ~0x1;
--		omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l);
- #ifdef CONFIG_ARCH_OMAP2PLUS
--		/* Readback to make sure write has completed */
--		omap_dm_timer_read_reg(timer, OMAP_TIMER_CTRL_REG);
--		 /*
--		  * Wait for functional clock period x 3.5 to make sure that
--		  * timer is stopped
--		  */
--		udelay(3500000 / clk_get_rate(timer->fclk) + 1);
-+	rate = clk_get_rate(timer->fclk);
- #endif
--	}
--	/* Ack possibly pending interrupt */
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_STAT_REG,
--			OMAP_TIMER_INT_OVERFLOW);
-+
-+	__omap_dm_timer_stop(timer->io_base, timer->posted, rate);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_stop);
- 
-@@ -451,22 +424,11 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_set_source);
- 
- int omap_dm_timer_set_source(struct omap_dm_timer *timer, int source)
- {
--	int ret = -EINVAL;
--
- 	if (source < 0 || source >= 3)
- 		return -EINVAL;
- 
--	clk_disable(timer->fclk);
--	ret = clk_set_parent(timer->fclk, dm_source_clocks[source]);
--	clk_enable(timer->fclk);
--
--	/*
--	 * When the functional clock disappears, too quick writes seem
--	 * to cause an abort. XXX Is this still necessary?
--	 */
--	__delay(300000);
--
--	return ret;
-+	return __omap_dm_timer_set_source(timer->fclk,
-+						dm_source_clocks[source]);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_set_source);
- 
-@@ -504,8 +466,7 @@ void omap_dm_timer_set_load_start(struct omap_dm_timer *timer, int autoreload,
- 	}
- 	l |= OMAP_TIMER_CTRL_ST;
- 
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_COUNTER_REG, load);
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_CTRL_REG, l);
-+	__omap_dm_timer_load_start(timer->io_base, l, load, timer->posted);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_set_load_start);
- 
-@@ -558,8 +519,7 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_set_prescaler);
- void omap_dm_timer_set_int_enable(struct omap_dm_timer *timer,
- 				  unsigned int value)
- {
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_INT_EN_REG, value);
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_WAKEUP_EN_REG, value);
-+	__omap_dm_timer_int_enable(timer->io_base, value);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_set_int_enable);
- 
-@@ -575,17 +535,13 @@ EXPORT_SYMBOL_GPL(omap_dm_timer_read_status);
- 
- void omap_dm_timer_write_status(struct omap_dm_timer *timer, unsigned int value)
- {
--	omap_dm_timer_write_reg(timer, OMAP_TIMER_STAT_REG, value);
-+	__omap_dm_timer_write_status(timer->io_base, value);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_write_status);
- 
- unsigned int omap_dm_timer_read_counter(struct omap_dm_timer *timer)
- {
--	unsigned int l;
--
--	l = omap_dm_timer_read_reg(timer, OMAP_TIMER_COUNTER_REG);
--
--	return l;
-+	return __omap_dm_timer_read_counter(timer->io_base, timer->posted);
- }
- EXPORT_SYMBOL_GPL(omap_dm_timer_read_counter);
- 
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index 3203105..54664a7 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -32,6 +32,9 @@
-  * 675 Mass Ave, Cambridge, MA 02139, USA.
-  */
- 
-+#include <linux/clk.h>
-+#include <linux/delay.h>
-+
- #ifndef __ASM_ARCH_DMTIMER_H
- #define __ASM_ARCH_DMTIMER_H
- 
-@@ -218,4 +221,120 @@ struct omap_dm_timer {
- 	unsigned posted:1;
- };
- 
-+void omap_dm_timer_prepare(struct omap_dm_timer *timer);
-+
-+static inline u32 __omap_dm_timer_read(void __iomem *base, u32 reg,
-+						int posted)
-+{
-+	if (posted)
-+		while (__raw_readl(base + (OMAP_TIMER_WRITE_PEND_REG & 0xff))
-+				& (reg >> WPSHIFT))
-+			cpu_relax();
-+
-+	return __raw_readl(base + (reg & 0xff));
-+}
-+
-+static inline void __omap_dm_timer_write(void __iomem *base, u32 reg, u32 val,
-+						int posted)
-+{
-+	if (posted)
-+		while (__raw_readl(base + (OMAP_TIMER_WRITE_PEND_REG & 0xff))
-+				& (reg >> WPSHIFT))
-+			cpu_relax();
-+
-+	__raw_writel(val, base + (reg & 0xff));
-+}
-+
-+/* Assumes the source clock has been set by caller */
-+static inline void __omap_dm_timer_reset(void __iomem *base, int autoidle,
-+						int wakeup)
-+{
-+	u32 l;
-+
-+	l = __omap_dm_timer_read(base, OMAP_TIMER_OCP_CFG_REG, 0);
-+	l |= 0x02 << 3;  /* Set to smart-idle mode */
-+	l |= 0x2 << 8;   /* Set clock activity to perserve f-clock on idle */
-+
-+	if (autoidle)
-+		l |= 0x1 << 0;
-+
-+	if (wakeup)
-+		l |= 1 << 2;
-+
-+	__omap_dm_timer_write(base, OMAP_TIMER_OCP_CFG_REG, l, 0);
-+
-+	/* Match hardware reset default of posted mode */
-+	__omap_dm_timer_write(base, OMAP_TIMER_IF_CTRL_REG,
-+					OMAP_TIMER_CTRL_POSTED, 0);
-+}
-+
-+static inline int __omap_dm_timer_set_source(struct clk *timer_fck,
-+						struct clk *parent)
-+{
-+	int ret;
-+
-+	clk_disable(timer_fck);
-+	ret = clk_set_parent(timer_fck, parent);
-+	clk_enable(timer_fck);
-+
-+	/*
-+	 * When the functional clock disappears, too quick writes seem
-+	 * to cause an abort. XXX Is this still necessary?
-+	 */
-+	__delay(300000);
-+
-+	return ret;
-+}
-+
-+static inline void __omap_dm_timer_stop(void __iomem *base, int posted,
-+						unsigned long rate)
-+{
-+	u32 l;
-+
-+	l = __omap_dm_timer_read(base, OMAP_TIMER_CTRL_REG, posted);
-+	if (l & OMAP_TIMER_CTRL_ST) {
-+		l &= ~0x1;
-+		__omap_dm_timer_write(base, OMAP_TIMER_CTRL_REG, l, posted);
-+#ifdef CONFIG_ARCH_OMAP2PLUS
-+		/* Readback to make sure write has completed */
-+		__omap_dm_timer_read(base, OMAP_TIMER_CTRL_REG, posted);
-+		/*
-+		 * Wait for functional clock period x 3.5 to make sure that
-+		 * timer is stopped
-+		 */
-+		udelay(3500000 / rate + 1);
-+#endif
-+	}
-+
-+	/* Ack possibly pending interrupt */
-+	__omap_dm_timer_write(base, OMAP_TIMER_STAT_REG,
-+					OMAP_TIMER_INT_OVERFLOW, 0);
-+}
-+
-+static inline void __omap_dm_timer_load_start(void __iomem *base, u32 ctrl,
-+						unsigned int load, int posted)
-+{
-+	__omap_dm_timer_write(base, OMAP_TIMER_COUNTER_REG, load, posted);
-+	__omap_dm_timer_write(base, OMAP_TIMER_CTRL_REG, ctrl, posted);
-+}
-+
-+static inline void __omap_dm_timer_int_enable(void __iomem *base,
-+						unsigned int value)
-+{
-+	__omap_dm_timer_write(base, OMAP_TIMER_INT_EN_REG, value, 0);
-+	__omap_dm_timer_write(base, OMAP_TIMER_WAKEUP_EN_REG, value, 0);
-+}
-+
-+static inline unsigned int __omap_dm_timer_read_counter(void __iomem *base,
-+							int posted)
-+{
-+	return __omap_dm_timer_read(base, OMAP_TIMER_COUNTER_REG, posted);
-+}
-+
-+static inline void __omap_dm_timer_write_status(void __iomem *base,
-+						unsigned int value)
-+{
-+	__omap_dm_timer_write(base, OMAP_TIMER_STAT_REG, value, 0);
-+}
-+
- #endif /* __ASM_ARCH_DMTIMER_H */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0007-omap2-Use-dmtimer-macros-for-clockevent.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0007-omap2-Use-dmtimer-macros-for-clockevent.patch
deleted file mode 100644
index c7747ed..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0007-omap2-Use-dmtimer-macros-for-clockevent.patch
+++ /dev/null
@@ -1,279 +0,0 @@
-From 8f322fa141e55da412c5d73f07f93c1e02965522 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:48 -0700
-Subject: [PATCH 007/149] omap2+: Use dmtimer macros for clockevent
-
-This patch makes timer-gp.c to use only a subset of dmtimer
-functions without the need to initialize dmtimer code early.
-
-Also note that now with the inline functions, timer_set_next_event
-becomes more efficient in the lines of assembly code.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/timer-gp.c            |  147 ++++++++++++++++++++++-------
- arch/arm/plat-omap/include/plat/dmtimer.h |    1 +
- 2 files changed, 113 insertions(+), 35 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index a0d8e83..62c0d5c 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -45,10 +45,33 @@
- 
- #include "timer-gp.h"
- 
-+/* Parent clocks, eventually these will come from the clock framework */
-+
-+#define OMAP2_MPU_SOURCE	"sys_ck"
-+#define OMAP3_MPU_SOURCE	OMAP2_MPU_SOURCE
-+#define OMAP4_MPU_SOURCE	"sys_clkin_ck"
-+#define OMAP2_32K_SOURCE	"func_32k_ck"
-+#define OMAP3_32K_SOURCE	"omap_32k_fck"
-+#define OMAP4_32K_SOURCE	"sys_32k_ck"
-+
-+#ifdef CONFIG_OMAP_32K_TIMER
-+#define OMAP2_CLKEV_SOURCE	OMAP2_32K_SOURCE
-+#define OMAP3_CLKEV_SOURCE	OMAP3_32K_SOURCE
-+#define OMAP4_CLKEV_SOURCE	OMAP4_32K_SOURCE
-+#define OMAP3_SECURE_TIMER	12
-+#else
-+#define OMAP2_CLKEV_SOURCE	OMAP2_MPU_SOURCE
-+#define OMAP3_CLKEV_SOURCE	OMAP3_MPU_SOURCE
-+#define OMAP4_CLKEV_SOURCE	OMAP4_MPU_SOURCE
-+#define OMAP3_SECURE_TIMER	1
-+#endif
- 
- /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
- #define MAX_GPTIMER_ID		12
- 
-+/* Clockevent code */
-+
-+static struct omap_dm_timer clkev;
- static struct omap_dm_timer *gptimer;
- static struct clock_event_device clockevent_gpt;
- static u8 __initdata gptimer_id = 1;
-@@ -57,10 +80,9 @@ struct omap_dm_timer *gptimer_wakeup;
- 
- static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
- {
--	struct omap_dm_timer *gpt = (struct omap_dm_timer *)dev_id;
- 	struct clock_event_device *evt = &clockevent_gpt;
- 
--	omap_dm_timer_write_status(gpt, OMAP_TIMER_INT_OVERFLOW);
-+	__omap_dm_timer_write_status(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
- 
- 	evt->event_handler(evt);
- 	return IRQ_HANDLED;
-@@ -75,7 +97,8 @@ static struct irqaction omap2_gp_timer_irq = {
- static int omap2_gp_timer_set_next_event(unsigned long cycles,
- 					 struct clock_event_device *evt)
- {
--	omap_dm_timer_set_load_start(gptimer, 0, 0xffffffff - cycles);
-+	__omap_dm_timer_load_start(clkev.io_base, OMAP_TIMER_CTRL_ST,
-+						0xffffffff - cycles, 1);
- 
- 	return 0;
- }
-@@ -85,13 +108,18 @@ static void omap2_gp_timer_set_mode(enum clock_event_mode mode,
- {
- 	u32 period;
- 
--	omap_dm_timer_stop(gptimer);
-+	__omap_dm_timer_stop(clkev.io_base, 1, clkev.rate);
- 
- 	switch (mode) {
- 	case CLOCK_EVT_MODE_PERIODIC:
--		period = clk_get_rate(omap_dm_timer_get_fclk(gptimer)) / HZ;
-+		period = clkev.rate / HZ;
- 		period -= 1;
--		omap_dm_timer_set_load_start(gptimer, 1, 0xffffffff - period);
-+		/* Looks like we need to first set the load value separately */
-+		__omap_dm_timer_write(clkev.io_base, OMAP_TIMER_LOAD_REG,
-+					0xffffffff - period, 1);
-+		__omap_dm_timer_load_start(clkev.io_base,
-+					OMAP_TIMER_CTRL_AR | OMAP_TIMER_CTRL_ST,
-+						0xffffffff - period, 1);
- 		break;
- 	case CLOCK_EVT_MODE_ONESHOT:
- 		break;
-@@ -130,43 +158,89 @@ int __init omap2_gp_clockevent_set_gptimer(u8 id)
- 	return 0;
- }
- 
--static void __init omap2_gp_clockevent_init(void)
-+static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
-+						int gptimer_id,
-+						const char *fck_source)
- {
--	u32 tick_rate;
--	int src;
--	char clockevent_hwmod_name[8]; /* 8 = sizeof("timerXX0") */
-+	char name[10]; /* 10 = sizeof("gptXX_Xck0") */
-+	struct omap_hwmod *oh;
-+	size_t size;
-+	int res = 0;
-+
-+	sprintf(name, "timer%d", gptimer_id);
-+	omap_hwmod_setup_one(name);
-+	oh = omap_hwmod_lookup(name);
-+	if (!oh)
-+		return -ENODEV;
-+
-+	timer->irq = oh->mpu_irqs[0].irq;
-+	timer->phys_base = oh->slaves[0]->addr->pa_start;
-+	size = oh->slaves[0]->addr->pa_end - timer->phys_base;
-+
-+	/* Static mapping, never released */
-+	timer->io_base = ioremap(timer->phys_base, size);
-+	if (!timer->io_base)
-+		return -ENXIO;
-+
-+	/* After the dmtimer is using hwmod these clocks won't be needed */
-+	sprintf(name, "gpt%d_fck", gptimer_id);
-+	timer->fclk = clk_get(NULL, name);
-+	if (IS_ERR(timer->fclk))
-+		return -ENODEV;
-+
-+	sprintf(name, "gpt%d_ick", gptimer_id);
-+	timer->iclk = clk_get(NULL, name);
-+	if (IS_ERR(timer->iclk)) {
-+		clk_put(timer->fclk);
-+		return -ENODEV;
-+	}
- 
--	inited = 1;
-+	omap_hwmod_enable(oh);
-+
-+	if (gptimer_id != 12) {
-+		struct clk *src;
-+
-+		src = clk_get(NULL, fck_source);
-+		if (IS_ERR(src)) {
-+			res = -EINVAL;
-+		} else {
-+			res = __omap_dm_timer_set_source(timer->fclk, src);
-+			if (IS_ERR_VALUE(res))
-+				pr_warning("%s: timer%i cannot set source\n",
-+						__func__, gptimer_id);
-+			clk_put(src);
-+		}
-+	}
-+	__omap_dm_timer_reset(timer->io_base, 1, 1);
-+	timer->posted = 1;
-+
-+	timer->rate = clk_get_rate(timer->fclk);
- 
--	sprintf(clockevent_hwmod_name, "timer%d", gptimer_id);
--	omap_hwmod_setup_one(clockevent_hwmod_name);
-+	timer->reserved = 1;
- 
- 	gptimer = omap_dm_timer_request_specific(gptimer_id);
- 	BUG_ON(gptimer == NULL);
- 	gptimer_wakeup = gptimer;
- 
--#if defined(CONFIG_OMAP_32K_TIMER)
--	src = OMAP_TIMER_SRC_32_KHZ;
--#else
--	src = OMAP_TIMER_SRC_SYS_CLK;
--	WARN(gptimer_id == 12, "WARNING: GPTIMER12 can only use the "
--	     "secure 32KiHz clock source\n");
--#endif
-+	return res;
-+}
- 
--	if (gptimer_id != 12)
--		WARN(IS_ERR_VALUE(omap_dm_timer_set_source(gptimer, src)),
--		     "timer-gp: omap_dm_timer_set_source() failed\n");
-+static void __init omap2_gp_clockevent_init(int gptimer_id,
-+						const char *fck_source)
-+{
-+	int res;
- 
--	tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer));
-+	inited = 1;
- 
--	pr_info("OMAP clockevent source: GPTIMER%d at %u Hz\n",
--		gptimer_id, tick_rate);
-+	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);
-+	BUG_ON(res);
- 
- 	omap2_gp_timer_irq.dev_id = (void *)gptimer;
--	setup_irq(omap_dm_timer_get_irq(gptimer), &omap2_gp_timer_irq);
--	omap_dm_timer_set_int_enable(gptimer, OMAP_TIMER_INT_OVERFLOW);
-+	setup_irq(clkev.irq, &omap2_gp_timer_irq);
- 
--	clockevent_gpt.mult = div_sc(tick_rate, NSEC_PER_SEC,
-+	__omap_dm_timer_int_enable(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
-+
-+	clockevent_gpt.mult = div_sc(clkev.rate, NSEC_PER_SEC,
- 				     clockevent_gpt.shift);
- 	clockevent_gpt.max_delta_ns =
- 		clockevent_delta2ns(0xffffffff, &clockevent_gpt);
-@@ -176,6 +250,9 @@ static void __init omap2_gp_clockevent_init(void)
- 
- 	clockevent_gpt.cpumask = cpumask_of(0);
- 	clockevents_register_device(&clockevent_gpt);
-+
-+	pr_info("OMAP clockevent source: GPTIMER%d at %lu Hz\n",
-+		gptimer_id, clkev.rate);
- }
- 
- /* Clocksource code */
-@@ -247,11 +324,11 @@ static void __init omap2_gp_clocksource_init(void)
- }
- #endif
- 
--#define OMAP_SYS_TIMER_INIT(name)					\
-+#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src)			\
- static void __init omap##name##_timer_init(void)			\
- {									\
- 	omap_dm_timer_init();						\
--	omap2_gp_clockevent_init();					\
-+	omap2_gp_clockevent_init((clkev_nr), clkev_src);		\
- 	omap2_gp_clocksource_init();					\
- }
- 
-@@ -261,14 +338,14 @@ struct sys_timer omap##name##_timer = {					\
- };
- 
- #ifdef CONFIG_ARCH_OMAP2
--OMAP_SYS_TIMER_INIT(2)
-+OMAP_SYS_TIMER_INIT(2, 1, OMAP2_CLKEV_SOURCE)
- OMAP_SYS_TIMER(2)
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP3
--OMAP_SYS_TIMER_INIT(3)
-+OMAP_SYS_TIMER_INIT(3, 1, OMAP3_CLKEV_SOURCE)
- OMAP_SYS_TIMER(3)
--OMAP_SYS_TIMER_INIT(3_secure)
-+OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE)
- OMAP_SYS_TIMER(3_secure)
- #endif
- 
-@@ -280,7 +357,7 @@ static void __init omap4_timer_init(void)
- 	BUG_ON(!twd_base);
- #endif
- 	omap_dm_timer_init();
--	omap2_gp_clockevent_init();
-+	omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
- 	omap2_gp_clocksource_init();
- }
- OMAP_SYS_TIMER(4)
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index 54664a7..dd8b3ff 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -216,6 +216,7 @@ struct omap_dm_timer {
- 	struct clk *iclk, *fclk;
- #endif
- 	void __iomem *io_base;
-+	unsigned long rate;
- 	unsigned reserved:1;
- 	unsigned enabled:1;
- 	unsigned posted:1;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0008-omap2-Remove-gptimer_wakeup-for-now.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0008-omap2-Remove-gptimer_wakeup-for-now.patch
deleted file mode 100644
index 98e356c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0008-omap2-Remove-gptimer_wakeup-for-now.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From 6e1cacccf1349d97c83c7bc93e4d3c15e731c3ad Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:49 -0700
-Subject: [PATCH 008/149] omap2+: Remove gptimer_wakeup for now
-
-This removes the support for setting the wake-up timer for debugging.
-
-Later on we can reserve gptimer1 for PM code only and have similar
-functionality.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/pm-debug.c            |   28 ----------------------------
- arch/arm/mach-omap2/pm.h                  |    6 ------
- arch/arm/mach-omap2/pm34xx.c              |    4 ----
- arch/arm/mach-omap2/timer-gp.c            |    8 +-------
- arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
- 5 files changed, 1 insertions(+), 46 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
-index e01da45..2c35bd3 100644
---- a/arch/arm/mach-omap2/pm-debug.c
-+++ b/arch/arm/mach-omap2/pm-debug.c
-@@ -31,7 +31,6 @@
- #include <plat/board.h>
- #include "powerdomain.h"
- #include "clockdomain.h"
--#include <plat/dmtimer.h>
- #include <plat/omap-pm.h>
- 
- #include "cm2xxx_3xxx.h"
-@@ -41,8 +40,6 @@
- int omap2_pm_debug;
- u32 enable_off_mode;
- u32 sleep_while_idle;
--u32 wakeup_timer_seconds;
--u32 wakeup_timer_milliseconds;
- 
- #define DUMP_PRM_MOD_REG(mod, reg)    \
- 	regs[reg_count].name = #mod "." #reg; \
-@@ -162,23 +159,6 @@ void omap2_pm_dump(int mode, int resume, unsigned int us)
- 		printk(KERN_INFO "%-20s: 0x%08x\n", regs[i].name, regs[i].val);
- }
- 
--void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds)
--{
--	u32 tick_rate, cycles;
--
--	if (!seconds && !milliseconds)
--		return;
--
--	tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gptimer_wakeup));
--	cycles = tick_rate * seconds + tick_rate * milliseconds / 1000;
--	omap_dm_timer_stop(gptimer_wakeup);
--	omap_dm_timer_set_load_start(gptimer_wakeup, 0, 0xffffffff - cycles);
--
--	pr_info("PM: Resume timer in %u.%03u secs"
--		" (%d ticks at %d ticks/sec.)\n",
--		seconds, milliseconds, cycles, tick_rate);
--}
--
- #ifdef CONFIG_DEBUG_FS
- #include <linux/debugfs.h>
- #include <linux/seq_file.h>
-@@ -576,9 +556,6 @@ static int option_set(void *data, u64 val)
- {
- 	u32 *option = data;
- 
--	if (option == &wakeup_timer_milliseconds && val >= 1000)
--		return -EINVAL;
--
- 	*option = val;
- 
- 	if (option == &enable_off_mode) {
-@@ -641,11 +618,6 @@ static int pm_dbg_init(void)
- 				   &enable_off_mode, &pm_dbg_option_fops);
- 	(void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUSR, d,
- 				   &sleep_while_idle, &pm_dbg_option_fops);
--	(void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d,
--				   &wakeup_timer_seconds, &pm_dbg_option_fops);
--	(void) debugfs_create_file("wakeup_timer_milliseconds",
--			S_IRUGO | S_IWUSR, d, &wakeup_timer_milliseconds,
--			&pm_dbg_option_fops);
- 	pm_dbg_init_done = 1;
- 
- 	return 0;
-diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
-index 45bcfce..c3a367e 100644
---- a/arch/arm/mach-omap2/pm.h
-+++ b/arch/arm/mach-omap2/pm.h
-@@ -60,19 +60,13 @@ inline void omap3_pm_init_cpuidle(struct cpuidle_params *cpuidle_board_params)
- extern int omap3_pm_get_suspend_state(struct powerdomain *pwrdm);
- extern int omap3_pm_set_suspend_state(struct powerdomain *pwrdm, int state);
- 
--extern u32 wakeup_timer_seconds;
--extern u32 wakeup_timer_milliseconds;
--extern struct omap_dm_timer *gptimer_wakeup;
--
- #ifdef CONFIG_PM_DEBUG
- extern void omap2_pm_dump(int mode, int resume, unsigned int us);
--extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
- extern int omap2_pm_debug;
- extern u32 enable_off_mode;
- extern u32 sleep_while_idle;
- #else
- #define omap2_pm_dump(mode, resume, us)		do {} while (0);
--#define omap2_pm_wakeup_on_timer(seconds, milliseconds)	do {} while (0);
- #define omap2_pm_debug				0
- #define enable_off_mode 0
- #define sleep_while_idle 0
-diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
-index c155c9d..4cb636a 100644
---- a/arch/arm/mach-omap2/pm34xx.c
-+++ b/arch/arm/mach-omap2/pm34xx.c
-@@ -534,10 +534,6 @@ static int omap3_pm_suspend(void)
- 	struct power_state *pwrst;
- 	int state, ret = 0;
- 
--	if (wakeup_timer_seconds || wakeup_timer_milliseconds)
--		omap2_pm_wakeup_on_timer(wakeup_timer_seconds,
--					 wakeup_timer_milliseconds);
--
- 	/* Read current next_pwrsts */
- 	list_for_each_entry(pwrst, &pwrst_list, node)
- 		pwrst->saved_state = pwrdm_read_next_pwrst(pwrst->pwrdm);
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index 62c0d5c..578e9df 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -72,11 +72,9 @@
- /* Clockevent code */
- 
- static struct omap_dm_timer clkev;
--static struct omap_dm_timer *gptimer;
- static struct clock_event_device clockevent_gpt;
- static u8 __initdata gptimer_id = 1;
- static u8 __initdata inited;
--struct omap_dm_timer *gptimer_wakeup;
- 
- static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
- {
-@@ -218,10 +216,6 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
- 
- 	timer->reserved = 1;
- 
--	gptimer = omap_dm_timer_request_specific(gptimer_id);
--	BUG_ON(gptimer == NULL);
--	gptimer_wakeup = gptimer;
--
- 	return res;
- }
- 
-@@ -235,7 +229,7 @@ static void __init omap2_gp_clockevent_init(int gptimer_id,
- 	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);
- 	BUG_ON(res);
- 
--	omap2_gp_timer_irq.dev_id = (void *)gptimer;
-+	omap2_gp_timer_irq.dev_id = (void *)&clkev;
- 	setup_irq(clkev.irq, &omap2_gp_timer_irq);
- 
- 	__omap_dm_timer_int_enable(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index dd8b3ff..8adcb18 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -59,7 +59,6 @@
-  */
- #define OMAP_TIMER_IP_VERSION_1                        0x1
- struct omap_dm_timer;
--extern struct omap_dm_timer *gptimer_wakeup;
- struct clk;
- 
- int omap_dm_timer_init(void);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0009-OMAP3-SR-make-notify-independent-of-class.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0009-OMAP3-SR-make-notify-independent-of-class.patch
deleted file mode 100644
index 17b3eda..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0009-OMAP3-SR-make-notify-independent-of-class.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From b3d437835cf2885fe7a8c6470ca7639e5c11850a Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Mon, 14 Feb 2011 12:16:36 +0530
-Subject: [PATCH 009/149] OMAP3+: SR: make notify independent of class
-
-Interrupt notification mechanism of SmartReflex can be used by the
-choice of implementation of the class driver. For example, Class 2 and
-Class 1.5 of SmartReflex can both use the interrupt notification to
-identify the transition of voltage or other events.
-
-Hence, the actual class does not matter for notifier. Let the class
-driver's handling decide how it should be used. SmartReflex driver
-should provide just the primitives.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex.c |    6 ++----
- 1 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
-index f5a6bc1..785ed4c 100644
---- a/arch/arm/mach-omap2/smartreflex.c
-+++ b/arch/arm/mach-omap2/smartreflex.c
-@@ -143,7 +143,7 @@ static irqreturn_t sr_interrupt(int irq, void *data)
- 		sr_write_reg(sr_info, IRQSTATUS, status);
- 	}
- 
--	if (sr_class->class_type == SR_CLASS2 && sr_class->notify)
-+	if (sr_class->notify)
- 		sr_class->notify(sr_info->voltdm, status);
- 
- 	return IRQ_HANDLED;
-@@ -258,9 +258,7 @@ static int sr_late_init(struct omap_sr *sr_info)
- 	struct resource *mem;
- 	int ret = 0;
- 
--	if (sr_class->class_type == SR_CLASS2 &&
--		sr_class->notify_flags && sr_info->irq) {
--
-+	if (sr_class->notify && sr_class->notify_flags && sr_info->irq) {
- 		name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
- 		if (name == NULL) {
- 			ret = -ENOMEM;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0010-OMAP3-SR-disable-interrupt-by-default.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0010-OMAP3-SR-disable-interrupt-by-default.patch
deleted file mode 100644
index 7d8ef30..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0010-OMAP3-SR-disable-interrupt-by-default.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 252ef25d54768a725289253c494e1f37a5eec526 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Mon, 14 Feb 2011 12:41:10 +0530
-Subject: [PATCH 010/149] OMAP3+: SR: disable interrupt by default
-
-We will enable and disable interrupt on a need basis in the class
-driver. We need to keep the IRQ disabled by default else the
-forceupdate or vcbypass events could trigger events that we don't
-need/expect to handle.
-
-This is a preparation for SmartReflex AVS class drivers such as
-class 2 and class 1.5 which would need to use interrupts. Existing
-SmartReflex AVS class 3 driver does not require to use interrupts
-and is not impacted by this change.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex.c |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
-index 785ed4c..6b69ada 100644
---- a/arch/arm/mach-omap2/smartreflex.c
-+++ b/arch/arm/mach-omap2/smartreflex.c
-@@ -268,6 +268,7 @@ static int sr_late_init(struct omap_sr *sr_info)
- 				0, name, (void *)sr_info);
- 		if (ret)
- 			goto error;
-+		disable_irq(sr_info->irq);
- 	}
- 
- 	if (pdata && pdata->enable_on_init)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
deleted file mode 100644
index ffc8c8c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From e060d73eef027063f687feae1c3d0ad2418a88aa Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Mon, 14 Feb 2011 21:14:17 +0530
-Subject: [PATCH 011/149] OMAP3+: SR: enable/disable SR only on need
-
-Since we already know the state of the autocomp enablement, we can
-see if the requested state is different from the current state and
-enable/disable SR only on the need basis.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex.c |   11 +++++++----
- 1 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
-index 6b69ada..1a370b9 100644
---- a/arch/arm/mach-omap2/smartreflex.c
-+++ b/arch/arm/mach-omap2/smartreflex.c
-@@ -807,10 +807,13 @@ static int omap_sr_autocomp_store(void *data, u64 val)
- 		return -EINVAL;
- 	}
- 
--	if (!val)
--		sr_stop_vddautocomp(sr_info);
--	else
--		sr_start_vddautocomp(sr_info);
-+	/* control enable/disable only if there is a delta in value */
-+	if (sr_info->autocomp_active != val) {
-+		if (!val)
-+			sr_stop_vddautocomp(sr_info);
-+		else
-+			sr_start_vddautocomp(sr_info);
-+	}
- 
- 	return 0;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0012-OMAP3-SR-fix-cosmetic-indentation.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
deleted file mode 100644
index 63c8230..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0012-OMAP3-SR-fix-cosmetic-indentation.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From d9d17d6ea5a56b81a7d6d134aeeeff6a3b9fbf88 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Mon, 14 Feb 2011 12:33:13 +0530
-Subject: [PATCH 012/149] OMAP3+: SR: fix cosmetic indentation
-
-Error label case seems to have a 2 tab indentation when just 1 is
-necessary.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex.c |   20 ++++++++++----------
- 1 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
-index 1a370b9..be6add0 100644
---- a/arch/arm/mach-omap2/smartreflex.c
-+++ b/arch/arm/mach-omap2/smartreflex.c
-@@ -277,16 +277,16 @@ static int sr_late_init(struct omap_sr *sr_info)
- 	return ret;
- 
- error:
--		iounmap(sr_info->base);
--		mem = platform_get_resource(sr_info->pdev, IORESOURCE_MEM, 0);
--		release_mem_region(mem->start, resource_size(mem));
--		list_del(&sr_info->node);
--		dev_err(&sr_info->pdev->dev, "%s: ERROR in registering"
--			"interrupt handler. Smartreflex will"
--			"not function as desired\n", __func__);
--		kfree(name);
--		kfree(sr_info);
--		return ret;
-+	iounmap(sr_info->base);
-+	mem = platform_get_resource(sr_info->pdev, IORESOURCE_MEM, 0);
-+	release_mem_region(mem->start, resource_size(mem));
-+	list_del(&sr_info->node);
-+	dev_err(&sr_info->pdev->dev, "%s: ERROR in registering"
-+		"interrupt handler. Smartreflex will"
-+		"not function as desired\n", __func__);
-+	kfree(name);
-+	kfree(sr_info);
-+	return ret;
- }
- 
- static void sr_v1_disable(struct omap_sr *sr)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0013-omap2-Reserve-clocksource-and-timesource-and-initial.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0013-omap2-Reserve-clocksource-and-timesource-and-initial.patch
deleted file mode 100644
index db4f8e5..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0013-omap2-Reserve-clocksource-and-timesource-and-initial.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 8009544b2ea8ceba920455bb7e5e267cc78d3827 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:49 -0700
-Subject: [PATCH 013/149] omap2+: Reserve clocksource and timesource and initialize dmtimer later
-
-There's no need to initialize the dmtimer framework early.
-Just mark the clocksource and timesource as reserved, and
-initialize dmtimer with an arch_initcall.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap1/timer32k.c            |    4 ----
- arch/arm/mach-omap2/timer-gp.c            |    6 ++++--
- arch/arm/plat-omap/dmtimer.c              |   10 +++++++++-
- arch/arm/plat-omap/include/plat/dmtimer.h |    3 +--
- 4 files changed, 14 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 13d7b8f..96604a5 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -183,10 +183,6 @@ static __init void omap_init_32k_timer(void)
- bool __init omap_32k_timer_init(void)
- {
- 	omap_init_clocksource_32k();
--
--#ifdef CONFIG_OMAP_DM_TIMER
--	omap_dm_timer_init();
--#endif
- 	omap_init_32k_timer();
- 
- 	return true;
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index 578e9df..cf2ec85 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -69,6 +69,8 @@
- /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
- #define MAX_GPTIMER_ID		12
- 
-+u32 sys_timer_reserved;
-+
- /* Clockevent code */
- 
- static struct omap_dm_timer clkev;
-@@ -195,6 +197,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
- 
- 	omap_hwmod_enable(oh);
- 
-+	sys_timer_reserved |= (1 << (gptimer_id - 1));
-+
- 	if (gptimer_id != 12) {
- 		struct clk *src;
- 
-@@ -321,7 +325,6 @@ static void __init omap2_gp_clocksource_init(void)
- #define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src)			\
- static void __init omap##name##_timer_init(void)			\
- {									\
--	omap_dm_timer_init();						\
- 	omap2_gp_clockevent_init((clkev_nr), clkev_src);		\
- 	omap2_gp_clocksource_init();					\
- }
-@@ -350,7 +353,6 @@ static void __init omap4_timer_init(void)
- 	twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
- 	BUG_ON(!twd_base);
- #endif
--	omap_dm_timer_init();
- 	omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
- 	omap2_gp_clocksource_init();
- }
-diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
-index 7c5cb4e..8dfb818 100644
---- a/arch/arm/plat-omap/dmtimer.c
-+++ b/arch/arm/plat-omap/dmtimer.c
-@@ -572,7 +572,7 @@ int omap_dm_timers_active(void)
- }
- EXPORT_SYMBOL_GPL(omap_dm_timers_active);
- 
--int __init omap_dm_timer_init(void)
-+static int __init omap_dm_timer_init(void)
- {
- 	struct omap_dm_timer *timer;
- 	int i, map_size = SZ_8K;	/* Module 4KB + L4 4KB except on omap1 */
-@@ -625,8 +625,16 @@ int __init omap_dm_timer_init(void)
- 			sprintf(clk_name, "gpt%d_fck", i + 1);
- 			timer->fclk = clk_get(NULL, clk_name);
- 		}
-+
-+		/* One or two timers may be set up early for sys_timer */
-+		if (sys_timer_reserved & (1  << i)) {
-+			timer->reserved = 1;
-+			timer->posted = 1;
-+		}
- #endif
- 	}
- 
- 	return 0;
- }
-+
-+arch_initcall(omap_dm_timer_init);
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index 8adcb18..d0f3a2d 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -61,8 +61,6 @@
- struct omap_dm_timer;
- struct clk;
- 
--int omap_dm_timer_init(void);
--
- struct omap_dm_timer *omap_dm_timer_request(void);
- struct omap_dm_timer *omap_dm_timer_request_specific(int timer_id);
- void omap_dm_timer_free(struct omap_dm_timer *timer);
-@@ -221,6 +219,7 @@ struct omap_dm_timer {
- 	unsigned posted:1;
- };
- 
-+extern u32 sys_timer_reserved;
- void omap_dm_timer_prepare(struct omap_dm_timer *timer);
- 
- static inline u32 __omap_dm_timer_read(void __iomem *base, u32 reg,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0014-omap2-Use-dmtimer-macros-for-clocksource.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0014-omap2-Use-dmtimer-macros-for-clocksource.patch
deleted file mode 100644
index 2e72dad..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0014-omap2-Use-dmtimer-macros-for-clocksource.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 595da70cb0e039cbe04d9c7ce179883e6f8878c1 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:49 -0700
-Subject: [PATCH 014/149] omap2+: Use dmtimer macros for clocksource
-
-Use dmtimer macros for clocksource. As with the clockevent,
-this allows us to initialize the rest of dmtimer code later on.
-
-Note that eventually we will be initializing the timesource
-from init_early so sched_clock will work properly for
-CONFIG_PRINTK_TIME.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/timer-gp.c   |   64 +++++++++++++++++++++----------------
- arch/arm/plat-omap/counter_32k.c |    2 +-
- 2 files changed, 37 insertions(+), 29 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index cf2ec85..2b8cb70 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -262,20 +262,22 @@ static void __init omap2_gp_clockevent_init(int gptimer_id,
-  * sync counter.  See clocksource setup in plat-omap/counter_32k.c
-  */
- 
--static void __init omap2_gp_clocksource_init(void)
-+static void __init omap2_gp_clocksource_init(int unused, const char *dummy)
- {
- 	omap_init_clocksource_32k();
- }
- 
- #else
-+
-+static struct omap_dm_timer clksrc;
-+
- /*
-  * clocksource
-  */
- static DEFINE_CLOCK_DATA(cd);
--static struct omap_dm_timer *gpt_clocksource;
- static cycle_t clocksource_read_cycles(struct clocksource *cs)
- {
--	return (cycle_t)omap_dm_timer_read_counter(gpt_clocksource);
-+	return (cycle_t)__omap_dm_timer_read_counter(clksrc.io_base, 1);
- }
- 
- static struct clocksource clocksource_gpt = {
-@@ -290,43 +292,48 @@ static void notrace dmtimer_update_sched_clock(void)
- {
- 	u32 cyc;
- 
--	cyc = omap_dm_timer_read_counter(gpt_clocksource);
-+	cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
- 
- 	update_sched_clock(&cd, cyc, (u32)~0);
- }
- 
--/* Setup free-running counter for clocksource */
--static void __init omap2_gp_clocksource_init(void)
-+unsigned long long notrace sched_clock(void)
- {
--	static struct omap_dm_timer *gpt;
--	u32 tick_rate;
--	static char err1[] __initdata = KERN_ERR
--		"%s: failed to request dm-timer\n";
--	static char err2[] __initdata = KERN_ERR
--		"%s: can't register clocksource!\n";
-+	u32 cyc = 0;
- 
--	gpt = omap_dm_timer_request();
--	if (!gpt)
--		printk(err1, clocksource_gpt.name);
--	gpt_clocksource = gpt;
-+	if (clksrc.reserved)
-+		cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
- 
--	omap_dm_timer_set_source(gpt, OMAP_TIMER_SRC_SYS_CLK);
--	tick_rate = clk_get_rate(omap_dm_timer_get_fclk(gpt));
-+	return cyc_to_sched_clock(&cd, cyc, (u32)~0);
-+}
-+
-+/* Setup free-running counter for clocksource */
-+static void __init omap2_gp_clocksource_init(int gptimer_id,
-+						const char *fck_source)
-+{
-+	int res;
-+
-+	res = omap_dm_timer_init_one(&clksrc, gptimer_id, fck_source);
-+	BUG_ON(res);
- 
--	omap_dm_timer_set_load_start(gpt, 1, 0);
-+	pr_info("OMAP clocksource: GPTIMER%d at %lu Hz\n",
-+		gptimer_id, clksrc.rate);
- 
--	init_sched_clock(&cd, dmtimer_update_sched_clock, 32, tick_rate);
-+	__omap_dm_timer_load_start(clksrc.io_base, OMAP_TIMER_CTRL_ST, 0, 1);
-+	init_sched_clock(&cd, dmtimer_update_sched_clock, 32, clksrc.rate);
- 
--	if (clocksource_register_hz(&clocksource_gpt, tick_rate))
--		printk(err2, clocksource_gpt.name);
-+	if (clocksource_register_hz(&clocksource_gpt, clksrc.rate))
-+		pr_err("Could not register clocksource %s\n",
-+			clocksource_gpt.name);
- }
- #endif
- 
--#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src)			\
-+#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src,			\
-+				clksrc_nr, clksrc_src)			\
- static void __init omap##name##_timer_init(void)			\
- {									\
- 	omap2_gp_clockevent_init((clkev_nr), clkev_src);		\
--	omap2_gp_clocksource_init();					\
-+	omap2_gp_clocksource_init((clksrc_nr), clksrc_src);		\
- }
- 
- #define OMAP_SYS_TIMER(name)						\
-@@ -335,14 +342,15 @@ struct sys_timer omap##name##_timer = {					\
- };
- 
- #ifdef CONFIG_ARCH_OMAP2
--OMAP_SYS_TIMER_INIT(2, 1, OMAP2_CLKEV_SOURCE)
-+OMAP_SYS_TIMER_INIT(2, 1, OMAP2_CLKEV_SOURCE, 2, OMAP2_MPU_SOURCE)
- OMAP_SYS_TIMER(2)
- #endif
- 
- #ifdef CONFIG_ARCH_OMAP3
--OMAP_SYS_TIMER_INIT(3, 1, OMAP3_CLKEV_SOURCE)
-+OMAP_SYS_TIMER_INIT(3, 1, OMAP3_CLKEV_SOURCE, 2, OMAP3_MPU_SOURCE)
- OMAP_SYS_TIMER(3)
--OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE)
-+OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE,
-+			2, OMAP3_MPU_SOURCE)
- OMAP_SYS_TIMER(3_secure)
- #endif
- 
-@@ -354,7 +362,7 @@ static void __init omap4_timer_init(void)
- 	BUG_ON(!twd_base);
- #endif
- 	omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
--	omap2_gp_clocksource_init();
-+	omap2_gp_clocksource_init(2, OMAP4_MPU_SOURCE);
- }
- OMAP_SYS_TIMER(4)
- #endif
-diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
-index f7fed60..c13bc3d 100644
---- a/arch/arm/plat-omap/counter_32k.c
-+++ b/arch/arm/plat-omap/counter_32k.c
-@@ -126,7 +126,7 @@ static inline unsigned long long notrace _omap_32k_sched_clock(void)
- 	return cyc_to_fixed_sched_clock(&cd, cyc, (u32)~0, SC_MULT, SC_SHIFT);
- }
- 
--#ifndef CONFIG_OMAP_MPU_TIMER
-+#if defined(CONFIG_OMAP_32K_TIMER) && !defined(CONFIG_OMAP_MPU_TIMER)
- unsigned long long notrace sched_clock(void)
- {
- 	return _omap_32k_sched_clock();
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0015-omap2-Remove-omap2_gp_clockevent_set_gptimer.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0015-omap2-Remove-omap2_gp_clockevent_set_gptimer.patch
deleted file mode 100644
index 298f82d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0015-omap2-Remove-omap2_gp_clockevent_set_gptimer.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From e50befd53e52f2c72a26e33812ad896d5f8524fa Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:49 -0700
-Subject: [PATCH 015/149] omap2+: Remove omap2_gp_clockevent_set_gptimer
-
-This is no longer needed as we now just set the desired
-.timer in MACHINE_START. We can now also remove timer-gp.h.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Reviewed-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/board-4430sdp.c        |    4 ----
- arch/arm/mach-omap2/board-devkit8000.c     |    4 ----
- arch/arm/mach-omap2/board-omap3beagle.c    |    4 ----
- arch/arm/mach-omap2/board-omap3logic.c     |    1 -
- arch/arm/mach-omap2/board-omap3stalker.c   |    4 ----
- arch/arm/mach-omap2/board-omap3touchbook.c |    4 ----
- arch/arm/mach-omap2/board-omap4panda.c     |    1 -
- arch/arm/mach-omap2/timer-gp.c             |   26 --------------------------
- arch/arm/mach-omap2/timer-gp.h             |   16 ----------------
- 9 files changed, 0 insertions(+), 64 deletions(-)
- delete mode 100644 arch/arm/mach-omap2/timer-gp.h
-
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index e8caced..d7df07e 100644
---- a/arch/arm/mach-omap2/board-4430sdp.c
-+++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -40,7 +40,6 @@
- 
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "control.h"
- #include "common-board-devices.h"
- 
-@@ -295,9 +294,6 @@ static void __init omap_4430sdp_init_early(void)
- {
- 	omap2_init_common_infrastructure();
- 	omap2_init_common_devices(NULL, NULL);
--#ifdef CONFIG_OMAP_32K_TIMER
--	omap2_gp_clockevent_set_gptimer(1);
--#endif
- }
- 
- static struct omap_musb_board_data musb_board_data = {
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index 46d144d..949dbea 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -58,7 +58,6 @@
- 
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "common-board-devices.h"
- 
- #define OMAP_DM9000_GPIO_IRQ	25
-@@ -441,9 +440,6 @@ static void __init devkit8000_init_early(void)
- static void __init devkit8000_init_irq(void)
- {
- 	omap3_init_irq();
--#ifdef CONFIG_OMAP_32K_TIMER
--	omap2_gp_clockevent_set_gptimer(12);
--#endif
- }
- 
- #define OMAP_DM9000_BASE	0x2c000000
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 9ee16f6..2d8dfb3 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -50,7 +50,6 @@
- 
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "pm.h"
- #include "common-board-devices.h"
- 
-@@ -484,9 +483,6 @@ static void __init omap3_beagle_init_early(void)
- static void __init omap3_beagle_init_irq(void)
- {
- 	omap3_init_irq();
--#ifdef CONFIG_OMAP_32K_TIMER
--	omap2_gp_clockevent_set_gptimer(12);
--#endif
- }
- 
- static struct platform_device *omap3_beagle_devices[] __initdata = {
-diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
-index 469259a..703aeb5 100644
---- a/arch/arm/mach-omap2/board-omap3logic.c
-+++ b/arch/arm/mach-omap2/board-omap3logic.c
-@@ -35,7 +35,6 @@
- 
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "control.h"
- #include "common-board-devices.h"
- 
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index 2fa8fae..b8ad4dd 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -52,7 +52,6 @@
- #include "sdram-micron-mt46h32m32lf-6.h"
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "common-board-devices.h"
- 
- #if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
-@@ -492,9 +491,6 @@ static void __init omap3_stalker_init_early(void)
- static void __init omap3_stalker_init_irq(void)
- {
- 	omap3_init_irq();
--#ifdef CONFIG_OMAP_32K_TIMER
--	omap2_gp_clockevent_set_gptimer(12);
--#endif
- }
- 
- static struct platform_device *omap3_stalker_devices[] __initdata = {
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index 8c71fd2..57e6ed3 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -51,7 +51,6 @@
- 
- #include "mux.h"
- #include "hsmmc.h"
--#include "timer-gp.h"
- #include "common-board-devices.h"
- 
- #include <asm/setup.h>
-@@ -372,9 +371,6 @@ static void __init omap3_touchbook_init_early(void)
- static void __init omap3_touchbook_init_irq(void)
- {
- 	omap3_init_irq();
--#ifdef CONFIG_OMAP_32K_TIMER
--	omap2_gp_clockevent_set_gptimer(12);
--#endif
- }
- 
- static struct platform_device *omap3_touchbook_devices[] __initdata = {
-diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
-index dc1d6dc..ee2034e 100644
---- a/arch/arm/mach-omap2/board-omap4panda.c
-+++ b/arch/arm/mach-omap2/board-omap4panda.c
-@@ -41,7 +41,6 @@
- #include <plat/usb.h>
- #include <plat/mmc.h>
- #include <video/omap-panel-generic-dpi.h>
--#include "timer-gp.h"
- 
- #include "hsmmc.h"
- #include "control.h"
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index 2b8cb70..ab1931c 100644
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -43,8 +43,6 @@
- #include <plat/common.h>
- #include <plat/omap_hwmod.h>
- 
--#include "timer-gp.h"
--
- /* Parent clocks, eventually these will come from the clock framework */
- 
- #define OMAP2_MPU_SOURCE	"sys_ck"
-@@ -75,8 +73,6 @@ u32 sys_timer_reserved;
- 
- static struct omap_dm_timer clkev;
- static struct clock_event_device clockevent_gpt;
--static u8 __initdata gptimer_id = 1;
--static u8 __initdata inited;
- 
- static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
- {
-@@ -138,26 +134,6 @@ static struct clock_event_device clockevent_gpt = {
- 	.set_mode	= omap2_gp_timer_set_mode,
- };
- 
--/**
-- * omap2_gp_clockevent_set_gptimer - set which GPTIMER is used for clockevents
-- * @id: GPTIMER to use (1..MAX_GPTIMER_ID)
-- *
-- * Define the GPTIMER that the system should use for the tick timer.
-- * Meant to be called from board-*.c files in the event that GPTIMER1, the
-- * default, is unsuitable.  Returns -EINVAL on error or 0 on success.
-- */
--int __init omap2_gp_clockevent_set_gptimer(u8 id)
--{
--	if (id < 1 || id > MAX_GPTIMER_ID)
--		return -EINVAL;
--
--	BUG_ON(inited);
--
--	gptimer_id = id;
--
--	return 0;
--}
--
- static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
- 						int gptimer_id,
- 						const char *fck_source)
-@@ -228,8 +204,6 @@ static void __init omap2_gp_clockevent_init(int gptimer_id,
- {
- 	int res;
- 
--	inited = 1;
--
- 	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);
- 	BUG_ON(res);
- 
-diff --git a/arch/arm/mach-omap2/timer-gp.h b/arch/arm/mach-omap2/timer-gp.h
-deleted file mode 100644
-index 5c1072c..0000000
---- a/arch/arm/mach-omap2/timer-gp.h
-+++ /dev/null
-@@ -1,16 +0,0 @@
--/*
-- * OMAP2/3 GPTIMER support.headers
-- *
-- * Copyright (C) 2009 Nokia Corporation
-- *
-- * This file is subject to the terms and conditions of the GNU General Public
-- * License. See the file "COPYING" in the main directory of this archive
-- * for more details.
-- */
--
--#ifndef __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_TIMER_GP_H
--#define __ARCH_ARM_PLAT_OMAP_INCLUDE_MACH_TIMER_GP_H
--
--extern int __init omap2_gp_clockevent_set_gptimer(u8 id);
--
--#endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0016-omap2-Rename-timer-gp.c-into-timer.c-to-combine-time.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0016-omap2-Rename-timer-gp.c-into-timer.c-to-combine-time.patch
deleted file mode 100644
index c511aa9..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0016-omap2-Rename-timer-gp.c-into-timer.c-to-combine-time.patch
+++ /dev/null
@@ -1,737 +0,0 @@
-From 5cdb1497ccc5b9dae8795e1e5e9c74f11e4e7401 Mon Sep 17 00:00:00 2001
-From: Tony Lindgren <tony at atomide.com>
-Date: Tue, 29 Mar 2011 15:54:50 -0700
-Subject: [PATCH 016/149] omap2+: Rename timer-gp.c into timer.c to combine timer init functions
-
-We can keep everything sys_timer and gptimer.c related code in
-timer.c as the code will be very minimal.
-
-Later on we can also remove timer-mpu.c, as it can be called from
-omap4_timer_init function.
-
-This allows us to get rid of confusing existing files. We currently
-have timer-gp.c, timer-mpu.c, and patches have been posted to add
-dmtimer.c. There's no need to have these multiple files, we can
-put everything into timer.c.
-
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/Makefile   |    2 +-
- arch/arm/mach-omap2/timer-gp.c |  342 ----------------------------------------
- arch/arm/mach-omap2/timer.c    |  342 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 343 insertions(+), 343 deletions(-)
- delete mode 100644 arch/arm/mach-omap2/timer-gp.c
- create mode 100644 arch/arm/mach-omap2/timer.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index b148077..adbe82d 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -3,7 +3,7 @@
- #
- 
- # Common support
--obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer-gp.o pm.o \
-+obj-y := id.o io.o control.o mux.o devices.o serial.o gpmc.o timer.o pm.o \
- 	 common.o gpio.o dma.o wd_timer.o
- 
- omap-2-3-common				= irq.o sdrc.o
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-deleted file mode 100644
-index ab1931c..0000000
---- a/arch/arm/mach-omap2/timer-gp.c
-+++ /dev/null
-@@ -1,342 +0,0 @@
--/*
-- * linux/arch/arm/mach-omap2/timer-gp.c
-- *
-- * OMAP2 GP timer support.
-- *
-- * Copyright (C) 2009 Nokia Corporation
-- *
-- * Update to use new clocksource/clockevent layers
-- * Author: Kevin Hilman, MontaVista Software, Inc. <source at mvista.com>
-- * Copyright (C) 2007 MontaVista Software, Inc.
-- *
-- * Original driver:
-- * Copyright (C) 2005 Nokia Corporation
-- * Author: Paul Mundt <paul.mundt at nokia.com>
-- *         Juha Yrjölä <juha.yrjola at nokia.com>
-- * OMAP Dual-mode timer framework support by Timo Teras
-- *
-- * Some parts based off of TI's 24xx code:
-- *
-- * Copyright (C) 2004-2009 Texas Instruments, Inc.
-- *
-- * Roughly modelled after the OMAP1 MPU timer code.
-- * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar at ti.com>
-- *
-- * This file is subject to the terms and conditions of the GNU General Public
-- * License. See the file "COPYING" in the main directory of this archive
-- * for more details.
-- */
--#include <linux/init.h>
--#include <linux/time.h>
--#include <linux/interrupt.h>
--#include <linux/err.h>
--#include <linux/clk.h>
--#include <linux/delay.h>
--#include <linux/irq.h>
--#include <linux/clocksource.h>
--#include <linux/clockchips.h>
--
--#include <asm/mach/time.h>
--#include <plat/dmtimer.h>
--#include <asm/localtimer.h>
--#include <asm/sched_clock.h>
--#include <plat/common.h>
--#include <plat/omap_hwmod.h>
--
--/* Parent clocks, eventually these will come from the clock framework */
--
--#define OMAP2_MPU_SOURCE	"sys_ck"
--#define OMAP3_MPU_SOURCE	OMAP2_MPU_SOURCE
--#define OMAP4_MPU_SOURCE	"sys_clkin_ck"
--#define OMAP2_32K_SOURCE	"func_32k_ck"
--#define OMAP3_32K_SOURCE	"omap_32k_fck"
--#define OMAP4_32K_SOURCE	"sys_32k_ck"
--
--#ifdef CONFIG_OMAP_32K_TIMER
--#define OMAP2_CLKEV_SOURCE	OMAP2_32K_SOURCE
--#define OMAP3_CLKEV_SOURCE	OMAP3_32K_SOURCE
--#define OMAP4_CLKEV_SOURCE	OMAP4_32K_SOURCE
--#define OMAP3_SECURE_TIMER	12
--#else
--#define OMAP2_CLKEV_SOURCE	OMAP2_MPU_SOURCE
--#define OMAP3_CLKEV_SOURCE	OMAP3_MPU_SOURCE
--#define OMAP4_CLKEV_SOURCE	OMAP4_MPU_SOURCE
--#define OMAP3_SECURE_TIMER	1
--#endif
--
--/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
--#define MAX_GPTIMER_ID		12
--
--u32 sys_timer_reserved;
--
--/* Clockevent code */
--
--static struct omap_dm_timer clkev;
--static struct clock_event_device clockevent_gpt;
--
--static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
--{
--	struct clock_event_device *evt = &clockevent_gpt;
--
--	__omap_dm_timer_write_status(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
--
--	evt->event_handler(evt);
--	return IRQ_HANDLED;
--}
--
--static struct irqaction omap2_gp_timer_irq = {
--	.name		= "gp timer",
--	.flags		= IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
--	.handler	= omap2_gp_timer_interrupt,
--};
--
--static int omap2_gp_timer_set_next_event(unsigned long cycles,
--					 struct clock_event_device *evt)
--{
--	__omap_dm_timer_load_start(clkev.io_base, OMAP_TIMER_CTRL_ST,
--						0xffffffff - cycles, 1);
--
--	return 0;
--}
--
--static void omap2_gp_timer_set_mode(enum clock_event_mode mode,
--				    struct clock_event_device *evt)
--{
--	u32 period;
--
--	__omap_dm_timer_stop(clkev.io_base, 1, clkev.rate);
--
--	switch (mode) {
--	case CLOCK_EVT_MODE_PERIODIC:
--		period = clkev.rate / HZ;
--		period -= 1;
--		/* Looks like we need to first set the load value separately */
--		__omap_dm_timer_write(clkev.io_base, OMAP_TIMER_LOAD_REG,
--					0xffffffff - period, 1);
--		__omap_dm_timer_load_start(clkev.io_base,
--					OMAP_TIMER_CTRL_AR | OMAP_TIMER_CTRL_ST,
--						0xffffffff - period, 1);
--		break;
--	case CLOCK_EVT_MODE_ONESHOT:
--		break;
--	case CLOCK_EVT_MODE_UNUSED:
--	case CLOCK_EVT_MODE_SHUTDOWN:
--	case CLOCK_EVT_MODE_RESUME:
--		break;
--	}
--}
--
--static struct clock_event_device clockevent_gpt = {
--	.name		= "gp timer",
--	.features       = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
--	.shift		= 32,
--	.set_next_event	= omap2_gp_timer_set_next_event,
--	.set_mode	= omap2_gp_timer_set_mode,
--};
--
--static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
--						int gptimer_id,
--						const char *fck_source)
--{
--	char name[10]; /* 10 = sizeof("gptXX_Xck0") */
--	struct omap_hwmod *oh;
--	size_t size;
--	int res = 0;
--
--	sprintf(name, "timer%d", gptimer_id);
--	omap_hwmod_setup_one(name);
--	oh = omap_hwmod_lookup(name);
--	if (!oh)
--		return -ENODEV;
--
--	timer->irq = oh->mpu_irqs[0].irq;
--	timer->phys_base = oh->slaves[0]->addr->pa_start;
--	size = oh->slaves[0]->addr->pa_end - timer->phys_base;
--
--	/* Static mapping, never released */
--	timer->io_base = ioremap(timer->phys_base, size);
--	if (!timer->io_base)
--		return -ENXIO;
--
--	/* After the dmtimer is using hwmod these clocks won't be needed */
--	sprintf(name, "gpt%d_fck", gptimer_id);
--	timer->fclk = clk_get(NULL, name);
--	if (IS_ERR(timer->fclk))
--		return -ENODEV;
--
--	sprintf(name, "gpt%d_ick", gptimer_id);
--	timer->iclk = clk_get(NULL, name);
--	if (IS_ERR(timer->iclk)) {
--		clk_put(timer->fclk);
--		return -ENODEV;
--	}
--
--	omap_hwmod_enable(oh);
--
--	sys_timer_reserved |= (1 << (gptimer_id - 1));
--
--	if (gptimer_id != 12) {
--		struct clk *src;
--
--		src = clk_get(NULL, fck_source);
--		if (IS_ERR(src)) {
--			res = -EINVAL;
--		} else {
--			res = __omap_dm_timer_set_source(timer->fclk, src);
--			if (IS_ERR_VALUE(res))
--				pr_warning("%s: timer%i cannot set source\n",
--						__func__, gptimer_id);
--			clk_put(src);
--		}
--	}
--	__omap_dm_timer_reset(timer->io_base, 1, 1);
--	timer->posted = 1;
--
--	timer->rate = clk_get_rate(timer->fclk);
--
--	timer->reserved = 1;
--
--	return res;
--}
--
--static void __init omap2_gp_clockevent_init(int gptimer_id,
--						const char *fck_source)
--{
--	int res;
--
--	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);
--	BUG_ON(res);
--
--	omap2_gp_timer_irq.dev_id = (void *)&clkev;
--	setup_irq(clkev.irq, &omap2_gp_timer_irq);
--
--	__omap_dm_timer_int_enable(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
--
--	clockevent_gpt.mult = div_sc(clkev.rate, NSEC_PER_SEC,
--				     clockevent_gpt.shift);
--	clockevent_gpt.max_delta_ns =
--		clockevent_delta2ns(0xffffffff, &clockevent_gpt);
--	clockevent_gpt.min_delta_ns =
--		clockevent_delta2ns(3, &clockevent_gpt);
--		/* Timer internal resynch latency. */
--
--	clockevent_gpt.cpumask = cpumask_of(0);
--	clockevents_register_device(&clockevent_gpt);
--
--	pr_info("OMAP clockevent source: GPTIMER%d at %lu Hz\n",
--		gptimer_id, clkev.rate);
--}
--
--/* Clocksource code */
--
--#ifdef CONFIG_OMAP_32K_TIMER
--/* 
-- * When 32k-timer is enabled, don't use GPTimer for clocksource
-- * instead, just leave default clocksource which uses the 32k
-- * sync counter.  See clocksource setup in plat-omap/counter_32k.c
-- */
--
--static void __init omap2_gp_clocksource_init(int unused, const char *dummy)
--{
--	omap_init_clocksource_32k();
--}
--
--#else
--
--static struct omap_dm_timer clksrc;
--
--/*
-- * clocksource
-- */
--static DEFINE_CLOCK_DATA(cd);
--static cycle_t clocksource_read_cycles(struct clocksource *cs)
--{
--	return (cycle_t)__omap_dm_timer_read_counter(clksrc.io_base, 1);
--}
--
--static struct clocksource clocksource_gpt = {
--	.name		= "gp timer",
--	.rating		= 300,
--	.read		= clocksource_read_cycles,
--	.mask		= CLOCKSOURCE_MASK(32),
--	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
--};
--
--static void notrace dmtimer_update_sched_clock(void)
--{
--	u32 cyc;
--
--	cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
--
--	update_sched_clock(&cd, cyc, (u32)~0);
--}
--
--unsigned long long notrace sched_clock(void)
--{
--	u32 cyc = 0;
--
--	if (clksrc.reserved)
--		cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
--
--	return cyc_to_sched_clock(&cd, cyc, (u32)~0);
--}
--
--/* Setup free-running counter for clocksource */
--static void __init omap2_gp_clocksource_init(int gptimer_id,
--						const char *fck_source)
--{
--	int res;
--
--	res = omap_dm_timer_init_one(&clksrc, gptimer_id, fck_source);
--	BUG_ON(res);
--
--	pr_info("OMAP clocksource: GPTIMER%d at %lu Hz\n",
--		gptimer_id, clksrc.rate);
--
--	__omap_dm_timer_load_start(clksrc.io_base, OMAP_TIMER_CTRL_ST, 0, 1);
--	init_sched_clock(&cd, dmtimer_update_sched_clock, 32, clksrc.rate);
--
--	if (clocksource_register_hz(&clocksource_gpt, clksrc.rate))
--		pr_err("Could not register clocksource %s\n",
--			clocksource_gpt.name);
--}
--#endif
--
--#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src,			\
--				clksrc_nr, clksrc_src)			\
--static void __init omap##name##_timer_init(void)			\
--{									\
--	omap2_gp_clockevent_init((clkev_nr), clkev_src);		\
--	omap2_gp_clocksource_init((clksrc_nr), clksrc_src);		\
--}
--
--#define OMAP_SYS_TIMER(name)						\
--struct sys_timer omap##name##_timer = {					\
--	.init	= omap##name##_timer_init,				\
--};
--
--#ifdef CONFIG_ARCH_OMAP2
--OMAP_SYS_TIMER_INIT(2, 1, OMAP2_CLKEV_SOURCE, 2, OMAP2_MPU_SOURCE)
--OMAP_SYS_TIMER(2)
--#endif
--
--#ifdef CONFIG_ARCH_OMAP3
--OMAP_SYS_TIMER_INIT(3, 1, OMAP3_CLKEV_SOURCE, 2, OMAP3_MPU_SOURCE)
--OMAP_SYS_TIMER(3)
--OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE,
--			2, OMAP3_MPU_SOURCE)
--OMAP_SYS_TIMER(3_secure)
--#endif
--
--#ifdef CONFIG_ARCH_OMAP4
--static void __init omap4_timer_init(void)
--{
--#ifdef CONFIG_LOCAL_TIMERS
--	twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
--	BUG_ON(!twd_base);
--#endif
--	omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
--	omap2_gp_clocksource_init(2, OMAP4_MPU_SOURCE);
--}
--OMAP_SYS_TIMER(4)
--#endif
-diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c
-new file mode 100644
-index 0000000..e964072
---- /dev/null
-+++ b/arch/arm/mach-omap2/timer.c
-@@ -0,0 +1,342 @@
-+/*
-+ * linux/arch/arm/mach-omap2/timer.c
-+ *
-+ * OMAP2 GP timer support.
-+ *
-+ * Copyright (C) 2009 Nokia Corporation
-+ *
-+ * Update to use new clocksource/clockevent layers
-+ * Author: Kevin Hilman, MontaVista Software, Inc. <source at mvista.com>
-+ * Copyright (C) 2007 MontaVista Software, Inc.
-+ *
-+ * Original driver:
-+ * Copyright (C) 2005 Nokia Corporation
-+ * Author: Paul Mundt <paul.mundt at nokia.com>
-+ *         Juha Yrjölä <juha.yrjola at nokia.com>
-+ * OMAP Dual-mode timer framework support by Timo Teras
-+ *
-+ * Some parts based off of TI's 24xx code:
-+ *
-+ * Copyright (C) 2004-2009 Texas Instruments, Inc.
-+ *
-+ * Roughly modelled after the OMAP1 MPU timer code.
-+ * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar at ti.com>
-+ *
-+ * This file is subject to the terms and conditions of the GNU General Public
-+ * License. See the file "COPYING" in the main directory of this archive
-+ * for more details.
-+ */
-+#include <linux/init.h>
-+#include <linux/time.h>
-+#include <linux/interrupt.h>
-+#include <linux/err.h>
-+#include <linux/clk.h>
-+#include <linux/delay.h>
-+#include <linux/irq.h>
-+#include <linux/clocksource.h>
-+#include <linux/clockchips.h>
-+
-+#include <asm/mach/time.h>
-+#include <plat/dmtimer.h>
-+#include <asm/localtimer.h>
-+#include <asm/sched_clock.h>
-+#include <plat/common.h>
-+#include <plat/omap_hwmod.h>
-+
-+/* Parent clocks, eventually these will come from the clock framework */
-+
-+#define OMAP2_MPU_SOURCE	"sys_ck"
-+#define OMAP3_MPU_SOURCE	OMAP2_MPU_SOURCE
-+#define OMAP4_MPU_SOURCE	"sys_clkin_ck"
-+#define OMAP2_32K_SOURCE	"func_32k_ck"
-+#define OMAP3_32K_SOURCE	"omap_32k_fck"
-+#define OMAP4_32K_SOURCE	"sys_32k_ck"
-+
-+#ifdef CONFIG_OMAP_32K_TIMER
-+#define OMAP2_CLKEV_SOURCE	OMAP2_32K_SOURCE
-+#define OMAP3_CLKEV_SOURCE	OMAP3_32K_SOURCE
-+#define OMAP4_CLKEV_SOURCE	OMAP4_32K_SOURCE
-+#define OMAP3_SECURE_TIMER	12
-+#else
-+#define OMAP2_CLKEV_SOURCE	OMAP2_MPU_SOURCE
-+#define OMAP3_CLKEV_SOURCE	OMAP3_MPU_SOURCE
-+#define OMAP4_CLKEV_SOURCE	OMAP4_MPU_SOURCE
-+#define OMAP3_SECURE_TIMER	1
-+#endif
-+
-+/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
-+#define MAX_GPTIMER_ID		12
-+
-+u32 sys_timer_reserved;
-+
-+/* Clockevent code */
-+
-+static struct omap_dm_timer clkev;
-+static struct clock_event_device clockevent_gpt;
-+
-+static irqreturn_t omap2_gp_timer_interrupt(int irq, void *dev_id)
-+{
-+	struct clock_event_device *evt = &clockevent_gpt;
-+
-+	__omap_dm_timer_write_status(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
-+
-+	evt->event_handler(evt);
-+	return IRQ_HANDLED;
-+}
-+
-+static struct irqaction omap2_gp_timer_irq = {
-+	.name		= "gp timer",
-+	.flags		= IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
-+	.handler	= omap2_gp_timer_interrupt,
-+};
-+
-+static int omap2_gp_timer_set_next_event(unsigned long cycles,
-+					 struct clock_event_device *evt)
-+{
-+	__omap_dm_timer_load_start(clkev.io_base, OMAP_TIMER_CTRL_ST,
-+						0xffffffff - cycles, 1);
-+
-+	return 0;
-+}
-+
-+static void omap2_gp_timer_set_mode(enum clock_event_mode mode,
-+				    struct clock_event_device *evt)
-+{
-+	u32 period;
-+
-+	__omap_dm_timer_stop(clkev.io_base, 1, clkev.rate);
-+
-+	switch (mode) {
-+	case CLOCK_EVT_MODE_PERIODIC:
-+		period = clkev.rate / HZ;
-+		period -= 1;
-+		/* Looks like we need to first set the load value separately */
-+		__omap_dm_timer_write(clkev.io_base, OMAP_TIMER_LOAD_REG,
-+					0xffffffff - period, 1);
-+		__omap_dm_timer_load_start(clkev.io_base,
-+					OMAP_TIMER_CTRL_AR | OMAP_TIMER_CTRL_ST,
-+						0xffffffff - period, 1);
-+		break;
-+	case CLOCK_EVT_MODE_ONESHOT:
-+		break;
-+	case CLOCK_EVT_MODE_UNUSED:
-+	case CLOCK_EVT_MODE_SHUTDOWN:
-+	case CLOCK_EVT_MODE_RESUME:
-+		break;
-+	}
-+}
-+
-+static struct clock_event_device clockevent_gpt = {
-+	.name		= "gp timer",
-+	.features       = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
-+	.shift		= 32,
-+	.set_next_event	= omap2_gp_timer_set_next_event,
-+	.set_mode	= omap2_gp_timer_set_mode,
-+};
-+
-+static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
-+						int gptimer_id,
-+						const char *fck_source)
-+{
-+	char name[10]; /* 10 = sizeof("gptXX_Xck0") */
-+	struct omap_hwmod *oh;
-+	size_t size;
-+	int res = 0;
-+
-+	sprintf(name, "timer%d", gptimer_id);
-+	omap_hwmod_setup_one(name);
-+	oh = omap_hwmod_lookup(name);
-+	if (!oh)
-+		return -ENODEV;
-+
-+	timer->irq = oh->mpu_irqs[0].irq;
-+	timer->phys_base = oh->slaves[0]->addr->pa_start;
-+	size = oh->slaves[0]->addr->pa_end - timer->phys_base;
-+
-+	/* Static mapping, never released */
-+	timer->io_base = ioremap(timer->phys_base, size);
-+	if (!timer->io_base)
-+		return -ENXIO;
-+
-+	/* After the dmtimer is using hwmod these clocks won't be needed */
-+	sprintf(name, "gpt%d_fck", gptimer_id);
-+	timer->fclk = clk_get(NULL, name);
-+	if (IS_ERR(timer->fclk))
-+		return -ENODEV;
-+
-+	sprintf(name, "gpt%d_ick", gptimer_id);
-+	timer->iclk = clk_get(NULL, name);
-+	if (IS_ERR(timer->iclk)) {
-+		clk_put(timer->fclk);
-+		return -ENODEV;
-+	}
-+
-+	omap_hwmod_enable(oh);
-+
-+	sys_timer_reserved |= (1 << (gptimer_id - 1));
-+
-+	if (gptimer_id != 12) {
-+		struct clk *src;
-+
-+		src = clk_get(NULL, fck_source);
-+		if (IS_ERR(src)) {
-+			res = -EINVAL;
-+		} else {
-+			res = __omap_dm_timer_set_source(timer->fclk, src);
-+			if (IS_ERR_VALUE(res))
-+				pr_warning("%s: timer%i cannot set source\n",
-+						__func__, gptimer_id);
-+			clk_put(src);
-+		}
-+	}
-+	__omap_dm_timer_reset(timer->io_base, 1, 1);
-+	timer->posted = 1;
-+
-+	timer->rate = clk_get_rate(timer->fclk);
-+
-+	timer->reserved = 1;
-+
-+	return res;
-+}
-+
-+static void __init omap2_gp_clockevent_init(int gptimer_id,
-+						const char *fck_source)
-+{
-+	int res;
-+
-+	res = omap_dm_timer_init_one(&clkev, gptimer_id, fck_source);
-+	BUG_ON(res);
-+
-+	omap2_gp_timer_irq.dev_id = (void *)&clkev;
-+	setup_irq(clkev.irq, &omap2_gp_timer_irq);
-+
-+	__omap_dm_timer_int_enable(clkev.io_base, OMAP_TIMER_INT_OVERFLOW);
-+
-+	clockevent_gpt.mult = div_sc(clkev.rate, NSEC_PER_SEC,
-+				     clockevent_gpt.shift);
-+	clockevent_gpt.max_delta_ns =
-+		clockevent_delta2ns(0xffffffff, &clockevent_gpt);
-+	clockevent_gpt.min_delta_ns =
-+		clockevent_delta2ns(3, &clockevent_gpt);
-+		/* Timer internal resynch latency. */
-+
-+	clockevent_gpt.cpumask = cpumask_of(0);
-+	clockevents_register_device(&clockevent_gpt);
-+
-+	pr_info("OMAP clockevent source: GPTIMER%d at %lu Hz\n",
-+		gptimer_id, clkev.rate);
-+}
-+
-+/* Clocksource code */
-+
-+#ifdef CONFIG_OMAP_32K_TIMER
-+/*
-+ * When 32k-timer is enabled, don't use GPTimer for clocksource
-+ * instead, just leave default clocksource which uses the 32k
-+ * sync counter.  See clocksource setup in plat-omap/counter_32k.c
-+ */
-+
-+static void __init omap2_gp_clocksource_init(int unused, const char *dummy)
-+{
-+	omap_init_clocksource_32k();
-+}
-+
-+#else
-+
-+static struct omap_dm_timer clksrc;
-+
-+/*
-+ * clocksource
-+ */
-+static DEFINE_CLOCK_DATA(cd);
-+static cycle_t clocksource_read_cycles(struct clocksource *cs)
-+{
-+	return (cycle_t)__omap_dm_timer_read_counter(clksrc.io_base, 1);
-+}
-+
-+static struct clocksource clocksource_gpt = {
-+	.name		= "gp timer",
-+	.rating		= 300,
-+	.read		= clocksource_read_cycles,
-+	.mask		= CLOCKSOURCE_MASK(32),
-+	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
-+};
-+
-+static void notrace dmtimer_update_sched_clock(void)
-+{
-+	u32 cyc;
-+
-+	cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
-+
-+	update_sched_clock(&cd, cyc, (u32)~0);
-+}
-+
-+unsigned long long notrace sched_clock(void)
-+{
-+	u32 cyc = 0;
-+
-+	if (clksrc.reserved)
-+		cyc = __omap_dm_timer_read_counter(clksrc.io_base, 1);
-+
-+	return cyc_to_sched_clock(&cd, cyc, (u32)~0);
-+}
-+
-+/* Setup free-running counter for clocksource */
-+static void __init omap2_gp_clocksource_init(int gptimer_id,
-+						const char *fck_source)
-+{
-+	int res;
-+
-+	res = omap_dm_timer_init_one(&clksrc, gptimer_id, fck_source);
-+	BUG_ON(res);
-+
-+	pr_info("OMAP clocksource: GPTIMER%d at %lu Hz\n",
-+		gptimer_id, clksrc.rate);
-+
-+	__omap_dm_timer_load_start(clksrc.io_base, OMAP_TIMER_CTRL_ST, 0, 1);
-+	init_sched_clock(&cd, dmtimer_update_sched_clock, 32, clksrc.rate);
-+
-+	if (clocksource_register_hz(&clocksource_gpt, clksrc.rate))
-+		pr_err("Could not register clocksource %s\n",
-+			clocksource_gpt.name);
-+}
-+#endif
-+
-+#define OMAP_SYS_TIMER_INIT(name, clkev_nr, clkev_src,			\
-+				clksrc_nr, clksrc_src)			\
-+static void __init omap##name##_timer_init(void)			\
-+{									\
-+	omap2_gp_clockevent_init((clkev_nr), clkev_src);		\
-+	omap2_gp_clocksource_init((clksrc_nr), clksrc_src);		\
-+}
-+
-+#define OMAP_SYS_TIMER(name)						\
-+struct sys_timer omap##name##_timer = {					\
-+	.init	= omap##name##_timer_init,				\
-+};
-+
-+#ifdef CONFIG_ARCH_OMAP2
-+OMAP_SYS_TIMER_INIT(2, 1, OMAP2_CLKEV_SOURCE, 2, OMAP2_MPU_SOURCE)
-+OMAP_SYS_TIMER(2)
-+#endif
-+
-+#ifdef CONFIG_ARCH_OMAP3
-+OMAP_SYS_TIMER_INIT(3, 1, OMAP3_CLKEV_SOURCE, 2, OMAP3_MPU_SOURCE)
-+OMAP_SYS_TIMER(3)
-+OMAP_SYS_TIMER_INIT(3_secure, OMAP3_SECURE_TIMER, OMAP3_CLKEV_SOURCE,
-+			2, OMAP3_MPU_SOURCE)
-+OMAP_SYS_TIMER(3_secure)
-+#endif
-+
-+#ifdef CONFIG_ARCH_OMAP4
-+static void __init omap4_timer_init(void)
-+{
-+#ifdef CONFIG_LOCAL_TIMERS
-+	twd_base = ioremap(OMAP44XX_LOCAL_TWD_BASE, SZ_256);
-+	BUG_ON(!twd_base);
-+#endif
-+	omap2_gp_clockevent_init(1, OMAP4_CLKEV_SOURCE);
-+	omap2_gp_clocksource_init(2, OMAP4_MPU_SOURCE);
-+}
-+OMAP_SYS_TIMER(4)
-+#endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0017-omap-cleanup-NAND-platform-data.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0017-omap-cleanup-NAND-platform-data.patch
deleted file mode 100644
index 792d76a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0017-omap-cleanup-NAND-platform-data.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From a72eaf768c2f553f72e7afc0b1c52661b2913022 Mon Sep 17 00:00:00 2001
-From: Grazvydas Ignotas <notasas at gmail.com>
-Date: Fri, 3 Jun 2011 19:56:33 +0000
-Subject: [PATCH 017/149] omap: cleanup NAND platform data
-
-omap_nand_platform_data fields 'options', 'gpio_irq', 'nand_setup' and
-'dma_channel' are never referenced by the NAND driver, yet various
-board files are initializing those fields. This is both incorrect and
-confusing, so remove them. This allows to get rid of a global
-variable in gpmc-nand.c.
-
-This also corrects an issue where some boards are trying to pass NAND
-16bit flag through .options, but the driver is using .devsize instead
-and ignoring .options.
-
-Finally, .dev_ready is treated as a flag by the driver, so make it bool
-instead of a function pointer.
-
-Signed-off-by: Grazvydas Ignotas <notasas at gmail.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-cm-t35.c         |    2 --
- arch/arm/mach-omap2/board-cm-t3517.c       |    1 -
- arch/arm/mach-omap2/board-flash.c          |    4 ----
- arch/arm/mach-omap2/common-board-devices.c |    6 ++----
- arch/arm/mach-omap2/gpmc-nand.c            |   10 +++-------
- arch/arm/plat-omap/include/plat/nand.h     |    6 +-----
- 6 files changed, 6 insertions(+), 23 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index 1a18d3b..d76dca7 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -162,9 +162,7 @@ static struct mtd_partition cm_t35_nand_partitions[] = {
- static struct omap_nand_platform_data cm_t35_nand_data = {
- 	.parts			= cm_t35_nand_partitions,
- 	.nr_parts		= ARRAY_SIZE(cm_t35_nand_partitions),
--	.dma_channel		= -1,	/* disable DMA in OMAP NAND driver */
- 	.cs			= 0,
--
- };
- 
- static void __init cm_t35_init_nand(void)
-diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c
-index aa67240..05c72f4 100644
---- a/arch/arm/mach-omap2/board-cm-t3517.c
-+++ b/arch/arm/mach-omap2/board-cm-t3517.c
-@@ -236,7 +236,6 @@ static struct mtd_partition cm_t3517_nand_partitions[] = {
- static struct omap_nand_platform_data cm_t3517_nand_data = {
- 	.parts			= cm_t3517_nand_partitions,
- 	.nr_parts		= ARRAY_SIZE(cm_t3517_nand_partitions),
--	.dma_channel		= -1,	/* disable DMA in OMAP NAND driver */
- 	.cs			= 0,
- };
- 
-diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c
-index 729892f..aa1b0cb 100644
---- a/arch/arm/mach-omap2/board-flash.c
-+++ b/arch/arm/mach-omap2/board-flash.c
-@@ -132,11 +132,7 @@ static struct gpmc_timings nand_timings = {
- };
- 
- static struct omap_nand_platform_data board_nand_data = {
--	.nand_setup	= NULL,
- 	.gpmc_t		= &nand_timings,
--	.dma_channel	= -1,		/* disable DMA in OMAP NAND driver */
--	.dev_ready	= NULL,
--	.devsize	= 0,	/* '0' for 8-bit, '1' for 16-bit device */
- };
- 
- void
-diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c
-index 94ccf46..0043fa8 100644
---- a/arch/arm/mach-omap2/common-board-devices.c
-+++ b/arch/arm/mach-omap2/common-board-devices.c
-@@ -115,9 +115,7 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
- #endif
- 
- #if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE)
--static struct omap_nand_platform_data nand_data = {
--	.dma_channel	= -1,		/* disable DMA in OMAP NAND driver */
--};
-+static struct omap_nand_platform_data nand_data;
- 
- void __init omap_nand_flash_init(int options, struct mtd_partition *parts,
- 				 int nr_parts)
-@@ -148,7 +146,7 @@ void __init omap_nand_flash_init(int options, struct mtd_partition *parts,
- 		nand_data.cs = nandcs;
- 		nand_data.parts = parts;
- 		nand_data.nr_parts = nr_parts;
--		nand_data.options = options;
-+		nand_data.devsize = options;
- 
- 		printk(KERN_INFO "Registering NAND on CS%d\n", nandcs);
- 		if (gpmc_nand_init(&nand_data) < 0)
-diff --git a/arch/arm/mach-omap2/gpmc-nand.c b/arch/arm/mach-omap2/gpmc-nand.c
-index c1791d0..8ad210b 100644
---- a/arch/arm/mach-omap2/gpmc-nand.c
-+++ b/arch/arm/mach-omap2/gpmc-nand.c
-@@ -20,8 +20,6 @@
- #include <plat/board.h>
- #include <plat/gpmc.h>
- 
--static struct omap_nand_platform_data *gpmc_nand_data;
--
- static struct resource gpmc_nand_resource = {
- 	.flags		= IORESOURCE_MEM,
- };
-@@ -33,7 +31,7 @@ static struct platform_device gpmc_nand_device = {
- 	.resource	= &gpmc_nand_resource,
- };
- 
--static int omap2_nand_gpmc_retime(void)
-+static int omap2_nand_gpmc_retime(struct omap_nand_platform_data *gpmc_nand_data)
- {
- 	struct gpmc_timings t;
- 	int err;
-@@ -83,13 +81,11 @@ static int omap2_nand_gpmc_retime(void)
- 	return 0;
- }
- 
--int __init gpmc_nand_init(struct omap_nand_platform_data *_nand_data)
-+int __init gpmc_nand_init(struct omap_nand_platform_data *gpmc_nand_data)
- {
- 	int err	= 0;
- 	struct device *dev = &gpmc_nand_device.dev;
- 
--	gpmc_nand_data = _nand_data;
--	gpmc_nand_data->nand_setup = omap2_nand_gpmc_retime;
- 	gpmc_nand_device.dev.platform_data = gpmc_nand_data;
- 
- 	err = gpmc_cs_request(gpmc_nand_data->cs, NAND_IO_SIZE,
-@@ -100,7 +96,7 @@ int __init gpmc_nand_init(struct omap_nand_platform_data *_nand_data)
- 	}
- 
- 	 /* Set timings in GPMC */
--	err = omap2_nand_gpmc_retime();
-+	err = omap2_nand_gpmc_retime(gpmc_nand_data);
- 	if (err < 0) {
- 		dev_err(dev, "Unable to set gpmc timings: %d\n", err);
- 		return err;
-diff --git a/arch/arm/plat-omap/include/plat/nand.h b/arch/arm/plat-omap/include/plat/nand.h
-index d86d1ec..67fc506 100644
---- a/arch/arm/plat-omap/include/plat/nand.h
-+++ b/arch/arm/plat-omap/include/plat/nand.h
-@@ -19,15 +19,11 @@ enum nand_io {
- };
- 
- struct omap_nand_platform_data {
--	unsigned int		options;
- 	int			cs;
--	int			gpio_irq;
- 	struct mtd_partition	*parts;
- 	struct gpmc_timings	*gpmc_t;
- 	int			nr_parts;
--	int			(*nand_setup)(void);
--	int			(*dev_ready)(struct omap_nand_platform_data *);
--	int			dma_channel;
-+	bool			dev_ready;
- 	int			gpmc_irq;
- 	enum nand_io		xfer_type;
- 	unsigned long		phys_base;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0018-omap-board-omap3evm-Fix-compilation-error.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0018-omap-board-omap3evm-Fix-compilation-error.patch
deleted file mode 100644
index aa9cc6e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0018-omap-board-omap3evm-Fix-compilation-error.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3e0e5636effabe150374f2a212974f1e954be5b2 Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Tue, 28 Jun 2011 10:16:55 +0000
-Subject: [PATCH 018/149] omap: board-omap3evm: Fix compilation error
-
-Fix compilation error introduced with 786b01a8c1db0c0decca55d660a2a3ebd7cfb26b
-(cleanup regulator supply definitions in mach-omap2).
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-[tony at atomide.com: updated comments]
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-omap3evm.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index 6f957ed..57bce0f 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -510,7 +510,7 @@ static struct regulator_init_data omap3evm_vio = {
- #define OMAP3EVM_WLAN_IRQ_GPIO		(149)
- 
- static struct regulator_consumer_supply omap3evm_vmmc2_supply[] = {
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1");
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
- };
- 
- /* VMMC2 for driving the WL12xx module */
-@@ -518,7 +518,7 @@ static struct regulator_init_data omap3evm_vmmc2 = {
- 	.constraints = {
- 		.valid_ops_mask	= REGULATOR_CHANGE_STATUS,
- 	},
--	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vmmc2_supply);,
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3evm_vmmc2_supply),
- 	.consumer_supplies	= omap3evm_vmmc2_supply,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0019-omap-mcbsp-Drop-SPI-mode-support.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0019-omap-mcbsp-Drop-SPI-mode-support.patch
deleted file mode 100644
index b233473..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0019-omap-mcbsp-Drop-SPI-mode-support.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-From 20f244f6b795ee54f053eee5a5e0f9313a13e403 Mon Sep 17 00:00:00 2001
-From: Jarkko Nikula <jhnikula at gmail.com>
-Date: Tue, 14 Jun 2011 11:23:51 +0000
-Subject: [PATCH 019/149] omap: mcbsp: Drop SPI mode support
-
-We haven't seen any use for the SPI API in McBSP driver over the years. More
-over, Peter Ujfalusi <peter.ujfalusi at ti.com> noticed that SPI mode is not
-even supported since OMAP2430 so it's very unlikely that we'll see any use
-for it in the future either.
-
-Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
-Acked-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/plat-omap/include/plat/mcbsp.h |   37 ------
- arch/arm/plat-omap/mcbsp.c              |  214 -------------------------------
- 2 files changed, 0 insertions(+), 251 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
-index f8f690a..3fc75a8 100644
---- a/arch/arm/plat-omap/include/plat/mcbsp.h
-+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
-@@ -353,38 +353,6 @@ typedef enum {
- 	OMAP_MCBSP_WORD_32,
- } omap_mcbsp_word_length;
- 
--typedef enum {
--	OMAP_MCBSP_CLK_RISING = 0,
--	OMAP_MCBSP_CLK_FALLING,
--} omap_mcbsp_clk_polarity;
--
--typedef enum {
--	OMAP_MCBSP_FS_ACTIVE_HIGH = 0,
--	OMAP_MCBSP_FS_ACTIVE_LOW,
--} omap_mcbsp_fs_polarity;
--
--typedef enum {
--	OMAP_MCBSP_CLK_STP_MODE_NO_DELAY = 0,
--	OMAP_MCBSP_CLK_STP_MODE_DELAY,
--} omap_mcbsp_clk_stp_mode;
--
--
--/******* SPI specific mode **********/
--typedef enum {
--	OMAP_MCBSP_SPI_MASTER = 0,
--	OMAP_MCBSP_SPI_SLAVE,
--} omap_mcbsp_spi_mode;
--
--struct omap_mcbsp_spi_cfg {
--	omap_mcbsp_spi_mode		spi_mode;
--	omap_mcbsp_clk_polarity		rx_clock_polarity;
--	omap_mcbsp_clk_polarity		tx_clock_polarity;
--	omap_mcbsp_fs_polarity		fsx_polarity;
--	u8				clk_div;
--	omap_mcbsp_clk_stp_mode		clk_stp_mode;
--	omap_mcbsp_word_length		word_length;
--};
--
- /* Platform specific configuration */
- struct omap_mcbsp_ops {
- 	void (*request)(unsigned int);
-@@ -504,14 +472,9 @@ u32 omap_mcbsp_recv_word(unsigned int id);
- 
- int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer, unsigned int length);
- int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer, unsigned int length);
--int omap_mcbsp_spi_master_xmit_word_poll(unsigned int id, u32 word);
--int omap_mcbsp_spi_master_recv_word_poll(unsigned int id, u32 * word);
--
- 
- /* McBSP functional clock source changing function */
- extern int omap2_mcbsp_set_clks_src(u8 id, u8 fck_src_id);
--/* SPI specific API */
--void omap_mcbsp_set_spi_mode(unsigned int id, const struct omap_mcbsp_spi_cfg * spi_cfg);
- 
- /* Polled read/write functions */
- int omap_mcbsp_pollread(unsigned int id, u16 * buf);
-diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
-index 5587acf..1de2724 100644
---- a/arch/arm/plat-omap/mcbsp.c
-+++ b/arch/arm/plat-omap/mcbsp.c
-@@ -1175,147 +1175,6 @@ u32 omap_mcbsp_recv_word(unsigned int id)
- }
- EXPORT_SYMBOL(omap_mcbsp_recv_word);
- 
--int omap_mcbsp_spi_master_xmit_word_poll(unsigned int id, u32 word)
--{
--	struct omap_mcbsp *mcbsp;
--	omap_mcbsp_word_length tx_word_length;
--	omap_mcbsp_word_length rx_word_length;
--	u16 spcr2, spcr1, attempts = 0, word_lsb, word_msb = 0;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--	tx_word_length = mcbsp->tx_word_length;
--	rx_word_length = mcbsp->rx_word_length;
--
--	if (tx_word_length != rx_word_length)
--		return -EINVAL;
--
--	/* First we wait for the transmitter to be ready */
--	spcr2 = MCBSP_READ(mcbsp, SPCR2);
--	while (!(spcr2 & XRDY)) {
--		spcr2 = MCBSP_READ(mcbsp, SPCR2);
--		if (attempts++ > 1000) {
--			/* We must reset the transmitter */
--			MCBSP_WRITE(mcbsp, SPCR2,
--				    MCBSP_READ_CACHE(mcbsp, SPCR2) & (~XRST));
--			udelay(10);
--			MCBSP_WRITE(mcbsp, SPCR2,
--				    MCBSP_READ_CACHE(mcbsp, SPCR2) | XRST);
--			udelay(10);
--			dev_err(mcbsp->dev, "McBSP%d transmitter not "
--				"ready\n", mcbsp->id);
--			return -EAGAIN;
--		}
--	}
--
--	/* Now we can push the data */
--	if (tx_word_length > OMAP_MCBSP_WORD_16)
--		MCBSP_WRITE(mcbsp, DXR2, word >> 16);
--	MCBSP_WRITE(mcbsp, DXR1, word & 0xffff);
--
--	/* We wait for the receiver to be ready */
--	spcr1 = MCBSP_READ(mcbsp, SPCR1);
--	while (!(spcr1 & RRDY)) {
--		spcr1 = MCBSP_READ(mcbsp, SPCR1);
--		if (attempts++ > 1000) {
--			/* We must reset the receiver */
--			MCBSP_WRITE(mcbsp, SPCR1,
--				    MCBSP_READ_CACHE(mcbsp, SPCR1) & (~RRST));
--			udelay(10);
--			MCBSP_WRITE(mcbsp, SPCR1,
--				    MCBSP_READ_CACHE(mcbsp, SPCR1) | RRST);
--			udelay(10);
--			dev_err(mcbsp->dev, "McBSP%d receiver not "
--				"ready\n", mcbsp->id);
--			return -EAGAIN;
--		}
--	}
--
--	/* Receiver is ready, let's read the dummy data */
--	if (rx_word_length > OMAP_MCBSP_WORD_16)
--		word_msb = MCBSP_READ(mcbsp, DRR2);
--	word_lsb = MCBSP_READ(mcbsp, DRR1);
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_spi_master_xmit_word_poll);
--
--int omap_mcbsp_spi_master_recv_word_poll(unsigned int id, u32 *word)
--{
--	struct omap_mcbsp *mcbsp;
--	u32 clock_word = 0;
--	omap_mcbsp_word_length tx_word_length;
--	omap_mcbsp_word_length rx_word_length;
--	u16 spcr2, spcr1, attempts = 0, word_lsb, word_msb = 0;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	tx_word_length = mcbsp->tx_word_length;
--	rx_word_length = mcbsp->rx_word_length;
--
--	if (tx_word_length != rx_word_length)
--		return -EINVAL;
--
--	/* First we wait for the transmitter to be ready */
--	spcr2 = MCBSP_READ(mcbsp, SPCR2);
--	while (!(spcr2 & XRDY)) {
--		spcr2 = MCBSP_READ(mcbsp, SPCR2);
--		if (attempts++ > 1000) {
--			/* We must reset the transmitter */
--			MCBSP_WRITE(mcbsp, SPCR2,
--				    MCBSP_READ_CACHE(mcbsp, SPCR2) & (~XRST));
--			udelay(10);
--			MCBSP_WRITE(mcbsp, SPCR2,
--				    MCBSP_READ_CACHE(mcbsp, SPCR2) | XRST);
--			udelay(10);
--			dev_err(mcbsp->dev, "McBSP%d transmitter not "
--				"ready\n", mcbsp->id);
--			return -EAGAIN;
--		}
--	}
--
--	/* We first need to enable the bus clock */
--	if (tx_word_length > OMAP_MCBSP_WORD_16)
--		MCBSP_WRITE(mcbsp, DXR2, clock_word >> 16);
--	MCBSP_WRITE(mcbsp, DXR1, clock_word & 0xffff);
--
--	/* We wait for the receiver to be ready */
--	spcr1 = MCBSP_READ(mcbsp, SPCR1);
--	while (!(spcr1 & RRDY)) {
--		spcr1 = MCBSP_READ(mcbsp, SPCR1);
--		if (attempts++ > 1000) {
--			/* We must reset the receiver */
--			MCBSP_WRITE(mcbsp, SPCR1,
--				    MCBSP_READ_CACHE(mcbsp, SPCR1) & (~RRST));
--			udelay(10);
--			MCBSP_WRITE(mcbsp, SPCR1,
--				    MCBSP_READ_CACHE(mcbsp, SPCR1) | RRST);
--			udelay(10);
--			dev_err(mcbsp->dev, "McBSP%d receiver not "
--				"ready\n", mcbsp->id);
--			return -EAGAIN;
--		}
--	}
--
--	/* Receiver is ready, there is something for us */
--	if (rx_word_length > OMAP_MCBSP_WORD_16)
--		word_msb = MCBSP_READ(mcbsp, DRR2);
--	word_lsb = MCBSP_READ(mcbsp, DRR1);
--
--	word[0] = (word_lsb | (word_msb << 16));
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_spi_master_recv_word_poll);
--
- /*
-  * Simple DMA based buffer rx/tx routines.
-  * Nothing fancy, just a single buffer tx/rx through DMA.
-@@ -1449,79 +1308,6 @@ int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
- }
- EXPORT_SYMBOL(omap_mcbsp_recv_buffer);
- 
--/*
-- * SPI wrapper.
-- * Since SPI setup is much simpler than the generic McBSP one,
-- * this wrapper just need an omap_mcbsp_spi_cfg structure as an input.
-- * Once this is done, you can call omap_mcbsp_start().
-- */
--void omap_mcbsp_set_spi_mode(unsigned int id,
--				const struct omap_mcbsp_spi_cfg *spi_cfg)
--{
--	struct omap_mcbsp *mcbsp;
--	struct omap_mcbsp_reg_cfg mcbsp_cfg;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	memset(&mcbsp_cfg, 0, sizeof(struct omap_mcbsp_reg_cfg));
--
--	/* SPI has only one frame */
--	mcbsp_cfg.rcr1 |= (RWDLEN1(spi_cfg->word_length) | RFRLEN1(0));
--	mcbsp_cfg.xcr1 |= (XWDLEN1(spi_cfg->word_length) | XFRLEN1(0));
--
--	/* Clock stop mode */
--	if (spi_cfg->clk_stp_mode == OMAP_MCBSP_CLK_STP_MODE_NO_DELAY)
--		mcbsp_cfg.spcr1 |= (1 << 12);
--	else
--		mcbsp_cfg.spcr1 |= (3 << 11);
--
--	/* Set clock parities */
--	if (spi_cfg->rx_clock_polarity == OMAP_MCBSP_CLK_RISING)
--		mcbsp_cfg.pcr0 |= CLKRP;
--	else
--		mcbsp_cfg.pcr0 &= ~CLKRP;
--
--	if (spi_cfg->tx_clock_polarity == OMAP_MCBSP_CLK_RISING)
--		mcbsp_cfg.pcr0 &= ~CLKXP;
--	else
--		mcbsp_cfg.pcr0 |= CLKXP;
--
--	/* Set SCLKME to 0 and CLKSM to 1 */
--	mcbsp_cfg.pcr0 &= ~SCLKME;
--	mcbsp_cfg.srgr2 |= CLKSM;
--
--	/* Set FSXP */
--	if (spi_cfg->fsx_polarity == OMAP_MCBSP_FS_ACTIVE_HIGH)
--		mcbsp_cfg.pcr0 &= ~FSXP;
--	else
--		mcbsp_cfg.pcr0 |= FSXP;
--
--	if (spi_cfg->spi_mode == OMAP_MCBSP_SPI_MASTER) {
--		mcbsp_cfg.pcr0 |= CLKXM;
--		mcbsp_cfg.srgr1 |= CLKGDV(spi_cfg->clk_div - 1);
--		mcbsp_cfg.pcr0 |= FSXM;
--		mcbsp_cfg.srgr2 &= ~FSGM;
--		mcbsp_cfg.xcr2 |= XDATDLY(1);
--		mcbsp_cfg.rcr2 |= RDATDLY(1);
--	} else {
--		mcbsp_cfg.pcr0 &= ~CLKXM;
--		mcbsp_cfg.srgr1 |= CLKGDV(1);
--		mcbsp_cfg.pcr0 &= ~FSXM;
--		mcbsp_cfg.xcr2 &= ~XDATDLY(3);
--		mcbsp_cfg.rcr2 &= ~RDATDLY(3);
--	}
--
--	mcbsp_cfg.xcr2 &= ~XPHASE;
--	mcbsp_cfg.rcr2 &= ~RPHASE;
--
--	omap_mcbsp_config(id, &mcbsp_cfg);
--}
--EXPORT_SYMBOL(omap_mcbsp_set_spi_mode);
--
- #ifdef CONFIG_ARCH_OMAP3
- #define max_thres(m)			(mcbsp->pdata->buffer_size)
- #define valid_threshold(m, val)		((val) <= max_thres(m))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0020-omap-mcbsp-Drop-in-driver-transfer-support.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0020-omap-mcbsp-Drop-in-driver-transfer-support.patch
deleted file mode 100644
index 510a22d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0020-omap-mcbsp-Drop-in-driver-transfer-support.patch
+++ /dev/null
@@ -1,548 +0,0 @@
-From 8eea6f162c7a82d44c8e7c444cadfa43c4d586e5 Mon Sep 17 00:00:00 2001
-From: Jarkko Nikula <jhnikula at gmail.com>
-Date: Tue, 14 Jun 2011 11:23:52 +0000
-Subject: [PATCH 020/149] omap: mcbsp: Drop in-driver transfer support
-
-We haven't seen either use for in-driver transfer API in McBSP driver
-over the years so it looks they can be removed too.
-
-Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/plat-omap/include/plat/mcbsp.h |   25 --
- arch/arm/plat-omap/mcbsp.c              |  382 ++-----------------------------
- 2 files changed, 19 insertions(+), 388 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
-index 3fc75a8..6c53508 100644
---- a/arch/arm/plat-omap/include/plat/mcbsp.h
-+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
-@@ -24,7 +24,6 @@
- #ifndef __ASM_ARCH_OMAP_MCBSP_H
- #define __ASM_ARCH_OMAP_MCBSP_H
- 
--#include <linux/completion.h>
- #include <linux/spinlock.h>
- 
- #include <mach/hardware.h>
-@@ -340,10 +339,6 @@ typedef enum {
- 	OMAP_MCBSP5
- } omap_mcbsp_id;
- 
--typedef int __bitwise omap_mcbsp_io_type_t;
--#define OMAP_MCBSP_IRQ_IO ((__force omap_mcbsp_io_type_t) 1)
--#define OMAP_MCBSP_POLL_IO ((__force omap_mcbsp_io_type_t) 2)
--
- typedef enum {
- 	OMAP_MCBSP_WORD_8 = 0,
- 	OMAP_MCBSP_WORD_12,
-@@ -393,22 +388,12 @@ struct omap_mcbsp {
- 	omap_mcbsp_word_length rx_word_length;
- 	omap_mcbsp_word_length tx_word_length;
- 
--	omap_mcbsp_io_type_t io_type; /* IRQ or poll */
--	/* IRQ based TX/RX */
- 	int rx_irq;
- 	int tx_irq;
- 
- 	/* DMA stuff */
- 	u8 dma_rx_sync;
--	short dma_rx_lch;
- 	u8 dma_tx_sync;
--	short dma_tx_lch;
--
--	/* Completion queues */
--	struct completion tx_irq_completion;
--	struct completion rx_irq_completion;
--	struct completion tx_dma_completion;
--	struct completion rx_dma_completion;
- 
- 	/* Protect the field .free, while checking if the mcbsp is in use */
- 	spinlock_t lock;
-@@ -467,20 +452,10 @@ int omap_mcbsp_request(unsigned int id);
- void omap_mcbsp_free(unsigned int id);
- void omap_mcbsp_start(unsigned int id, int tx, int rx);
- void omap_mcbsp_stop(unsigned int id, int tx, int rx);
--void omap_mcbsp_xmit_word(unsigned int id, u32 word);
--u32 omap_mcbsp_recv_word(unsigned int id);
--
--int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer, unsigned int length);
--int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer, unsigned int length);
- 
- /* McBSP functional clock source changing function */
- extern int omap2_mcbsp_set_clks_src(u8 id, u8 fck_src_id);
- 
--/* Polled read/write functions */
--int omap_mcbsp_pollread(unsigned int id, u16 * buf);
--int omap_mcbsp_pollwrite(unsigned int id, u16 buf);
--int omap_mcbsp_set_io_type(unsigned int id, omap_mcbsp_io_type_t io_type);
--
- /* McBSP signal muxing API */
- void omap2_mcbsp1_mux_clkr_src(u8 mux);
- void omap2_mcbsp1_mux_fsr_src(u8 mux);
-diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
-index 1de2724..455eadc 100644
---- a/arch/arm/plat-omap/mcbsp.c
-+++ b/arch/arm/plat-omap/mcbsp.c
-@@ -16,8 +16,6 @@
- #include <linux/init.h>
- #include <linux/device.h>
- #include <linux/platform_device.h>
--#include <linux/wait.h>
--#include <linux/completion.h>
- #include <linux/interrupt.h>
- #include <linux/err.h>
- #include <linux/clk.h>
-@@ -25,7 +23,6 @@
- #include <linux/io.h>
- #include <linux/slab.h>
- 
--#include <plat/dma.h>
- #include <plat/mcbsp.h>
- #include <plat/omap_device.h>
- #include <linux/pm_runtime.h>
-@@ -136,8 +133,6 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
- 			irqst_spcr2);
- 		/* Writing zero to XSYNC_ERR clears the IRQ */
- 		MCBSP_WRITE(mcbsp_tx, SPCR2, MCBSP_READ_CACHE(mcbsp_tx, SPCR2));
--	} else {
--		complete(&mcbsp_tx->tx_irq_completion);
- 	}
- 
- 	return IRQ_HANDLED;
-@@ -156,41 +151,11 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
- 			irqst_spcr1);
- 		/* Writing zero to RSYNC_ERR clears the IRQ */
- 		MCBSP_WRITE(mcbsp_rx, SPCR1, MCBSP_READ_CACHE(mcbsp_rx, SPCR1));
--	} else {
--		complete(&mcbsp_rx->rx_irq_completion);
- 	}
- 
- 	return IRQ_HANDLED;
- }
- 
--static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
--{
--	struct omap_mcbsp *mcbsp_dma_tx = data;
--
--	dev_dbg(mcbsp_dma_tx->dev, "TX DMA callback : 0x%x\n",
--		MCBSP_READ(mcbsp_dma_tx, SPCR2));
--
--	/* We can free the channels */
--	omap_free_dma(mcbsp_dma_tx->dma_tx_lch);
--	mcbsp_dma_tx->dma_tx_lch = -1;
--
--	complete(&mcbsp_dma_tx->tx_dma_completion);
--}
--
--static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
--{
--	struct omap_mcbsp *mcbsp_dma_rx = data;
--
--	dev_dbg(mcbsp_dma_rx->dev, "RX DMA callback : 0x%x\n",
--		MCBSP_READ(mcbsp_dma_rx, SPCR2));
--
--	/* We can free the channels */
--	omap_free_dma(mcbsp_dma_rx->dma_rx_lch);
--	mcbsp_dma_rx->dma_rx_lch = -1;
--
--	complete(&mcbsp_dma_rx->rx_dma_completion);
--}
--
- /*
-  * omap_mcbsp_config simply write a config to the
-  * appropriate McBSP.
-@@ -758,37 +723,6 @@ static inline void omap_st_start(struct omap_mcbsp *mcbsp) {}
- static inline void omap_st_stop(struct omap_mcbsp *mcbsp) {}
- #endif
- 
--/*
-- * We can choose between IRQ based or polled IO.
-- * This needs to be called before omap_mcbsp_request().
-- */
--int omap_mcbsp_set_io_type(unsigned int id, omap_mcbsp_io_type_t io_type)
--{
--	struct omap_mcbsp *mcbsp;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	spin_lock(&mcbsp->lock);
--
--	if (!mcbsp->free) {
--		dev_err(mcbsp->dev, "McBSP%d is currently in use\n",
--			mcbsp->id);
--		spin_unlock(&mcbsp->lock);
--		return -EINVAL;
--	}
--
--	mcbsp->io_type = io_type;
--
--	spin_unlock(&mcbsp->lock);
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_set_io_type);
--
- int omap_mcbsp_request(unsigned int id)
- {
- 	struct omap_mcbsp *mcbsp;
-@@ -833,29 +767,24 @@ int omap_mcbsp_request(unsigned int id)
- 	MCBSP_WRITE(mcbsp, SPCR1, 0);
- 	MCBSP_WRITE(mcbsp, SPCR2, 0);
- 
--	if (mcbsp->io_type == OMAP_MCBSP_IRQ_IO) {
--		/* We need to get IRQs here */
--		init_completion(&mcbsp->tx_irq_completion);
--		err = request_irq(mcbsp->tx_irq, omap_mcbsp_tx_irq_handler,
--					0, "McBSP", (void *)mcbsp);
-+	err = request_irq(mcbsp->tx_irq, omap_mcbsp_tx_irq_handler,
-+				0, "McBSP", (void *)mcbsp);
-+	if (err != 0) {
-+		dev_err(mcbsp->dev, "Unable to request TX IRQ %d "
-+				"for McBSP%d\n", mcbsp->tx_irq,
-+				mcbsp->id);
-+		goto err_clk_disable;
-+	}
-+
-+	if (mcbsp->rx_irq) {
-+		err = request_irq(mcbsp->rx_irq,
-+				omap_mcbsp_rx_irq_handler,
-+				0, "McBSP", (void *)mcbsp);
- 		if (err != 0) {
--			dev_err(mcbsp->dev, "Unable to request TX IRQ %d "
--					"for McBSP%d\n", mcbsp->tx_irq,
-+			dev_err(mcbsp->dev, "Unable to request RX IRQ %d "
-+					"for McBSP%d\n", mcbsp->rx_irq,
- 					mcbsp->id);
--			goto err_clk_disable;
--		}
--
--		if (mcbsp->rx_irq) {
--			init_completion(&mcbsp->rx_irq_completion);
--			err = request_irq(mcbsp->rx_irq,
--					omap_mcbsp_rx_irq_handler,
--					0, "McBSP", (void *)mcbsp);
--			if (err != 0) {
--				dev_err(mcbsp->dev, "Unable to request RX IRQ %d "
--						"for McBSP%d\n", mcbsp->rx_irq,
--						mcbsp->id);
--				goto err_free_irq;
--			}
-+			goto err_free_irq;
- 		}
- 	}
- 
-@@ -901,12 +830,9 @@ void omap_mcbsp_free(unsigned int id)
- 
- 	pm_runtime_put_sync(mcbsp->dev);
- 
--	if (mcbsp->io_type == OMAP_MCBSP_IRQ_IO) {
--		/* Free IRQs */
--		if (mcbsp->rx_irq)
--			free_irq(mcbsp->rx_irq, (void *)mcbsp);
--		free_irq(mcbsp->tx_irq, (void *)mcbsp);
--	}
-+	if (mcbsp->rx_irq)
-+		free_irq(mcbsp->rx_irq, (void *)mcbsp);
-+	free_irq(mcbsp->tx_irq, (void *)mcbsp);
- 
- 	reg_cache = mcbsp->reg_cache;
- 
-@@ -1043,271 +969,6 @@ void omap_mcbsp_stop(unsigned int id, int tx, int rx)
- }
- EXPORT_SYMBOL(omap_mcbsp_stop);
- 
--/* polled mcbsp i/o operations */
--int omap_mcbsp_pollwrite(unsigned int id, u16 buf)
--{
--	struct omap_mcbsp *mcbsp;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	MCBSP_WRITE(mcbsp, DXR1, buf);
--	/* if frame sync error - clear the error */
--	if (MCBSP_READ(mcbsp, SPCR2) & XSYNC_ERR) {
--		/* clear error */
--		MCBSP_WRITE(mcbsp, SPCR2, MCBSP_READ_CACHE(mcbsp, SPCR2));
--		/* resend */
--		return -1;
--	} else {
--		/* wait for transmit confirmation */
--		int attemps = 0;
--		while (!(MCBSP_READ(mcbsp, SPCR2) & XRDY)) {
--			if (attemps++ > 1000) {
--				MCBSP_WRITE(mcbsp, SPCR2,
--						MCBSP_READ_CACHE(mcbsp, SPCR2) &
--						(~XRST));
--				udelay(10);
--				MCBSP_WRITE(mcbsp, SPCR2,
--						MCBSP_READ_CACHE(mcbsp, SPCR2) |
--						(XRST));
--				udelay(10);
--				dev_err(mcbsp->dev, "Could not write to"
--					" McBSP%d Register\n", mcbsp->id);
--				return -2;
--			}
--		}
--	}
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_pollwrite);
--
--int omap_mcbsp_pollread(unsigned int id, u16 *buf)
--{
--	struct omap_mcbsp *mcbsp;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	/* if frame sync error - clear the error */
--	if (MCBSP_READ(mcbsp, SPCR1) & RSYNC_ERR) {
--		/* clear error */
--		MCBSP_WRITE(mcbsp, SPCR1, MCBSP_READ_CACHE(mcbsp, SPCR1));
--		/* resend */
--		return -1;
--	} else {
--		/* wait for receive confirmation */
--		int attemps = 0;
--		while (!(MCBSP_READ(mcbsp, SPCR1) & RRDY)) {
--			if (attemps++ > 1000) {
--				MCBSP_WRITE(mcbsp, SPCR1,
--						MCBSP_READ_CACHE(mcbsp, SPCR1) &
--						(~RRST));
--				udelay(10);
--				MCBSP_WRITE(mcbsp, SPCR1,
--						MCBSP_READ_CACHE(mcbsp, SPCR1) |
--						(RRST));
--				udelay(10);
--				dev_err(mcbsp->dev, "Could not read from"
--					" McBSP%d Register\n", mcbsp->id);
--				return -2;
--			}
--		}
--	}
--	*buf = MCBSP_READ(mcbsp, DRR1);
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_pollread);
--
--/*
-- * IRQ based word transmission.
-- */
--void omap_mcbsp_xmit_word(unsigned int id, u32 word)
--{
--	struct omap_mcbsp *mcbsp;
--	omap_mcbsp_word_length word_length;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return;
--	}
--
--	mcbsp = id_to_mcbsp_ptr(id);
--	word_length = mcbsp->tx_word_length;
--
--	wait_for_completion(&mcbsp->tx_irq_completion);
--
--	if (word_length > OMAP_MCBSP_WORD_16)
--		MCBSP_WRITE(mcbsp, DXR2, word >> 16);
--	MCBSP_WRITE(mcbsp, DXR1, word & 0xffff);
--}
--EXPORT_SYMBOL(omap_mcbsp_xmit_word);
--
--u32 omap_mcbsp_recv_word(unsigned int id)
--{
--	struct omap_mcbsp *mcbsp;
--	u16 word_lsb, word_msb = 0;
--	omap_mcbsp_word_length word_length;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	word_length = mcbsp->rx_word_length;
--
--	wait_for_completion(&mcbsp->rx_irq_completion);
--
--	if (word_length > OMAP_MCBSP_WORD_16)
--		word_msb = MCBSP_READ(mcbsp, DRR2);
--	word_lsb = MCBSP_READ(mcbsp, DRR1);
--
--	return (word_lsb | (word_msb << 16));
--}
--EXPORT_SYMBOL(omap_mcbsp_recv_word);
--
--/*
-- * Simple DMA based buffer rx/tx routines.
-- * Nothing fancy, just a single buffer tx/rx through DMA.
-- * The DMA resources are released once the transfer is done.
-- * For anything fancier, you should use your own customized DMA
-- * routines and callbacks.
-- */
--int omap_mcbsp_xmit_buffer(unsigned int id, dma_addr_t buffer,
--				unsigned int length)
--{
--	struct omap_mcbsp *mcbsp;
--	int dma_tx_ch;
--	int src_port = 0;
--	int dest_port = 0;
--	int sync_dev = 0;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	if (omap_request_dma(mcbsp->dma_tx_sync, "McBSP TX",
--				omap_mcbsp_tx_dma_callback,
--				mcbsp,
--				&dma_tx_ch)) {
--		dev_err(mcbsp->dev, " Unable to request DMA channel for "
--				"McBSP%d TX. Trying IRQ based TX\n",
--				mcbsp->id);
--		return -EAGAIN;
--	}
--	mcbsp->dma_tx_lch = dma_tx_ch;
--
--	dev_err(mcbsp->dev, "McBSP%d TX DMA on channel %d\n", mcbsp->id,
--		dma_tx_ch);
--
--	init_completion(&mcbsp->tx_dma_completion);
--
--	if (cpu_class_is_omap1()) {
--		src_port = OMAP_DMA_PORT_TIPB;
--		dest_port = OMAP_DMA_PORT_EMIFF;
--	}
--	if (cpu_class_is_omap2())
--		sync_dev = mcbsp->dma_tx_sync;
--
--	omap_set_dma_transfer_params(mcbsp->dma_tx_lch,
--				     OMAP_DMA_DATA_TYPE_S16,
--				     length >> 1, 1,
--				     OMAP_DMA_SYNC_ELEMENT,
--	 sync_dev, 0);
--
--	omap_set_dma_dest_params(mcbsp->dma_tx_lch,
--				 src_port,
--				 OMAP_DMA_AMODE_CONSTANT,
--				 mcbsp->phys_base + OMAP_MCBSP_REG_DXR1,
--				 0, 0);
--
--	omap_set_dma_src_params(mcbsp->dma_tx_lch,
--				dest_port,
--				OMAP_DMA_AMODE_POST_INC,
--				buffer,
--				0, 0);
--
--	omap_start_dma(mcbsp->dma_tx_lch);
--	wait_for_completion(&mcbsp->tx_dma_completion);
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_xmit_buffer);
--
--int omap_mcbsp_recv_buffer(unsigned int id, dma_addr_t buffer,
--				unsigned int length)
--{
--	struct omap_mcbsp *mcbsp;
--	int dma_rx_ch;
--	int src_port = 0;
--	int dest_port = 0;
--	int sync_dev = 0;
--
--	if (!omap_mcbsp_check_valid_id(id)) {
--		printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1);
--		return -ENODEV;
--	}
--	mcbsp = id_to_mcbsp_ptr(id);
--
--	if (omap_request_dma(mcbsp->dma_rx_sync, "McBSP RX",
--				omap_mcbsp_rx_dma_callback,
--				mcbsp,
--				&dma_rx_ch)) {
--		dev_err(mcbsp->dev, "Unable to request DMA channel for "
--				"McBSP%d RX. Trying IRQ based RX\n",
--				mcbsp->id);
--		return -EAGAIN;
--	}
--	mcbsp->dma_rx_lch = dma_rx_ch;
--
--	dev_err(mcbsp->dev, "McBSP%d RX DMA on channel %d\n", mcbsp->id,
--		dma_rx_ch);
--
--	init_completion(&mcbsp->rx_dma_completion);
--
--	if (cpu_class_is_omap1()) {
--		src_port = OMAP_DMA_PORT_TIPB;
--		dest_port = OMAP_DMA_PORT_EMIFF;
--	}
--	if (cpu_class_is_omap2())
--		sync_dev = mcbsp->dma_rx_sync;
--
--	omap_set_dma_transfer_params(mcbsp->dma_rx_lch,
--					OMAP_DMA_DATA_TYPE_S16,
--					length >> 1, 1,
--					OMAP_DMA_SYNC_ELEMENT,
--					sync_dev, 0);
--
--	omap_set_dma_src_params(mcbsp->dma_rx_lch,
--				src_port,
--				OMAP_DMA_AMODE_CONSTANT,
--				mcbsp->phys_base + OMAP_MCBSP_REG_DRR1,
--				0, 0);
--
--	omap_set_dma_dest_params(mcbsp->dma_rx_lch,
--					dest_port,
--					OMAP_DMA_AMODE_POST_INC,
--					buffer,
--					0, 0);
--
--	omap_start_dma(mcbsp->dma_rx_lch);
--	wait_for_completion(&mcbsp->rx_dma_completion);
--
--	return 0;
--}
--EXPORT_SYMBOL(omap_mcbsp_recv_buffer);
--
- #ifdef CONFIG_ARCH_OMAP3
- #define max_thres(m)			(mcbsp->pdata->buffer_size)
- #define valid_threshold(m, val)		((val) <= max_thres(m))
-@@ -1619,8 +1280,6 @@ static int __devinit omap_mcbsp_probe(struct platform_device *pdev)
- 	spin_lock_init(&mcbsp->lock);
- 	mcbsp->id = id + 1;
- 	mcbsp->free = true;
--	mcbsp->dma_tx_lch = -1;
--	mcbsp->dma_rx_lch = -1;
- 
- 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "mpu");
- 	if (!res) {
-@@ -1646,9 +1305,6 @@ static int __devinit omap_mcbsp_probe(struct platform_device *pdev)
- 	else
- 		mcbsp->phys_dma_base = res->start;
- 
--	/* Default I/O is IRQ based */
--	mcbsp->io_type = OMAP_MCBSP_IRQ_IO;
--
- 	mcbsp->tx_irq = platform_get_irq_byname(pdev, "tx");
- 	mcbsp->rx_irq = platform_get_irq_byname(pdev, "rx");
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0021-omap2-fix-build-regression.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0021-omap2-fix-build-regression.patch
deleted file mode 100644
index 0b63867..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0021-omap2-fix-build-regression.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 742b21718c968c17ac951b73b4ba79f4a489d35b Mon Sep 17 00:00:00 2001
-From: Arnd Bergmann <arnd at arndb.de>
-Date: Thu, 30 Jun 2011 12:58:01 +0000
-Subject: [PATCH 021/149] omap2+: fix build regression
-
-board-generic.c now contains a reference to omap3_timer, but depends
-only on ARCH_OMAP2, not on ARCH_OMAP3, which controls that symbol.
-omap2_timer seems to be more appropriate anyway, so use that instead.
-
-Signed-off-by: Arnd Bergmann <arnd at arndb.de>
-Acked-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-generic.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
-index c6ecf60..54db41a 100644
---- a/arch/arm/mach-omap2/board-generic.c
-+++ b/arch/arm/mach-omap2/board-generic.c
-@@ -72,5 +72,5 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
- 	.init_early	= omap_generic_init_early,
- 	.init_irq	= omap2_init_irq,
- 	.init_machine	= omap_generic_init,
--	.timer		= &omap3_timer,
-+	.timer		= &omap2_timer,
- MACHINE_END
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0022-OMAP-New-twl-common-for-common-TWL-configuration.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0022-OMAP-New-twl-common-for-common-TWL-configuration.patch
deleted file mode 100644
index a0ccdd3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0022-OMAP-New-twl-common-for-common-TWL-configuration.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From 552daa4d00a2c1835e5114af852efc65175e1cc0 Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Sat, 4 Jun 2011 08:16:41 +0300
-Subject: [PATCH 022/149] OMAP: New twl-common for common TWL configuration
-
-Introduce a new file, which will be used to configure
-common pmic (TWL) devices, regulators, and TWL audio.
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Acked-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/Makefile               |    2 +-
- arch/arm/mach-omap2/common-board-devices.c |   21 -------------
- arch/arm/mach-omap2/common-board-devices.h |   26 +--------------
- arch/arm/mach-omap2/twl-common.c           |   46 ++++++++++++++++++++++++++++
- arch/arm/mach-omap2/twl-common.h           |   28 +++++++++++++++++
- 5 files changed, 77 insertions(+), 46 deletions(-)
- create mode 100644 arch/arm/mach-omap2/twl-common.c
- create mode 100644 arch/arm/mach-omap2/twl-common.h
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index adbe82d..ff1466f 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -269,4 +269,4 @@ obj-$(CONFIG_ARCH_OMAP4)		+= hwspinlock.o
- disp-$(CONFIG_OMAP2_DSS)		:= display.o
- obj-y					+= $(disp-m) $(disp-y)
- 
--obj-y					+= common-board-devices.o
-+obj-y					+= common-board-devices.o twl-common.o
-diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c
-index 0043fa8..bcb0c58 100644
---- a/arch/arm/mach-omap2/common-board-devices.c
-+++ b/arch/arm/mach-omap2/common-board-devices.c
-@@ -20,36 +20,15 @@
-  *
-  */
- 
--#include <linux/i2c.h>
--#include <linux/i2c/twl.h>
--
- #include <linux/gpio.h>
- #include <linux/spi/spi.h>
- #include <linux/spi/ads7846.h>
- 
--#include <plat/i2c.h>
- #include <plat/mcspi.h>
- #include <plat/nand.h>
- 
- #include "common-board-devices.h"
- 
--static struct i2c_board_info __initdata pmic_i2c_board_info = {
--	.addr		= 0x48,
--	.flags		= I2C_CLIENT_WAKE,
--};
--
--void __init omap_pmic_init(int bus, u32 clkrate,
--			   const char *pmic_type, int pmic_irq,
--			   struct twl4030_platform_data *pmic_data)
--{
--	strncpy(pmic_i2c_board_info.type, pmic_type,
--		sizeof(pmic_i2c_board_info.type));
--	pmic_i2c_board_info.irq = pmic_irq;
--	pmic_i2c_board_info.platform_data = pmic_data;
--
--	omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
--}
--
- #if defined(CONFIG_TOUCHSCREEN_ADS7846) || \
- 	defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
- static struct omap2_mcspi_device_config ads7846_mcspi_config = {
-diff --git a/arch/arm/mach-omap2/common-board-devices.h b/arch/arm/mach-omap2/common-board-devices.h
-index 6797190..a0b4a428 100644
---- a/arch/arm/mach-omap2/common-board-devices.h
-+++ b/arch/arm/mach-omap2/common-board-devices.h
-@@ -1,33 +1,11 @@
- #ifndef __OMAP_COMMON_BOARD_DEVICES__
- #define __OMAP_COMMON_BOARD_DEVICES__
- 
-+#include "twl-common.h"
-+
- #define NAND_BLOCK_SIZE	SZ_128K
- 
--struct twl4030_platform_data;
- struct mtd_partition;
--
--void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
--		    struct twl4030_platform_data *pmic_data);
--
--static inline void omap2_pmic_init(const char *pmic_type,
--				   struct twl4030_platform_data *pmic_data)
--{
--	omap_pmic_init(2, 2600, pmic_type, INT_24XX_SYS_NIRQ, pmic_data);
--}
--
--static inline void omap3_pmic_init(const char *pmic_type,
--				   struct twl4030_platform_data *pmic_data)
--{
--	omap_pmic_init(1, 2600, pmic_type, INT_34XX_SYS_NIRQ, pmic_data);
--}
--
--static inline void omap4_pmic_init(const char *pmic_type,
--				   struct twl4030_platform_data *pmic_data)
--{
--	/* Phoenix Audio IC needs I2C1 to start with 400 KHz or less */
--	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
--}
--
- struct ads7846_platform_data;
- 
- void omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,
-diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
-new file mode 100644
-index 0000000..4f7b24c
---- /dev/null
-+++ b/arch/arm/mach-omap2/twl-common.c
-@@ -0,0 +1,46 @@
-+/*
-+ * twl-common.c
-+ *
-+ * Copyright (C) 2011 Texas Instruments, Inc..
-+ * Author: Peter Ujfalusi <peter.ujfalusi at ti.com>
-+ *
-+ * 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.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-+ * 02110-1301 USA
-+ *
-+ */
-+
-+#include <linux/i2c.h>
-+#include <linux/i2c/twl.h>
-+#include <linux/gpio.h>
-+
-+#include <plat/i2c.h>
-+
-+#include "twl-common.h"
-+
-+static struct i2c_board_info __initdata pmic_i2c_board_info = {
-+	.addr		= 0x48,
-+	.flags		= I2C_CLIENT_WAKE,
-+};
-+
-+void __init omap_pmic_init(int bus, u32 clkrate,
-+			   const char *pmic_type, int pmic_irq,
-+			   struct twl4030_platform_data *pmic_data)
-+{
-+	strncpy(pmic_i2c_board_info.type, pmic_type,
-+		sizeof(pmic_i2c_board_info.type));
-+	pmic_i2c_board_info.irq = pmic_irq;
-+	pmic_i2c_board_info.platform_data = pmic_data;
-+
-+	omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
-+}
-diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h
-new file mode 100644
-index 0000000..e9fe2ab
---- /dev/null
-+++ b/arch/arm/mach-omap2/twl-common.h
-@@ -0,0 +1,28 @@
-+#ifndef __OMAP_PMIC_COMMON__
-+#define __OMAP_PMIC_COMMON__
-+
-+struct twl4030_platform_data;
-+
-+void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
-+		    struct twl4030_platform_data *pmic_data);
-+
-+static inline void omap2_pmic_init(const char *pmic_type,
-+				   struct twl4030_platform_data *pmic_data)
-+{
-+	omap_pmic_init(2, 2600, pmic_type, INT_24XX_SYS_NIRQ, pmic_data);
-+}
-+
-+static inline void omap3_pmic_init(const char *pmic_type,
-+				   struct twl4030_platform_data *pmic_data)
-+{
-+	omap_pmic_init(1, 2600, pmic_type, INT_34XX_SYS_NIRQ, pmic_data);
-+}
-+
-+static inline void omap4_pmic_init(const char *pmic_type,
-+				   struct twl4030_platform_data *pmic_data)
-+{
-+	/* Phoenix Audio IC needs I2C1 to start with 400 KHz or less */
-+	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
-+}
-+
-+#endif /* __OMAP_PMIC_COMMON__ */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0023-OMAP4-Move-common-twl6030-configuration-to-twl-commo.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0023-OMAP4-Move-common-twl6030-configuration-to-twl-commo.patch
deleted file mode 100644
index b04d1f8..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0023-OMAP4-Move-common-twl6030-configuration-to-twl-commo.patch
+++ /dev/null
@@ -1,601 +0,0 @@
-From db3a6400c5bc9c99a39fe9b34b7b3c59ae4be245 Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Tue, 7 Jun 2011 10:26:46 +0300
-Subject: [PATCH 023/149] OMAP4: Move common twl6030 configuration to twl-common
-
-Reduce the amount of duplicated code by moving the common
-configuration for TWL6030 (on OMAP4 platform) to the
-twl-common file.
-Use the omap4_pmic_get_config function from board files to
-properly configure the PMIC with the common fields.
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Acked-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-4430sdp.c    |  141 ++-------------------------
- arch/arm/mach-omap2/board-omap4panda.c |  146 +++--------------------------
- arch/arm/mach-omap2/twl-common.c       |  163 ++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/twl-common.h       |   20 ++++
- 4 files changed, 205 insertions(+), 265 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index d7df07e..933b25b 100644
---- a/arch/arm/mach-omap2/board-4430sdp.c
-+++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -302,14 +302,6 @@ static struct omap_musb_board_data musb_board_data = {
- 	.power			= 100,
- };
- 
--static struct twl4030_usb_data omap4_usbphy_data = {
--	.phy_init	= omap4430_phy_init,
--	.phy_exit	= omap4430_phy_exit,
--	.phy_power	= omap4430_phy_power,
--	.phy_set_clock	= omap4430_phy_set_clk,
--	.phy_suspend	= omap4430_phy_suspend,
--};
--
- static struct omap2_hsmmc_info mmc[] = {
- 	{
- 		.mmc		= 2,
-@@ -332,10 +324,6 @@ static struct regulator_consumer_supply sdp4430_vaux_supply[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.1"),
- };
- 
--static struct regulator_consumer_supply sdp4430_vmmc_supply[] = {
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
--};
--
- static int omap4_twl6030_hsmmc_late_init(struct device *dev)
- {
- 	int ret = 0;
-@@ -394,61 +382,6 @@ static struct regulator_init_data sdp4430_vaux1 = {
- 	.consumer_supplies      = sdp4430_vaux_supply,
- };
- 
--static struct regulator_init_data sdp4430_vaux2 = {
--	.constraints = {
--		.min_uV			= 1200000,
--		.max_uV			= 2800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data sdp4430_vaux3 = {
--	.constraints = {
--		.min_uV			= 1000000,
--		.max_uV			= 3000000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--/* VMMC1 for MMC1 card */
--static struct regulator_init_data sdp4430_vmmc = {
--	.constraints = {
--		.min_uV			= 1200000,
--		.max_uV			= 3000000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies  = 1,
--	.consumer_supplies      = sdp4430_vmmc_supply,
--};
--
--static struct regulator_init_data sdp4430_vpp = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 2500000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
- static struct regulator_init_data sdp4430_vusim = {
- 	.constraints = {
- 		.min_uV			= 1200000,
-@@ -462,74 +395,10 @@ static struct regulator_init_data sdp4430_vusim = {
- 	},
- };
- 
--static struct regulator_init_data sdp4430_vana = {
--	.constraints = {
--		.min_uV			= 2100000,
--		.max_uV			= 2100000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data sdp4430_vcxio = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data sdp4430_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data sdp4430_vusb = {
--	.constraints = {
--		.min_uV			= 3300000,
--		.max_uV			= 3300000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 =	REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data sdp4430_clk32kg = {
--	.constraints = {
--		.valid_ops_mask		= REGULATOR_CHANGE_STATUS,
--	},
--};
--
- static struct twl4030_platform_data sdp4430_twldata = {
--	.irq_base	= TWL6030_IRQ_BASE,
--	.irq_end	= TWL6030_IRQ_END,
--
- 	/* Regulators */
--	.vmmc		= &sdp4430_vmmc,
--	.vpp		= &sdp4430_vpp,
- 	.vusim		= &sdp4430_vusim,
--	.vana		= &sdp4430_vana,
--	.vcxio		= &sdp4430_vcxio,
--	.vdac		= &sdp4430_vdac,
--	.vusb		= &sdp4430_vusb,
- 	.vaux1		= &sdp4430_vaux1,
--	.vaux2		= &sdp4430_vaux2,
--	.vaux3		= &sdp4430_vaux3,
--	.clk32kg	= &sdp4430_clk32kg,
--	.usb		= &omap4_usbphy_data
- };
- 
- static struct i2c_board_info __initdata sdp4430_i2c_3_boardinfo[] = {
-@@ -547,6 +416,16 @@ static struct i2c_board_info __initdata sdp4430_i2c_4_boardinfo[] = {
- };
- static int __init omap4_i2c_init(void)
- {
-+	omap4_pmic_get_config(&sdp4430_twldata, TWL_COMMON_PDATA_USB,
-+			TWL_COMMON_REGULATOR_VDAC |
-+			TWL_COMMON_REGULATOR_VAUX2 |
-+			TWL_COMMON_REGULATOR_VAUX3 |
-+			TWL_COMMON_REGULATOR_VMMC |
-+			TWL_COMMON_REGULATOR_VPP |
-+			TWL_COMMON_REGULATOR_VANA |
-+			TWL_COMMON_REGULATOR_VCXIO |
-+			TWL_COMMON_REGULATOR_VUSB |
-+			TWL_COMMON_REGULATOR_CLK32KG);
- 	omap4_pmic_init("twl6030", &sdp4430_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, sdp4430_i2c_3_boardinfo,
-diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
-index ee2034e..9aaa960 100644
---- a/arch/arm/mach-omap2/board-omap4panda.c
-+++ b/arch/arm/mach-omap2/board-omap4panda.c
-@@ -154,14 +154,6 @@ static struct omap_musb_board_data musb_board_data = {
- 	.power			= 100,
- };
- 
--static struct twl4030_usb_data omap4_usbphy_data = {
--	.phy_init	= omap4430_phy_init,
--	.phy_exit	= omap4430_phy_exit,
--	.phy_power	= omap4430_phy_power,
--	.phy_set_clock	= omap4430_phy_set_clk,
--	.phy_suspend	= omap4430_phy_suspend,
--};
--
- static struct omap2_hsmmc_info mmc[] = {
- 	{
- 		.mmc		= 1,
-@@ -181,10 +173,6 @@ static struct omap2_hsmmc_info mmc[] = {
- 	{}	/* Terminator */
- };
- 
--static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
--	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
--};
--
- static struct regulator_consumer_supply omap4_panda_vmmc5_supply[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.4"),
- };
-@@ -269,128 +257,8 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
- 	return 0;
- }
- 
--static struct regulator_init_data omap4_panda_vaux2 = {
--	.constraints = {
--		.min_uV			= 1200000,
--		.max_uV			= 2800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_vaux3 = {
--	.constraints = {
--		.min_uV			= 1000000,
--		.max_uV			= 3000000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--/* VMMC1 for MMC1 card */
--static struct regulator_init_data omap4_panda_vmmc = {
--	.constraints = {
--		.min_uV			= 1200000,
--		.max_uV			= 3000000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies  = ARRAY_SIZE(omap4_panda_vmmc_supply),
--	.consumer_supplies      = omap4_panda_vmmc_supply,
--};
--
--static struct regulator_init_data omap4_panda_vpp = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 2500000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_VOLTAGE
--					| REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_vana = {
--	.constraints = {
--		.min_uV			= 2100000,
--		.max_uV			= 2100000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_vcxio = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_vusb = {
--	.constraints = {
--		.min_uV			= 3300000,
--		.max_uV			= 3300000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask	 =	REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct regulator_init_data omap4_panda_clk32kg = {
--	.constraints = {
--		.valid_ops_mask		= REGULATOR_CHANGE_STATUS,
--	},
--};
--
--static struct twl4030_platform_data omap4_panda_twldata = {
--	.irq_base	= TWL6030_IRQ_BASE,
--	.irq_end	= TWL6030_IRQ_END,
--
--	/* Regulators */
--	.vmmc		= &omap4_panda_vmmc,
--	.vpp		= &omap4_panda_vpp,
--	.vana		= &omap4_panda_vana,
--	.vcxio		= &omap4_panda_vcxio,
--	.vdac		= &omap4_panda_vdac,
--	.vusb		= &omap4_panda_vusb,
--	.vaux2		= &omap4_panda_vaux2,
--	.vaux3		= &omap4_panda_vaux3,
--	.clk32kg	= &omap4_panda_clk32kg,
--	.usb		= &omap4_usbphy_data,
--};
-+/* Panda board uses the common PMIC configuration */
-+static struct twl4030_platform_data omap4_panda_twldata;
- 
- /*
-  * Display monitor features are burnt in their EEPROM as EDID data. The EEPROM
-@@ -404,6 +272,16 @@ static struct i2c_board_info __initdata panda_i2c_eeprom[] = {
- 
- static int __init omap4_panda_i2c_init(void)
- {
-+	omap4_pmic_get_config(&omap4_panda_twldata, TWL_COMMON_PDATA_USB,
-+			TWL_COMMON_REGULATOR_VDAC |
-+			TWL_COMMON_REGULATOR_VAUX2 |
-+			TWL_COMMON_REGULATOR_VAUX3 |
-+			TWL_COMMON_REGULATOR_VMMC |
-+			TWL_COMMON_REGULATOR_VPP |
-+			TWL_COMMON_REGULATOR_VANA |
-+			TWL_COMMON_REGULATOR_VCXIO |
-+			TWL_COMMON_REGULATOR_VUSB |
-+			TWL_COMMON_REGULATOR_CLK32KG);
- 	omap4_pmic_init("twl6030", &omap4_panda_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	/*
-diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
-index 4f7b24c..cf80f4c 100644
---- a/arch/arm/mach-omap2/twl-common.c
-+++ b/arch/arm/mach-omap2/twl-common.c
-@@ -23,8 +23,11 @@
- #include <linux/i2c.h>
- #include <linux/i2c/twl.h>
- #include <linux/gpio.h>
-+#include <linux/regulator/machine.h>
-+#include <linux/regulator/fixed.h>
- 
- #include <plat/i2c.h>
-+#include <plat/usb.h>
- 
- #include "twl-common.h"
- 
-@@ -44,3 +47,163 @@ void __init omap_pmic_init(int bus, u32 clkrate,
- 
- 	omap_register_i2c_bus(bus, clkrate, &pmic_i2c_board_info, 1);
- }
-+
-+static struct twl4030_usb_data omap4_usb_pdata = {
-+	.phy_init	= omap4430_phy_init,
-+	.phy_exit	= omap4430_phy_exit,
-+	.phy_power	= omap4430_phy_power,
-+	.phy_set_clock	= omap4430_phy_set_clk,
-+	.phy_suspend	= omap4430_phy_suspend,
-+};
-+
-+static struct regulator_init_data omap4_vdac_idata = {
-+	.constraints = {
-+		.min_uV			= 1800000,
-+		.max_uV			= 1800000,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_vaux2_idata = {
-+	.constraints = {
-+		.min_uV			= 1200000,
-+		.max_uV			= 2800000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
-+					| REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_vaux3_idata = {
-+	.constraints = {
-+		.min_uV			= 1000000,
-+		.max_uV			= 3000000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
-+					| REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_consumer_supply omap4_vmmc_supply[] = {
-+	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
-+};
-+
-+/* VMMC1 for MMC1 card */
-+static struct regulator_init_data omap4_vmmc_idata = {
-+	.constraints = {
-+		.min_uV			= 1200000,
-+		.max_uV			= 3000000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
-+					| REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+	.num_consumer_supplies  = ARRAY_SIZE(omap4_vmmc_supply),
-+	.consumer_supplies      = omap4_vmmc_supply,
-+};
-+
-+static struct regulator_init_data omap4_vpp_idata = {
-+	.constraints = {
-+		.min_uV			= 1800000,
-+		.max_uV			= 2500000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
-+					| REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_vana_idata = {
-+	.constraints = {
-+		.min_uV			= 2100000,
-+		.max_uV			= 2100000,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_vcxio_idata = {
-+	.constraints = {
-+		.min_uV			= 1800000,
-+		.max_uV			= 1800000,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_vusb_idata = {
-+	.constraints = {
-+		.min_uV			= 3300000,
-+		.max_uV			= 3300000,
-+		.apply_uV		= true,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+static struct regulator_init_data omap4_clk32kg_idata = {
-+	.constraints = {
-+		.valid_ops_mask		= REGULATOR_CHANGE_STATUS,
-+	},
-+};
-+
-+void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
-+				  u32 pdata_flags, u32 regulators_flags)
-+{
-+	if (!pmic_data->irq_base)
-+		pmic_data->irq_base = TWL6030_IRQ_BASE;
-+	if (!pmic_data->irq_end)
-+		pmic_data->irq_end = TWL6030_IRQ_END;
-+
-+	/* Common platform data configurations */
-+	if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
-+		pmic_data->usb = &omap4_usb_pdata;
-+
-+	/* Common regulator configurations */
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
-+		pmic_data->vdac = &omap4_vdac_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VAUX2 && !pmic_data->vaux2)
-+		pmic_data->vaux2 = &omap4_vaux2_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VAUX3 && !pmic_data->vaux3)
-+		pmic_data->vaux3 = &omap4_vaux3_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VMMC && !pmic_data->vmmc)
-+		pmic_data->vmmc = &omap4_vmmc_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VPP && !pmic_data->vpp)
-+		pmic_data->vpp = &omap4_vpp_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VANA && !pmic_data->vana)
-+		pmic_data->vana = &omap4_vana_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VCXIO && !pmic_data->vcxio)
-+		pmic_data->vcxio = &omap4_vcxio_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VUSB && !pmic_data->vusb)
-+		pmic_data->vusb = &omap4_vusb_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_CLK32KG &&
-+	    !pmic_data->clk32kg)
-+		pmic_data->clk32kg = &omap4_clk32kg_idata;
-+}
-diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h
-index e9fe2ab..d96c289 100644
---- a/arch/arm/mach-omap2/twl-common.h
-+++ b/arch/arm/mach-omap2/twl-common.h
-@@ -1,6 +1,23 @@
- #ifndef __OMAP_PMIC_COMMON__
- #define __OMAP_PMIC_COMMON__
- 
-+#define TWL_COMMON_PDATA_USB		(1 << 0)
-+
-+/* Common LDO regulators for TWL4030/TWL6030 */
-+#define TWL_COMMON_REGULATOR_VDAC	(1 << 0)
-+#define TWL_COMMON_REGULATOR_VAUX1	(1 << 1)
-+#define TWL_COMMON_REGULATOR_VAUX2	(1 << 2)
-+#define TWL_COMMON_REGULATOR_VAUX3	(1 << 3)
-+
-+/* TWL6030 LDO regulators */
-+#define TWL_COMMON_REGULATOR_VMMC	(1 << 4)
-+#define TWL_COMMON_REGULATOR_VPP	(1 << 5)
-+#define TWL_COMMON_REGULATOR_VUSIM	(1 << 6)
-+#define TWL_COMMON_REGULATOR_VANA	(1 << 7)
-+#define TWL_COMMON_REGULATOR_VCXIO	(1 << 8)
-+#define TWL_COMMON_REGULATOR_VUSB	(1 << 9)
-+#define TWL_COMMON_REGULATOR_CLK32KG	(1 << 10)
-+
- struct twl4030_platform_data;
- 
- void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
-@@ -25,4 +42,7 @@ static inline void omap4_pmic_init(const char *pmic_type,
- 	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
- }
- 
-+void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
-+			   u32 pdata_flags, u32 regulators_flags);
-+
- #endif /* __OMAP_PMIC_COMMON__ */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0024-OMAP3-Move-common-twl-configuration-to-twl-common.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0024-OMAP3-Move-common-twl-configuration-to-twl-common.patch
deleted file mode 100644
index 6dfcc2c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0024-OMAP3-Move-common-twl-configuration-to-twl-common.patch
+++ /dev/null
@@ -1,827 +0,0 @@
-From 4a1b31f8aed87737ba84e1e5724ecfbe45732bc8 Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Tue, 7 Jun 2011 10:28:54 +0300
-Subject: [PATCH 024/149] OMAP3: Move common twl configuration to twl-common
-
-Reduce the amount of duplicated code by moving the common
-configuration for twl4030/5030/tpsxx to the twl-common file.
-Use the omap3_pmic_get_config function from board files to
-properly configure the PMIC with the common fields.
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Acked-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-3430sdp.c          |   42 ++------------------
- arch/arm/mach-omap2/board-cm-t35.c           |    9 +----
- arch/arm/mach-omap2/board-devkit8000.c       |   18 +--------
- arch/arm/mach-omap2/board-igep0020.c         |   20 ++--------
- arch/arm/mach-omap2/board-ldp.c              |   15 +------
- arch/arm/mach-omap2/board-omap3beagle.c      |   18 +--------
- arch/arm/mach-omap2/board-omap3evm.c         |   24 +----------
- arch/arm/mach-omap2/board-omap3pandora.c     |   17 +-------
- arch/arm/mach-omap2/board-omap3stalker.c     |   24 +----------
- arch/arm/mach-omap2/board-omap3touchbook.c   |   19 +--------
- arch/arm/mach-omap2/board-overo.c            |   17 +-------
- arch/arm/mach-omap2/board-rm680.c            |    8 +---
- arch/arm/mach-omap2/board-rx51-peripherals.c |   15 +------
- arch/arm/mach-omap2/board-zoom-peripherals.c |   51 +++++--------------------
- arch/arm/mach-omap2/twl-common.c             |   53 ++++++++++++++++++++++++++
- arch/arm/mach-omap2/twl-common.h             |    6 +++
- 16 files changed, 99 insertions(+), 257 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index 12fae21..8bbd4e0 100644
---- a/arch/arm/mach-omap2/board-3430sdp.c
-+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -231,22 +231,6 @@ static void __init omap_3430sdp_init_early(void)
- 	omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
- }
- 
--static int sdp3430_batt_table[] = {
--/* 0 C*/
--30800, 29500, 28300, 27100,
--26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
--17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
--11600, 11200, 10800, 10400, 10000, 9630,   9280,   8950,   8620,   8310,
--8020,   7730,   7460,   7200,   6950,   6710,   6470,   6250,   6040,   5830,
--5640,   5450,   5260,   5090,   4920,   4760,   4600,   4450,   4310,   4170,
--4040,   3910,   3790,   3670,   3550
--};
--
--static struct twl4030_bci_platform_data sdp3430_bci_data = {
--	.battery_tmp_tbl	= sdp3430_batt_table,
--	.tblsize		= ARRAY_SIZE(sdp3430_batt_table),
--};
--
- static struct omap2_hsmmc_info mmc[] = {
- 	{
- 		.mmc		= 1,
-@@ -292,14 +276,6 @@ static struct twl4030_gpio_platform_data sdp3430_gpio_data = {
- 	.setup		= sdp3430_twl_gpio_setup,
- };
- 
--static struct twl4030_usb_data sdp3430_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
--static struct twl4030_madc_platform_data sdp3430_madc_data = {
--	.irq_line	= 1,
--};
--
- /* regulator consumer mappings */
- 
- /* ads7846 on SPI */
-@@ -463,24 +439,10 @@ static struct regulator_init_data sdp3430_vpll2 = {
- 	.consumer_supplies	= sdp3430_vpll2_supplies,
- };
- 
--static struct twl4030_codec_audio_data sdp3430_audio;
--
--static struct twl4030_codec_data sdp3430_codec = {
--	.audio_mclk = 26000000,
--	.audio = &sdp3430_audio,
--};
--
- static struct twl4030_platform_data sdp3430_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.bci		= &sdp3430_bci_data,
- 	.gpio		= &sdp3430_gpio_data,
--	.madc		= &sdp3430_madc_data,
- 	.keypad		= &sdp3430_kp_data,
--	.usb		= &sdp3430_usb_data,
--	.codec		= &sdp3430_codec,
- 
- 	.vaux1		= &sdp3430_vaux1,
- 	.vaux2		= &sdp3430_vaux2,
-@@ -496,7 +458,11 @@ static struct twl4030_platform_data sdp3430_twldata = {
- static int __init omap3430_i2c_init(void)
- {
- 	/* i2c1 for PMIC only */
-+	omap3_pmic_get_config(&sdp3430_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
-+			  TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("twl4030", &sdp3430_twldata);
-+
- 	/* i2c2 on camera connector (for sensor control) and optional isp1301 */
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	/* i2c3 on display connector (for DVI, tfp410) */
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index d76dca7..cb00abc 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -410,10 +410,6 @@ static struct regulator_init_data cm_t35_vpll2 = {
- 	.consumer_supplies	= cm_t35_vdvi_supply,
- };
- 
--static struct twl4030_usb_data cm_t35_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static uint32_t cm_t35_keymap[] = {
- 	KEY(0, 0, KEY_A),	KEY(0, 1, KEY_B),	KEY(0, 2, KEY_LEFT),
- 	KEY(1, 0, KEY_UP),	KEY(1, 1, KEY_ENTER),	KEY(1, 2, KEY_DOWN),
-@@ -492,12 +488,8 @@ static struct twl4030_gpio_platform_data cm_t35_gpio_data = {
- };
- 
- static struct twl4030_platform_data cm_t35_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
- 	.keypad		= &cm_t35_kp_data,
--	.usb		= &cm_t35_usb_data,
- 	.gpio		= &cm_t35_gpio_data,
- 	.vmmc1		= &cm_t35_vmmc1,
- 	.vsim		= &cm_t35_vsim,
-@@ -507,6 +499,7 @@ static struct twl4030_platform_data cm_t35_twldata = {
- 
- static void __init cm_t35_init_i2c(void)
- {
-+	omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, 0);
- 	omap3_pmic_init("tps65930", &cm_t35_twldata);
- }
- 
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index 949dbea..364942e 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -332,25 +332,9 @@ static struct regulator_init_data devkit8000_vio = {
- 	.consumer_supplies      = devkit8000_vio_supply,
- };
- 
--static struct twl4030_usb_data devkit8000_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
--static struct twl4030_codec_audio_data devkit8000_audio_data;
--
--static struct twl4030_codec_data devkit8000_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &devkit8000_audio_data,
--};
--
- static struct twl4030_platform_data devkit8000_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.usb		= &devkit8000_usb_data,
- 	.gpio		= &devkit8000_gpio_data,
--	.codec		= &devkit8000_codec_data,
- 	.vmmc1		= &devkit8000_vmmc1,
- 	.vdac		= &devkit8000_vdac,
- 	.vpll1		= &devkit8000_vpll1,
-@@ -360,6 +344,8 @@ static struct twl4030_platform_data devkit8000_twldata = {
- 
- static int __init devkit8000_i2c_init(void)
- {
-+	omap3_pmic_get_config(&devkit8000_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("tps65930", &devkit8000_twldata);
- 	/* Bus 3 is attached to the DVI port where devices like the pico DLP
- 	 * projector don't work reliably with 400kHz */
-diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
-index f683835..e0a6687 100644
---- a/arch/arm/mach-omap2/board-igep0020.c
-+++ b/arch/arm/mach-omap2/board-igep0020.c
-@@ -443,10 +443,6 @@ static struct twl4030_gpio_platform_data igep_twl4030_gpio_pdata = {
- 	.setup		= igep_twl_gpio_setup,
- };
- 
--static struct twl4030_usb_data igep_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static int igep2_enable_dvi(struct omap_dss_device *dssdev)
- {
- 	gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1);
-@@ -522,13 +518,6 @@ static void __init igep_init_early(void)
- 				  m65kxxxxam_sdrc_params);
- }
- 
--static struct twl4030_codec_audio_data igep2_audio_data;
--
--static struct twl4030_codec_data igep2_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &igep2_audio_data,
--};
--
- static int igep2_keymap[] = {
- 	KEY(0, 0, KEY_LEFT),
- 	KEY(0, 1, KEY_RIGHT),
-@@ -561,11 +550,7 @@ static struct twl4030_keypad_data igep2_keypad_pdata = {
- };
- 
- static struct twl4030_platform_data igep_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.usb		= &igep_usb_data,
- 	.gpio		= &igep_twl4030_gpio_pdata,
- 	.vmmc1          = &igep_vmmc1,
- 	.vio		= &igep_vio,
-@@ -581,6 +566,8 @@ static void __init igep_i2c_init(void)
- {
- 	int ret;
- 
-+	omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_USB, 0);
-+
- 	if (machine_is_igep0020()) {
- 		/*
- 		 * Bus 3 is attached to the DVI port where devices like the
-@@ -591,9 +578,10 @@ static void __init igep_i2c_init(void)
- 		if (ret)
- 			pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret);
- 
--		igep_twldata.codec	= &igep2_codec_data;
- 		igep_twldata.keypad	= &igep2_keypad_pdata;
- 		igep_twldata.vpll2	= &igep2_vpll2;
-+		/* Use common codec data */
-+		omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO, 0);
- 	}
- 
- 	omap3_pmic_init("twl4030", &igep_twldata);
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index 5d4328f..218764c 100644
---- a/arch/arm/mach-omap2/board-ldp.c
-+++ b/arch/arm/mach-omap2/board-ldp.c
-@@ -199,20 +199,12 @@ static void __init omap_ldp_init_early(void)
- 	omap2_init_common_devices(NULL, NULL);
- }
- 
--static struct twl4030_usb_data ldp_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static struct twl4030_gpio_platform_data ldp_gpio_data = {
- 	.gpio_base	= OMAP_MAX_GPIO_LINES,
- 	.irq_base	= TWL4030_GPIO_IRQ_BASE,
- 	.irq_end	= TWL4030_GPIO_IRQ_END,
- };
- 
--static struct twl4030_madc_platform_data ldp_madc_data = {
--	.irq_line	= 1,
--};
--
- static struct regulator_consumer_supply ldp_vmmc1_supply[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
-@@ -253,12 +245,7 @@ static struct regulator_init_data ldp_vaux1 = {
- };
- 
- static struct twl4030_platform_data ldp_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.madc		= &ldp_madc_data,
--	.usb		= &ldp_usb_data,
- 	.vmmc1		= &ldp_vmmc1,
- 	.vaux1		= &ldp_vaux1,
- 	.gpio		= &ldp_gpio_data,
-@@ -267,6 +254,8 @@ static struct twl4030_platform_data ldp_twldata = {
- 
- static int __init omap_i2c_init(void)
- {
-+	omap3_pmic_get_config(&ldp_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0);
- 	omap3_pmic_init("twl4030", &ldp_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 2d8dfb3..ec61e9c 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -380,25 +380,9 @@ static struct regulator_init_data beagle_vpll2 = {
- 	.consumer_supplies	= beagle_vdvi_supplies,
- };
- 
--static struct twl4030_usb_data beagle_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
--static struct twl4030_codec_audio_data beagle_audio_data;
--
--static struct twl4030_codec_data beagle_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &beagle_audio_data,
--};
--
- static struct twl4030_platform_data beagle_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.usb		= &beagle_usb_data,
- 	.gpio		= &beagle_gpio_data,
--	.codec		= &beagle_codec_data,
- 	.vmmc1		= &beagle_vmmc1,
- 	.vsim		= &beagle_vsim,
- 	.vdac		= &beagle_vdac,
-@@ -413,6 +397,8 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
- 
- static int __init omap3_beagle_i2c_init(void)
- {
-+	omap3_pmic_get_config(&beagle_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("twl4030", &beagle_twldata);
- 	/* Bus 3 is attached to the DVI port where devices like the pico DLP
- 	 * projector don't work reliably with 400kHz */
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index 57bce0f..1ca298a 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -396,10 +396,6 @@ static struct twl4030_gpio_platform_data omap3evm_gpio_data = {
- 	.setup		= omap3evm_twl_gpio_setup,
- };
- 
--static struct twl4030_usb_data omap3evm_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static uint32_t board_keymap[] = {
- 	KEY(0, 0, KEY_LEFT),
- 	KEY(0, 1, KEY_DOWN),
-@@ -434,17 +430,6 @@ static struct twl4030_keypad_data omap3evm_kp_data = {
- 	.rep		= 1,
- };
- 
--static struct twl4030_madc_platform_data omap3evm_madc_data = {
--	.irq_line	= 1,
--};
--
--static struct twl4030_codec_audio_data omap3evm_audio_data;
--
--static struct twl4030_codec_data omap3evm_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &omap3evm_audio_data,
--};
--
- static struct regulator_consumer_supply omap3_evm_vdda_dac_supply[] = {
- 	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
- };
-@@ -547,15 +532,9 @@ struct wl12xx_platform_data omap3evm_wlan_data __initdata = {
- #endif
- 
- static struct twl4030_platform_data omap3evm_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
- 	.keypad		= &omap3evm_kp_data,
--	.madc		= &omap3evm_madc_data,
--	.usb		= &omap3evm_usb_data,
- 	.gpio		= &omap3evm_gpio_data,
--	.codec		= &omap3evm_codec_data,
- 	.vdac		= &omap3_evm_vdac,
- 	.vpll2		= &omap3_evm_vpll2,
- 	.vio		= &omap3evm_vio,
-@@ -565,6 +544,9 @@ static struct twl4030_platform_data omap3evm_twldata = {
- 
- static int __init omap3_evm_i2c_init(void)
- {
-+	omap3_pmic_get_config(&omap3evm_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
-+			  TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("twl4030", &omap3evm_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index d4ea940..f5abf76 100644
---- a/arch/arm/mach-omap2/board-omap3pandora.c
-+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -508,25 +508,10 @@ static struct platform_device pandora_vwlan_device = {
- 	},
- };
- 
--static struct twl4030_usb_data omap3pandora_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
--static struct twl4030_codec_audio_data omap3pandora_audio_data;
--
--static struct twl4030_codec_data omap3pandora_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &omap3pandora_audio_data,
--};
--
- static struct twl4030_bci_platform_data pandora_bci_data;
- 
- static struct twl4030_platform_data omap3pandora_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
- 	.gpio		= &omap3pandora_gpio_data,
--	.usb		= &omap3pandora_usb_data,
--	.codec		= &omap3pandora_codec_data,
- 	.vmmc1		= &pandora_vmmc1,
- 	.vmmc2		= &pandora_vmmc2,
- 	.vdac		= &pandora_vdac,
-@@ -548,6 +533,8 @@ static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = {
- 
- static int __init omap3pandora_i2c_init(void)
- {
-+	omap3_pmic_get_config(&omap3pandora_twldata,
-+			      TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("tps65950", &omap3pandora_twldata);
- 	/* i2c2 pins are not connected */
- 	omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo,
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index b8ad4dd..6e59e59 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -349,10 +349,6 @@ static struct twl4030_gpio_platform_data omap3stalker_gpio_data = {
- 	.setup		= omap3stalker_twl_gpio_setup,
- };
- 
--static struct twl4030_usb_data omap3stalker_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static uint32_t board_keymap[] = {
- 	KEY(0, 0, KEY_LEFT),
- 	KEY(0, 1, KEY_DOWN),
-@@ -387,17 +383,6 @@ static struct twl4030_keypad_data omap3stalker_kp_data = {
- 	.rep		= 1,
- };
- 
--static struct twl4030_madc_platform_data omap3stalker_madc_data = {
--	.irq_line	= 1,
--};
--
--static struct twl4030_codec_audio_data omap3stalker_audio_data;
--
--static struct twl4030_codec_data omap3stalker_codec_data = {
--	.audio_mclk	= 26000000,
--	.audio		= &omap3stalker_audio_data,
--};
--
- static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply[] = {
- 	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
- };
-@@ -439,15 +424,9 @@ static struct regulator_init_data omap3_stalker_vpll2 = {
- };
- 
- static struct twl4030_platform_data omap3stalker_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
- 	.keypad		= &omap3stalker_kp_data,
--	.madc		= &omap3stalker_madc_data,
--	.usb		= &omap3stalker_usb_data,
- 	.gpio		= &omap3stalker_gpio_data,
--	.codec		= &omap3stalker_codec_data,
- 	.vdac		= &omap3_stalker_vdac,
- 	.vpll2		= &omap3_stalker_vpll2,
- 	.vmmc1		= &omap3stalker_vmmc1,
-@@ -470,6 +449,9 @@ static struct i2c_board_info __initdata omap3stalker_i2c_boardinfo3[] = {
- 
- static int __init omap3_stalker_i2c_init(void)
- {
-+	omap3_pmic_get_config(&omap3stalker_twldata,
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
-+			TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("twl4030", &omap3stalker_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3,
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index 57e6ed3..717972c 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -235,25 +235,9 @@ static struct regulator_init_data touchbook_vpll2 = {
- 	.consumer_supplies	= touchbook_vdvi_supply,
- };
- 
--static struct twl4030_usb_data touchbook_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
--static struct twl4030_codec_audio_data touchbook_audio_data;
--
--static struct twl4030_codec_data touchbook_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &touchbook_audio_data,
--};
--
- static struct twl4030_platform_data touchbook_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.usb		= &touchbook_usb_data,
- 	.gpio		= &touchbook_gpio_data,
--	.codec		= &touchbook_codec_data,
- 	.vmmc1		= &touchbook_vmmc1,
- 	.vsim		= &touchbook_vsim,
- 	.vdac		= &touchbook_vdac,
-@@ -269,8 +253,9 @@ static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
- static int __init omap3_touchbook_i2c_init(void)
- {
- 	/* Standard TouchBook bus */
-+	omap3_pmic_get_config(&touchbook_twldata,
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("twl4030", &touchbook_twldata);
--
- 	/* Additional TouchBook bus */
- 	omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo,
- 			ARRAY_SIZE(touchBook_i2c_boardinfo));
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 1bf2f39..776b444 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -433,10 +433,6 @@ static struct twl4030_gpio_platform_data overo_gpio_data = {
- 	.setup		= overo_twl_gpio_setup,
- };
- 
--static struct twl4030_usb_data overo_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static struct regulator_init_data overo_vmmc1 = {
- 	.constraints = {
- 		.min_uV			= 1850000,
-@@ -480,19 +476,8 @@ static struct regulator_init_data overo_vpll2 = {
- 	.consumer_supplies	= overo_vdds_dsi_supply,
- };
- 
--static struct twl4030_codec_audio_data overo_audio_data;
--
--static struct twl4030_codec_data overo_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &overo_audio_data,
--};
--
- static struct twl4030_platform_data overo_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
- 	.gpio		= &overo_gpio_data,
--	.usb		= &overo_usb_data,
--	.codec		= &overo_codec_data,
- 	.vmmc1		= &overo_vmmc1,
- 	.vdac		= &overo_vdac,
- 	.vpll2		= &overo_vpll2,
-@@ -500,6 +485,8 @@ static struct twl4030_platform_data overo_twldata = {
- 
- static int __init overo_i2c_init(void)
- {
-+	omap3_pmic_get_config(&overo_twldata,
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
- 	omap3_pmic_init("tps65950", &overo_twldata);
- 	/* i2c2 pins are used for gpio */
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c
-index 54dceb1..7dfed24 100644
---- a/arch/arm/mach-omap2/board-rm680.c
-+++ b/arch/arm/mach-omap2/board-rm680.c
-@@ -79,20 +79,14 @@ static struct twl4030_gpio_platform_data rm680_gpio_data = {
- 	.pulldowns		= BIT(1) | BIT(2) | BIT(8) | BIT(15),
- };
- 
--static struct twl4030_usb_data rm680_usb_data = {
--	.usb_mode		= T2_USB_MODE_ULPI,
--};
--
- static struct twl4030_platform_data rm680_twl_data = {
--	.irq_base		= TWL4030_IRQ_BASE,
--	.irq_end		= TWL4030_IRQ_END,
- 	.gpio			= &rm680_gpio_data,
--	.usb			= &rm680_usb_data,
- 	/* add rest of the children here */
- };
- 
- static void __init rm680_i2c_init(void)
- {
-+	omap3_pmic_get_config(&rm680_twl_data, TWL_COMMON_PDATA_USB, 0);
- 	omap_pmic_init(1, 2900, "twl5031", INT_34XX_SYS_NIRQ, &rm680_twl_data);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
-index b633ba8..3cdea39 100644
---- a/arch/arm/mach-omap2/board-rx51-peripherals.c
-+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
-@@ -288,10 +288,6 @@ static struct twl4030_keypad_data rx51_kp_data = {
- 	.rep		= 1,
- };
- 
--static struct twl4030_madc_platform_data rx51_madc_data = {
--	.irq_line		= 1,
--};
--
- /* Enable input logic and pull all lines up when eMMC is on. */
- static struct omap_board_mux rx51_mmc2_on_mux[] = {
- 	OMAP3_MUX(SDMMC2_CMD, OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
-@@ -603,10 +599,6 @@ static struct twl4030_gpio_platform_data rx51_gpio_data = {
- 	.setup			= rx51_twlgpio_setup,
- };
- 
--static struct twl4030_usb_data rx51_usb_data = {
--	.usb_mode		= T2_USB_MODE_ULPI,
--};
--
- static struct twl4030_ins sleep_on_seq[] __initdata = {
- /*
-  * Turn off everything
-@@ -778,14 +770,9 @@ struct twl4030_codec_data rx51_codec_data __initdata = {
- };
- 
- static struct twl4030_platform_data rx51_twldata __initdata = {
--	.irq_base		= TWL4030_IRQ_BASE,
--	.irq_end		= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
- 	.gpio			= &rx51_gpio_data,
- 	.keypad			= &rx51_kp_data,
--	.madc			= &rx51_madc_data,
--	.usb			= &rx51_usb_data,
- 	.power			= &rx51_t2scripts_data,
- 	.codec			= &rx51_codec_data,
- 
-@@ -850,6 +837,8 @@ static int __init rx51_i2c_init(void)
- 		rx51_twldata.vaux3 = &rx51_vaux3_cam;
- 	}
- 	rx51_twldata.vmmc2 = &rx51_vmmc2;
-+	omap3_pmic_get_config(&rx51_twldata,
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0);
- 	omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata);
- 	omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2,
- 			      ARRAY_SIZE(rx51_peripherals_i2c_board_info_2));
-diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
-index 8495f82..6d8df1b 100644
---- a/arch/arm/mach-omap2/board-zoom-peripherals.c
-+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
-@@ -285,26 +285,6 @@ static void zoom2_set_hs_extmute(int mute)
- 	gpio_set_value(ZOOM2_HEADSET_EXTMUTE_GPIO, mute);
- }
- 
--static int zoom_batt_table[] = {
--/* 0 C*/
--30800, 29500, 28300, 27100,
--26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
--17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
--11600, 11200, 10800, 10400, 10000, 9630,  9280,  8950,  8620,  8310,
--8020,  7730,  7460,  7200,  6950,  6710,  6470,  6250,  6040,  5830,
--5640,  5450,  5260,  5090,  4920,  4760,  4600,  4450,  4310,  4170,
--4040,  3910,  3790,  3670,  3550
--};
--
--static struct twl4030_bci_platform_data zoom_bci_data = {
--	.battery_tmp_tbl	= zoom_batt_table,
--	.tblsize		= ARRAY_SIZE(zoom_batt_table),
--};
--
--static struct twl4030_usb_data zoom_usb_data = {
--	.usb_mode	= T2_USB_MODE_ULPI,
--};
--
- static struct twl4030_gpio_platform_data zoom_gpio_data = {
- 	.gpio_base	= OMAP_MAX_GPIO_LINES,
- 	.irq_base	= TWL4030_GPIO_IRQ_BASE,
-@@ -312,28 +292,10 @@ static struct twl4030_gpio_platform_data zoom_gpio_data = {
- 	.setup		= zoom_twl_gpio_setup,
- };
- 
--static struct twl4030_madc_platform_data zoom_madc_data = {
--	.irq_line	= 1,
--};
--
--static struct twl4030_codec_audio_data zoom_audio_data;
--
--static struct twl4030_codec_data zoom_codec_data = {
--	.audio_mclk = 26000000,
--	.audio = &zoom_audio_data,
--};
--
- static struct twl4030_platform_data zoom_twldata = {
--	.irq_base	= TWL4030_IRQ_BASE,
--	.irq_end	= TWL4030_IRQ_END,
--
- 	/* platform_data for children goes here */
--	.bci		= &zoom_bci_data,
--	.madc		= &zoom_madc_data,
--	.usb		= &zoom_usb_data,
- 	.gpio		= &zoom_gpio_data,
- 	.keypad		= &zoom_kp_twl4030_data,
--	.codec		= &zoom_codec_data,
- 	.vmmc1          = &zoom_vmmc1,
- 	.vmmc2          = &zoom_vmmc2,
- 	.vsim           = &zoom_vsim,
-@@ -343,10 +305,17 @@ static struct twl4030_platform_data zoom_twldata = {
- 
- static int __init omap_i2c_init(void)
- {
-+	omap3_pmic_get_config(&zoom_twldata,
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
-+			  TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0);
-+
- 	if (machine_is_omap_zoom2()) {
--		zoom_audio_data.ramp_delay_value = 3;	/* 161 ms */
--		zoom_audio_data.hs_extmute = 1;
--		zoom_audio_data.set_hs_extmute = zoom2_set_hs_extmute;
-+		struct twl4030_codec_audio_data *audio_data;
-+		audio_data = zoom_twldata.codec->audio;
-+
-+		audio_data->ramp_delay_value = 3;	/* 161 ms */
-+		audio_data->hs_extmute = 1;
-+		audio_data->set_hs_extmute = zoom2_set_hs_extmute;
- 	}
- 	omap_pmic_init(1, 2400, "twl5030", INT_34XX_SYS_NIRQ, &zoom_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
-index cf80f4c..9e8decf 100644
---- a/arch/arm/mach-omap2/twl-common.c
-+++ b/arch/arm/mach-omap2/twl-common.c
-@@ -56,6 +56,37 @@ static struct twl4030_usb_data omap4_usb_pdata = {
- 	.phy_suspend	= omap4430_phy_suspend,
- };
- 
-+static struct twl4030_usb_data omap3_usb_pdata = {
-+	.usb_mode	= T2_USB_MODE_ULPI,
-+};
-+
-+static int omap3_batt_table[] = {
-+/* 0 C */
-+30800, 29500, 28300, 27100,
-+26000, 24900, 23900, 22900, 22000, 21100, 20300, 19400, 18700, 17900,
-+17200, 16500, 15900, 15300, 14700, 14100, 13600, 13100, 12600, 12100,
-+11600, 11200, 10800, 10400, 10000, 9630,  9280,  8950,  8620,  8310,
-+8020,  7730,  7460,  7200,  6950,  6710,  6470,  6250,  6040,  5830,
-+5640,  5450,  5260,  5090,  4920,  4760,  4600,  4450,  4310,  4170,
-+4040,  3910,  3790,  3670,  3550
-+};
-+
-+static struct twl4030_bci_platform_data omap3_bci_pdata = {
-+	.battery_tmp_tbl	= omap3_batt_table,
-+	.tblsize		= ARRAY_SIZE(omap3_batt_table),
-+};
-+
-+static struct twl4030_madc_platform_data omap3_madc_pdata = {
-+	.irq_line	= 1,
-+};
-+
-+static struct twl4030_codec_audio_data omap3_audio;
-+
-+static struct twl4030_codec_data omap3_codec_pdata = {
-+	.audio_mclk = 26000000,
-+	.audio = &omap3_audio,
-+};
-+
- static struct regulator_init_data omap4_vdac_idata = {
- 	.constraints = {
- 		.min_uV			= 1800000,
-@@ -207,3 +238,25 @@ void __init omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
- 	    !pmic_data->clk32kg)
- 		pmic_data->clk32kg = &omap4_clk32kg_idata;
- }
-+
-+void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
-+				  u32 pdata_flags, u32 regulators_flags)
-+{
-+	if (!pmic_data->irq_base)
-+		pmic_data->irq_base = TWL4030_IRQ_BASE;
-+	if (!pmic_data->irq_end)
-+		pmic_data->irq_end = TWL4030_IRQ_END;
-+
-+	/* Common platform data configurations */
-+	if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb)
-+		pmic_data->usb = &omap3_usb_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci)
-+		pmic_data->bci = &omap3_bci_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_MADC && !pmic_data->madc)
-+		pmic_data->madc = &omap3_madc_pdata;
-+
-+	if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec)
-+		pmic_data->codec = &omap3_codec_pdata;
-+}
-diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h
-index d96c289..3b4b05d 100644
---- a/arch/arm/mach-omap2/twl-common.h
-+++ b/arch/arm/mach-omap2/twl-common.h
-@@ -2,6 +2,9 @@
- #define __OMAP_PMIC_COMMON__
- 
- #define TWL_COMMON_PDATA_USB		(1 << 0)
-+#define TWL_COMMON_PDATA_BCI		(1 << 1)
-+#define TWL_COMMON_PDATA_MADC		(1 << 2)
-+#define TWL_COMMON_PDATA_AUDIO		(1 << 3)
- 
- /* Common LDO regulators for TWL4030/TWL6030 */
- #define TWL_COMMON_REGULATOR_VDAC	(1 << 0)
-@@ -42,6 +45,9 @@ static inline void omap4_pmic_init(const char *pmic_type,
- 	omap_pmic_init(1, 400, pmic_type, OMAP44XX_IRQ_SYS_1N, pmic_data);
- }
- 
-+void omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
-+			   u32 pdata_flags, u32 regulators_flags);
-+
- void omap4_pmic_get_config(struct twl4030_platform_data *pmic_data,
- 			   u32 pdata_flags, u32 regulators_flags);
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0025-OMAP3-Move-common-regulator-configuration-to-twl-com.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0025-OMAP3-Move-common-regulator-configuration-to-twl-com.patch
deleted file mode 100644
index 4ea0aca..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0025-OMAP3-Move-common-regulator-configuration-to-twl-com.patch
+++ /dev/null
@@ -1,924 +0,0 @@
-From df02a0c8e1d42d1f861d138d1283172872c602ed Mon Sep 17 00:00:00 2001
-From: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Date: Tue, 7 Jun 2011 11:38:24 +0300
-Subject: [PATCH 025/149] OMAP3: Move common regulator configuration to twl-common
-
-Some regulator config can be moved out from board files,
-since they are close to identical.
-
-Signed-off-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
-Acked-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap2/board-3430sdp.c          |   51 ++++----------------------
- arch/arm/mach-omap2/board-cm-t35.c           |   44 ++++------------------
- arch/arm/mach-omap2/board-devkit8000.c       |   22 +----------
- arch/arm/mach-omap2/board-igep0020.c         |   28 +++------------
- arch/arm/mach-omap2/board-omap3beagle.c      |   46 +++---------------------
- arch/arm/mach-omap2/board-omap3evm.c         |   50 ++++----------------------
- arch/arm/mach-omap2/board-omap3pandora.c     |   47 +++++-------------------
- arch/arm/mach-omap2/board-omap3stalker.c     |   50 ++++----------------------
- arch/arm/mach-omap2/board-omap3touchbook.c   |   44 ++++++----------------
- arch/arm/mach-omap2/board-overo.c            |   46 +++---------------------
- arch/arm/mach-omap2/board-rx51-peripherals.c |   27 +++-----------
- arch/arm/mach-omap2/board-zoom-peripherals.c |   42 ++--------------------
- arch/arm/mach-omap2/twl-common.c             |   42 +++++++++++++++++++++
- arch/arm/mach-omap2/twl-common.h             |    5 +++
- 14 files changed, 124 insertions(+), 420 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index 8bbd4e0..bd600cf 100644
---- a/arch/arm/mach-omap2/board-3430sdp.c
-+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -283,16 +283,6 @@ static struct regulator_consumer_supply sdp3430_vaux3_supplies[] = {
- 	REGULATOR_SUPPLY("vcc", "spi1.0"),
- };
- 
--static struct regulator_consumer_supply sdp3430_vdda_dac_supplies[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_consumer_supply sdp3430_vpll2_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
- static struct regulator_consumer_supply sdp3430_vmmc1_supplies[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.0"),
- };
-@@ -409,36 +399,6 @@ static struct regulator_init_data sdp3430_vsim = {
- 	.consumer_supplies	= sdp3430_vsim_supplies,
- };
- 
--/* VDAC for DSS driving S-Video */
--static struct regulator_init_data sdp3430_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(sdp3430_vdda_dac_supplies),
--	.consumer_supplies	= sdp3430_vdda_dac_supplies,
--};
--
--static struct regulator_init_data sdp3430_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(sdp3430_vpll2_supplies),
--	.consumer_supplies	= sdp3430_vpll2_supplies,
--};
--
- static struct twl4030_platform_data sdp3430_twldata = {
- 	/* platform_data for children goes here */
- 	.gpio		= &sdp3430_gpio_data,
-@@ -451,16 +411,19 @@ static struct twl4030_platform_data sdp3430_twldata = {
- 	.vmmc1		= &sdp3430_vmmc1,
- 	.vmmc2		= &sdp3430_vmmc2,
- 	.vsim		= &sdp3430_vsim,
--	.vdac		= &sdp3430_vdac,
--	.vpll2		= &sdp3430_vpll2,
- };
- 
- static int __init omap3430_i2c_init(void)
- {
- 	/* i2c1 for PMIC only */
- 	omap3_pmic_get_config(&sdp3430_twldata,
--			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
--			  TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
-+			TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+	sdp3430_twldata.vdac->constraints.apply_uV = true;
-+	sdp3430_twldata.vpll2->constraints.apply_uV = true;
-+	sdp3430_twldata.vpll2->constraints.name = "VDVI";
-+
- 	omap3_pmic_init("twl4030", &sdp3430_twldata);
- 
- 	/* i2c2 on camera connector (for sensor control) and optional isp1301 */
-diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
-index cb00abc..35891d4 100644
---- a/arch/arm/mach-omap2/board-cm-t35.c
-+++ b/arch/arm/mach-omap2/board-cm-t35.c
-@@ -343,10 +343,6 @@ static struct regulator_consumer_supply cm_t35_vsim_supply[] = {
- 	REGULATOR_SUPPLY("vmmc_aux", "omap_hsmmc.0"),
- };
- 
--static struct regulator_consumer_supply cm_t35_vdac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
- static struct regulator_consumer_supply cm_t35_vdvi_supply[] = {
- 	REGULATOR_SUPPLY("vdvi", "omapdss"),
- };
-@@ -381,35 +377,6 @@ static struct regulator_init_data cm_t35_vsim = {
- 	.consumer_supplies	= cm_t35_vsim_supply,
- };
- 
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data cm_t35_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vdac_supply),
--	.consumer_supplies	= cm_t35_vdac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data cm_t35_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(cm_t35_vdvi_supply),
--	.consumer_supplies	= cm_t35_vdvi_supply,
--};
--
- static uint32_t cm_t35_keymap[] = {
- 	KEY(0, 0, KEY_A),	KEY(0, 1, KEY_B),	KEY(0, 2, KEY_LEFT),
- 	KEY(1, 0, KEY_UP),	KEY(1, 1, KEY_ENTER),	KEY(1, 2, KEY_DOWN),
-@@ -493,13 +460,18 @@ static struct twl4030_platform_data cm_t35_twldata = {
- 	.gpio		= &cm_t35_gpio_data,
- 	.vmmc1		= &cm_t35_vmmc1,
- 	.vsim		= &cm_t35_vsim,
--	.vdac		= &cm_t35_vdac,
--	.vpll2		= &cm_t35_vpll2,
- };
- 
- static void __init cm_t35_init_i2c(void)
- {
--	omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB, 0);
-+	omap3_pmic_get_config(&cm_t35_twldata, TWL_COMMON_PDATA_USB,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	cm_t35_twldata.vpll2->constraints.name = "VDVI";
-+	cm_t35_twldata.vpll2->num_consumer_supplies =
-+						ARRAY_SIZE(cm_t35_vdvi_supply);
-+	cm_t35_twldata.vpll2->consumer_supplies = cm_t35_vdvi_supply;
-+
- 	omap3_pmic_init("tps65930", &cm_t35_twldata);
- }
- 
-diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
-index 364942e..b6002ec 100644
---- a/arch/arm/mach-omap2/board-devkit8000.c
-+++ b/arch/arm/mach-omap2/board-devkit8000.c
-@@ -186,10 +186,6 @@ static struct omap_dss_board_info devkit8000_dss_data = {
- 	.default_device = &devkit8000_lcd_device,
- };
- 
--static struct regulator_consumer_supply devkit8000_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
- static uint32_t board_keymap[] = {
- 	KEY(0, 0, KEY_1),
- 	KEY(1, 0, KEY_2),
-@@ -289,20 +285,6 @@ static struct regulator_init_data devkit8000_vmmc1 = {
- 	.consumer_supplies	= devkit8000_vmmc1_supply,
- };
- 
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data devkit8000_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(devkit8000_vdda_dac_supply),
--	.consumer_supplies	= devkit8000_vdda_dac_supply,
--};
--
- /* VPLL1 for digital video outputs */
- static struct regulator_init_data devkit8000_vpll1 = {
- 	.constraints = {
-@@ -336,7 +318,6 @@ static struct twl4030_platform_data devkit8000_twldata = {
- 	/* platform_data for children goes here */
- 	.gpio		= &devkit8000_gpio_data,
- 	.vmmc1		= &devkit8000_vmmc1,
--	.vdac		= &devkit8000_vdac,
- 	.vpll1		= &devkit8000_vpll1,
- 	.vio		= &devkit8000_vio,
- 	.keypad		= &devkit8000_kp_data,
-@@ -345,7 +326,8 @@ static struct twl4030_platform_data devkit8000_twldata = {
- static int __init devkit8000_i2c_init(void)
- {
- 	omap3_pmic_get_config(&devkit8000_twldata,
--			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
-+			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
-+			  TWL_COMMON_REGULATOR_VDAC);
- 	omap3_pmic_init("tps65930", &devkit8000_twldata);
- 	/* Bus 3 is attached to the DVI port where devices like the pico DLP
- 	 * projector don't work reliably with 400kHz */
-diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
-index e0a6687..35be778 100644
---- a/arch/arm/mach-omap2/board-igep0020.c
-+++ b/arch/arm/mach-omap2/board-igep0020.c
-@@ -479,26 +479,6 @@ static struct omap_dss_board_info igep2_dss_data = {
- 	.default_device	= &igep2_dvi_device,
- };
- 
--static struct regulator_consumer_supply igep2_vpll2_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
--static struct regulator_init_data igep2_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(igep2_vpll2_supplies),
--	.consumer_supplies	= igep2_vpll2_supplies,
--};
--
- static void __init igep2_display_init(void)
- {
- 	int err = gpio_request_one(IGEP2_GPIO_DVI_PUP, GPIOF_OUT_INIT_HIGH,
-@@ -579,9 +559,11 @@ static void __init igep_i2c_init(void)
- 			pr_warning("IGEP2: Could not register I2C3 bus (%d)\n", ret);
- 
- 		igep_twldata.keypad	= &igep2_keypad_pdata;
--		igep_twldata.vpll2	= &igep2_vpll2;
--		/* Use common codec data */
--		omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO, 0);
-+		/* Get common pmic data */
-+		omap3_pmic_get_config(&igep_twldata, TWL_COMMON_PDATA_AUDIO,
-+				      TWL_COMMON_REGULATOR_VPLL2);
-+		igep_twldata.vpll2->constraints.apply_uV = true;
-+		igep_twldata.vpll2->constraints.name = "VDVI";
- 	}
- 
- 	omap3_pmic_init("twl4030", &igep_twldata);
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index ec61e9c..34f8411 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -209,15 +209,6 @@ static struct omap_dss_board_info beagle_dss_data = {
- 	.default_device = &beagle_dvi_device,
- };
- 
--static struct regulator_consumer_supply beagle_vdac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--static struct regulator_consumer_supply beagle_vdvi_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
- static void __init beagle_display_init(void)
- {
- 	int r;
-@@ -351,42 +342,11 @@ static struct regulator_init_data beagle_vsim = {
- 	.consumer_supplies	= beagle_vsim_supply,
- };
- 
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data beagle_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(beagle_vdac_supply),
--	.consumer_supplies	= beagle_vdac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data beagle_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(beagle_vdvi_supplies),
--	.consumer_supplies	= beagle_vdvi_supplies,
--};
--
- static struct twl4030_platform_data beagle_twldata = {
- 	/* platform_data for children goes here */
- 	.gpio		= &beagle_gpio_data,
- 	.vmmc1		= &beagle_vmmc1,
- 	.vsim		= &beagle_vsim,
--	.vdac		= &beagle_vdac,
--	.vpll2		= &beagle_vpll2,
- };
- 
- static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
-@@ -398,7 +358,11 @@ static struct i2c_board_info __initdata beagle_i2c_eeprom[] = {
- static int __init omap3_beagle_i2c_init(void)
- {
- 	omap3_pmic_get_config(&beagle_twldata,
--			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	beagle_twldata.vpll2->constraints.name = "VDVI";
-+
- 	omap3_pmic_init("twl4030", &beagle_twldata);
- 	/* Bus 3 is attached to the DVI port where devices like the pico DLP
- 	 * projector don't work reliably with 400kHz */
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index 1ca298a..c452b3f 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -430,45 +430,6 @@ static struct twl4030_keypad_data omap3evm_kp_data = {
- 	.rep		= 1,
- };
- 
--static struct regulator_consumer_supply omap3_evm_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--/* VDAC for DSS driving S-Video */
--static struct regulator_init_data omap3_evm_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vdda_dac_supply),
--	.consumer_supplies	= omap3_evm_vdda_dac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_consumer_supply omap3_evm_vpll2_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
--static struct regulator_init_data omap3_evm_vpll2 = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(omap3_evm_vpll2_supplies),
--	.consumer_supplies	= omap3_evm_vpll2_supplies,
--};
--
- /* ads7846 on SPI */
- static struct regulator_consumer_supply omap3evm_vio_supply[] = {
- 	REGULATOR_SUPPLY("vcc", "spi1.0"),
-@@ -535,8 +496,6 @@ static struct twl4030_platform_data omap3evm_twldata = {
- 	/* platform_data for children goes here */
- 	.keypad		= &omap3evm_kp_data,
- 	.gpio		= &omap3evm_gpio_data,
--	.vdac		= &omap3_evm_vdac,
--	.vpll2		= &omap3_evm_vpll2,
- 	.vio		= &omap3evm_vio,
- 	.vmmc1		= &omap3evm_vmmc1,
- 	.vsim		= &omap3evm_vsim,
-@@ -545,8 +504,13 @@ static struct twl4030_platform_data omap3evm_twldata = {
- static int __init omap3_evm_i2c_init(void)
- {
- 	omap3_pmic_get_config(&omap3evm_twldata,
--			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
--			  TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
-+			TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	omap3evm_twldata.vdac->constraints.apply_uV = true;
-+	omap3evm_twldata.vpll2->constraints.apply_uV = true;
-+
- 	omap3_pmic_init("twl4030", &omap3evm_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index f5abf76..080d7bd 100644
---- a/arch/arm/mach-omap2/board-omap3pandora.c
-+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -332,10 +332,6 @@ static struct regulator_consumer_supply pandora_vmmc3_supply[] = {
- 	REGULATOR_SUPPLY("vmmc", "omap_hsmmc.2"),
- };
- 
--static struct regulator_consumer_supply pandora_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
- static struct regulator_consumer_supply pandora_vdds_supplies[] = {
- 	REGULATOR_SUPPLY("vdds_sdi", "omapdss"),
- 	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-@@ -391,36 +387,6 @@ static struct regulator_init_data pandora_vmmc2 = {
- 	.consumer_supplies	= pandora_vmmc2_supply,
- };
- 
--/* VDAC for DSS driving S-Video */
--static struct regulator_init_data pandora_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(pandora_vdda_dac_supply),
--	.consumer_supplies	= pandora_vdda_dac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data pandora_vpll2 = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(pandora_vdds_supplies),
--	.consumer_supplies	= pandora_vdds_supplies,
--};
--
- /* VAUX1 for LCD */
- static struct regulator_init_data pandora_vaux1 = {
- 	.constraints = {
-@@ -514,8 +480,6 @@ static struct twl4030_platform_data omap3pandora_twldata = {
- 	.gpio		= &omap3pandora_gpio_data,
- 	.vmmc1		= &pandora_vmmc1,
- 	.vmmc2		= &pandora_vmmc2,
--	.vdac		= &pandora_vdac,
--	.vpll2		= &pandora_vpll2,
- 	.vaux1		= &pandora_vaux1,
- 	.vaux2		= &pandora_vaux2,
- 	.vaux4		= &pandora_vaux4,
-@@ -534,7 +498,16 @@ static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = {
- static int __init omap3pandora_i2c_init(void)
- {
- 	omap3_pmic_get_config(&omap3pandora_twldata,
--			      TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	omap3pandora_twldata.vdac->constraints.apply_uV = true;
-+
-+	omap3pandora_twldata.vpll2->constraints.apply_uV = true;
-+	omap3pandora_twldata.vpll2->num_consumer_supplies =
-+					ARRAY_SIZE(pandora_vdds_supplies);
-+	omap3pandora_twldata.vpll2->consumer_supplies = pandora_vdds_supplies;
-+
- 	omap3_pmic_init("tps65950", &omap3pandora_twldata);
- 	/* i2c2 pins are not connected */
- 	omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo,
-diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
-index 6e59e59..8e10498 100644
---- a/arch/arm/mach-omap2/board-omap3stalker.c
-+++ b/arch/arm/mach-omap2/board-omap3stalker.c
-@@ -383,52 +383,10 @@ static struct twl4030_keypad_data omap3stalker_kp_data = {
- 	.rep		= 1,
- };
- 
--static struct regulator_consumer_supply omap3_stalker_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--/* VDAC for DSS driving S-Video */
--static struct regulator_init_data omap3_stalker_vdac = {
--	.constraints		= {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--		| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--		| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(omap3_stalker_vdda_dac_supply),
--	.consumer_supplies	= omap3_stalker_vdda_dac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_consumer_supply omap3_stalker_vpll2_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
--static struct regulator_init_data omap3_stalker_vpll2 = {
--	.constraints		= {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV = true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--		| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--		| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(omap3_stalker_vpll2_supplies),
--	.consumer_supplies	= omap3_stalker_vpll2_supplies,
--};
--
- static struct twl4030_platform_data omap3stalker_twldata = {
- 	/* platform_data for children goes here */
- 	.keypad		= &omap3stalker_kp_data,
- 	.gpio		= &omap3stalker_gpio_data,
--	.vdac		= &omap3_stalker_vdac,
--	.vpll2		= &omap3_stalker_vpll2,
- 	.vmmc1		= &omap3stalker_vmmc1,
- 	.vsim		= &omap3stalker_vsim,
- };
-@@ -451,7 +409,13 @@ static int __init omap3_stalker_i2c_init(void)
- {
- 	omap3_pmic_get_config(&omap3stalker_twldata,
- 			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC |
--			TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	omap3stalker_twldata.vdac->constraints.apply_uV = true;
-+	omap3stalker_twldata.vpll2->constraints.apply_uV = true;
-+	omap3stalker_twldata.vpll2->constraints.name = "VDVI";
-+
- 	omap3_pmic_init("twl4030", &omap3stalker_twldata);
- 	omap_register_i2c_bus(2, 400, NULL, 0);
- 	omap_register_i2c_bus(3, 400, omap3stalker_i2c_boardinfo3,
-diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
-index 717972c..852ea04 100644
---- a/arch/arm/mach-omap2/board-omap3touchbook.c
-+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
-@@ -206,42 +206,11 @@ static struct regulator_init_data touchbook_vsim = {
- 	.consumer_supplies	= touchbook_vsim_supply,
- };
- 
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data touchbook_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vdac_supply),
--	.consumer_supplies	= touchbook_vdac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data touchbook_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(touchbook_vdvi_supply),
--	.consumer_supplies	= touchbook_vdvi_supply,
--};
--
- static struct twl4030_platform_data touchbook_twldata = {
- 	/* platform_data for children goes here */
- 	.gpio		= &touchbook_gpio_data,
- 	.vmmc1		= &touchbook_vmmc1,
- 	.vsim		= &touchbook_vsim,
--	.vdac		= &touchbook_vdac,
--	.vpll2		= &touchbook_vpll2,
- };
- 
- static struct i2c_board_info __initdata touchBook_i2c_boardinfo[] = {
-@@ -254,7 +223,18 @@ static int __init omap3_touchbook_i2c_init(void)
- {
- 	/* Standard TouchBook bus */
- 	omap3_pmic_get_config(&touchbook_twldata,
--			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	touchbook_twldata.vdac->num_consumer_supplies =
-+					ARRAY_SIZE(touchbook_vdac_supply);
-+	touchbook_twldata.vdac->consumer_supplies = touchbook_vdac_supply;
-+
-+	touchbook_twldata.vpll2->constraints.name = "VDVI";
-+	touchbook_twldata.vpll2->num_consumer_supplies =
-+					ARRAY_SIZE(touchbook_vdvi_supply);
-+	touchbook_twldata.vpll2->consumer_supplies = touchbook_vdvi_supply;
-+
- 	omap3_pmic_init("twl4030", &touchbook_twldata);
- 	/* Additional TouchBook bus */
- 	omap_register_i2c_bus(3, 100, touchBook_i2c_boardinfo,
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 776b444..f1f18d0 100644
---- a/arch/arm/mach-omap2/board-overo.c
-+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -265,15 +265,6 @@ static struct omap_dss_board_info overo_dss_data = {
- 	.default_device	= &overo_dvi_device,
- };
- 
--static struct regulator_consumer_supply overo_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--static struct regulator_consumer_supply overo_vdds_dsi_supply[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
- static struct mtd_partition overo_nand_partitions[] = {
- 	{
- 		.name           = "xloader",
-@@ -447,46 +438,19 @@ static struct regulator_init_data overo_vmmc1 = {
- 	.consumer_supplies	= overo_vmmc1_supply,
- };
- 
--/* VDAC for DSS driving S-Video (8 mA unloaded, max 65 mA) */
--static struct regulator_init_data overo_vdac = {
--	.constraints = {
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(overo_vdda_dac_supply),
--	.consumer_supplies	= overo_vdda_dac_supply,
--};
--
--/* VPLL2 for digital video outputs */
--static struct regulator_init_data overo_vpll2 = {
--	.constraints = {
--		.name			= "VDVI",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(overo_vdds_dsi_supply),
--	.consumer_supplies	= overo_vdds_dsi_supply,
--};
--
- static struct twl4030_platform_data overo_twldata = {
- 	.gpio		= &overo_gpio_data,
- 	.vmmc1		= &overo_vmmc1,
--	.vdac		= &overo_vdac,
--	.vpll2		= &overo_vpll2,
- };
- 
- static int __init overo_i2c_init(void)
- {
- 	omap3_pmic_get_config(&overo_twldata,
--			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
-+
-+	overo_twldata.vpll2->constraints.name = "VDVI";
-+
- 	omap3_pmic_init("tps65950", &overo_twldata);
- 	/* i2c2 pins are used for gpio */
- 	omap_register_i2c_bus(3, 400, NULL, 0);
-diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c
-index 3cdea39..d99e462 100644
---- a/arch/arm/mach-omap2/board-rx51-peripherals.c
-+++ b/arch/arm/mach-omap2/board-rx51-peripherals.c
-@@ -394,10 +394,6 @@ static struct regulator_consumer_supply rx51_vaux1_consumers[] = {
- 	REGULATOR_SUPPLY("vdd", "2-0063"),
- };
- 
--static struct regulator_consumer_supply rx51_vdac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
- static struct regulator_init_data rx51_vaux1 = {
- 	.constraints = {
- 		.name			= "V28",
-@@ -514,21 +510,6 @@ static struct regulator_init_data rx51_vsim = {
- 	.consumer_supplies	= rx51_vsim_supply,
- };
- 
--static struct regulator_init_data rx51_vdac = {
--	.constraints = {
--		.name			= "VDAC",
--		.min_uV			= 1800000,
--		.max_uV			= 1800000,
--		.apply_uV		= true,
--		.valid_modes_mask	= REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask		= REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies	= ARRAY_SIZE(rx51_vdac_supply),
--	.consumer_supplies	= rx51_vdac_supply,
--};
--
- static struct regulator_init_data rx51_vio = {
- 	.constraints = {
- 		.min_uV			= 1800000,
-@@ -781,7 +762,6 @@ static struct twl4030_platform_data rx51_twldata __initdata = {
- 	.vaux4			= &rx51_vaux4,
- 	.vmmc1			= &rx51_vmmc1,
- 	.vsim			= &rx51_vsim,
--	.vdac			= &rx51_vdac,
- 	.vio			= &rx51_vio,
- };
- 
-@@ -838,7 +818,12 @@ static int __init rx51_i2c_init(void)
- 	}
- 	rx51_twldata.vmmc2 = &rx51_vmmc2;
- 	omap3_pmic_get_config(&rx51_twldata,
--			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_MADC,
-+			TWL_COMMON_REGULATOR_VDAC);
-+
-+	rx51_twldata.vdac->constraints.apply_uV = true;
-+	rx51_twldata.vdac->constraints.name = "VDAC";
-+
- 	omap_pmic_init(1, 2200, "twl5030", INT_34XX_SYS_NIRQ, &rx51_twldata);
- 	omap_register_i2c_bus(2, 100, rx51_peripherals_i2c_board_info_2,
- 			      ARRAY_SIZE(rx51_peripherals_i2c_board_info_2));
-diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
-index 6d8df1b..13a6442 100644
---- a/arch/arm/mach-omap2/board-zoom-peripherals.c
-+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
-@@ -226,41 +226,6 @@ static struct omap2_hsmmc_info mmc[] = {
- 	{}      /* Terminator */
- };
- 
--static struct regulator_consumer_supply zoom_vpll2_supplies[] = {
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
--	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
--};
--
--static struct regulator_consumer_supply zoom_vdda_dac_supply[] = {
--	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
--};
--
--static struct regulator_init_data zoom_vpll2 = {
--	.constraints = {
--		.min_uV                 = 1800000,
--		.max_uV                 = 1800000,
--		.valid_modes_mask       = REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask         = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies		= ARRAY_SIZE(zoom_vpll2_supplies),
--	.consumer_supplies		= zoom_vpll2_supplies,
--};
--
--static struct regulator_init_data zoom_vdac = {
--	.constraints = {
--		.min_uV                 = 1800000,
--		.max_uV                 = 1800000,
--		.valid_modes_mask       = REGULATOR_MODE_NORMAL
--					| REGULATOR_MODE_STANDBY,
--		.valid_ops_mask         = REGULATOR_CHANGE_MODE
--					| REGULATOR_CHANGE_STATUS,
--	},
--	.num_consumer_supplies		= ARRAY_SIZE(zoom_vdda_dac_supply),
--	.consumer_supplies		= zoom_vdda_dac_supply,
--};
--
- static int zoom_twl_gpio_setup(struct device *dev,
- 		unsigned gpio, unsigned ngpio)
- {
-@@ -299,15 +264,14 @@ static struct twl4030_platform_data zoom_twldata = {
- 	.vmmc1          = &zoom_vmmc1,
- 	.vmmc2          = &zoom_vmmc2,
- 	.vsim           = &zoom_vsim,
--	.vpll2		= &zoom_vpll2,
--	.vdac		= &zoom_vdac,
- };
- 
- static int __init omap_i2c_init(void)
- {
- 	omap3_pmic_get_config(&zoom_twldata,
--			  TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
--			  TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO, 0);
-+			TWL_COMMON_PDATA_USB | TWL_COMMON_PDATA_BCI |
-+			TWL_COMMON_PDATA_MADC | TWL_COMMON_PDATA_AUDIO,
-+			TWL_COMMON_REGULATOR_VDAC | TWL_COMMON_REGULATOR_VPLL2);
- 
- 	if (machine_is_omap_zoom2()) {
- 		struct twl4030_codec_audio_data *audio_data;
-diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
-index 9e8decf..3aaa46f 100644
---- a/arch/arm/mach-omap2/twl-common.c
-+++ b/arch/arm/mach-omap2/twl-common.c
-@@ -87,6 +87,41 @@ static struct twl4030_codec_data omap3_codec_pdata = {
- 	.audio = &omap3_audio,
- };
- 
-+static struct regulator_consumer_supply omap3_vdda_dac_supplies[] = {
-+	REGULATOR_SUPPLY("vdda_dac", "omapdss_venc"),
-+};
-+
-+static struct regulator_init_data omap3_vdac_idata = {
-+	.constraints = {
-+		.min_uV			= 1800000,
-+		.max_uV			= 1800000,
-+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask		= REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+	.num_consumer_supplies	= ARRAY_SIZE(omap3_vdda_dac_supplies),
-+	.consumer_supplies	= omap3_vdda_dac_supplies,
-+};
-+
-+static struct regulator_consumer_supply omap3_vpll2_supplies[] = {
-+	REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
-+	REGULATOR_SUPPLY("vdds_dsi", "omapdss_dsi1"),
-+};
-+
-+static struct regulator_init_data omap3_vpll2_idata = {
-+	.constraints = {
-+		.min_uV                 = 1800000,
-+		.max_uV                 = 1800000,
-+		.valid_modes_mask       = REGULATOR_MODE_NORMAL
-+					| REGULATOR_MODE_STANDBY,
-+		.valid_ops_mask         = REGULATOR_CHANGE_MODE
-+					| REGULATOR_CHANGE_STATUS,
-+	},
-+	.num_consumer_supplies		= ARRAY_SIZE(omap3_vpll2_supplies),
-+	.consumer_supplies		= omap3_vpll2_supplies,
-+};
-+
- static struct regulator_init_data omap4_vdac_idata = {
- 	.constraints = {
- 		.min_uV			= 1800000,
-@@ -259,4 +294,11 @@ void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
- 
- 	if (pdata_flags & TWL_COMMON_PDATA_AUDIO && !pmic_data->codec)
- 		pmic_data->codec = &omap3_codec_pdata;
-+
-+	/* Common regulator configurations */
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VDAC && !pmic_data->vdac)
-+		pmic_data->vdac = &omap3_vdac_idata;
-+
-+	if (regulators_flags & TWL_COMMON_REGULATOR_VPLL2 && !pmic_data->vpll2)
-+		pmic_data->vpll2 = &omap3_vpll2_idata;
- }
-diff --git a/arch/arm/mach-omap2/twl-common.h b/arch/arm/mach-omap2/twl-common.h
-index 3b4b05d..5e83a5b 100644
---- a/arch/arm/mach-omap2/twl-common.h
-+++ b/arch/arm/mach-omap2/twl-common.h
-@@ -21,6 +21,11 @@
- #define TWL_COMMON_REGULATOR_VUSB	(1 << 9)
- #define TWL_COMMON_REGULATOR_CLK32KG	(1 << 10)
- 
-+/* TWL4030 LDO regulators */
-+#define TWL_COMMON_REGULATOR_VPLL1	(1 << 4)
-+#define TWL_COMMON_REGULATOR_VPLL2	(1 << 5)
-+
-+
- struct twl4030_platform_data;
- 
- void omap_pmic_init(int bus, u32 clkrate, const char *pmic_type, int pmic_irq,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0026-omap-mcbsp-Remove-rx_-tx_word_length-variables.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0026-omap-mcbsp-Remove-rx_-tx_word_length-variables.patch
deleted file mode 100644
index f1a4682..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0026-omap-mcbsp-Remove-rx_-tx_word_length-variables.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 7a7bf2e165760ed106b0f4c8beb7191e3abe944f Mon Sep 17 00:00:00 2001
-From: Jarkko Nikula <jhnikula at gmail.com>
-Date: Fri, 1 Jul 2011 08:52:26 +0000
-Subject: [PATCH 026/149] omap: mcbsp: Remove rx_/tx_word_length variables
-
-These variables got unused after ("omap: mcbsp: Drop in-driver transfer
-support") but was noticed only afterwards.
-
-Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/plat-omap/include/plat/mcbsp.h |    2 --
- arch/arm/plat-omap/mcbsp.c              |    3 ---
- 2 files changed, 0 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
-index 6c53508..63464ad 100644
---- a/arch/arm/plat-omap/include/plat/mcbsp.h
-+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
-@@ -385,8 +385,6 @@ struct omap_mcbsp {
- 	void __iomem *io_base;
- 	u8 id;
- 	u8 free;
--	omap_mcbsp_word_length rx_word_length;
--	omap_mcbsp_word_length tx_word_length;
- 
- 	int rx_irq;
- 	int tx_irq;
-diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
-index 455eadc..3c1fbdc 100644
---- a/arch/arm/plat-omap/mcbsp.c
-+++ b/arch/arm/plat-omap/mcbsp.c
-@@ -869,9 +869,6 @@ void omap_mcbsp_start(unsigned int id, int tx, int rx)
- 	if (cpu_is_omap34xx())
- 		omap_st_start(mcbsp);
- 
--	mcbsp->rx_word_length = (MCBSP_READ_CACHE(mcbsp, RCR1) >> 5) & 0x7;
--	mcbsp->tx_word_length = (MCBSP_READ_CACHE(mcbsp, XCR1) >> 5) & 0x7;
--
- 	/* Only enable SRG, if McBSP is master */
- 	w = MCBSP_READ_CACHE(mcbsp, PCR0);
- 	if (w & (FSXM | FSRM | CLKXM | CLKRM))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0027-omap-mcbsp-Remove-port-number-enums.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0027-omap-mcbsp-Remove-port-number-enums.patch
deleted file mode 100644
index b8389db..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0027-omap-mcbsp-Remove-port-number-enums.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From a16f9faa682c8cdd3bbd14618600ec67e4a56963 Mon Sep 17 00:00:00 2001
-From: Jarkko Nikula <jhnikula at gmail.com>
-Date: Fri, 1 Jul 2011 08:52:27 +0000
-Subject: [PATCH 027/149] omap: mcbsp: Remove port number enums
-
-These McBSP port number enums are used only in two places in the McBSP code
-so we may remove then and just use numeric values like rest of the code does.
-
-Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
----
- arch/arm/mach-omap1/mcbsp.c             |    4 ++--
- arch/arm/plat-omap/include/plat/mcbsp.h |   10 +---------
- 2 files changed, 3 insertions(+), 11 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
-index d9af981..ab7395d 100644
---- a/arch/arm/mach-omap1/mcbsp.c
-+++ b/arch/arm/mach-omap1/mcbsp.c
-@@ -38,7 +38,7 @@ static void omap1_mcbsp_request(unsigned int id)
- 	 * On 1510, 1610 and 1710, McBSP1 and McBSP3
- 	 * are DSP public peripherals.
- 	 */
--	if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
-+	if (id == 0 || id == 2) {
- 		if (dsp_use++ == 0) {
- 			api_clk = clk_get(NULL, "api_ck");
- 			dsp_clk = clk_get(NULL, "dsp_ck");
-@@ -59,7 +59,7 @@ static void omap1_mcbsp_request(unsigned int id)
- 
- static void omap1_mcbsp_free(unsigned int id)
- {
--	if (id == OMAP_MCBSP1 || id == OMAP_MCBSP3) {
-+	if (id == 0 || id == 2) {
- 		if (--dsp_use == 0) {
- 			if (!IS_ERR(api_clk)) {
- 				clk_disable(api_clk);
-diff --git a/arch/arm/plat-omap/include/plat/mcbsp.h b/arch/arm/plat-omap/include/plat/mcbsp.h
-index 63464ad..9882c657 100644
---- a/arch/arm/plat-omap/include/plat/mcbsp.h
-+++ b/arch/arm/plat-omap/include/plat/mcbsp.h
-@@ -33,7 +33,7 @@
- #define OMAP_MCBSP_PLATFORM_DEVICE(port_nr)		\
- static struct platform_device omap_mcbsp##port_nr = {	\
- 	.name	= "omap-mcbsp-dai",			\
--	.id	= OMAP_MCBSP##port_nr,			\
-+	.id	= port_nr - 1,			\
- }
- 
- #define MCBSP_CONFIG_TYPE2	0x2
-@@ -332,14 +332,6 @@ struct omap_mcbsp_reg_cfg {
- };
- 
- typedef enum {
--	OMAP_MCBSP1 = 0,
--	OMAP_MCBSP2,
--	OMAP_MCBSP3,
--	OMAP_MCBSP4,
--	OMAP_MCBSP5
--} omap_mcbsp_id;
--
--typedef enum {
- 	OMAP_MCBSP_WORD_8 = 0,
- 	OMAP_MCBSP_WORD_12,
- 	OMAP_MCBSP_WORD_16,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0028-OMAP-dmtimer-add-missing-include.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0028-OMAP-dmtimer-add-missing-include.patch
deleted file mode 100644
index 04a711e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0028-OMAP-dmtimer-add-missing-include.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4e6a7403182e1e30f8b403e7931ce7c832cb5db3 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 18:00:25 -0600
-Subject: [PATCH 028/149] OMAP: dmtimer: add missing include
-
-After commit caf64f2fdc48472995d40656eb1a75524c464447 ("omap: Make a subset
-of dmtimer functions into inline functions"),
-arch/arm/plat-omap/include/plat/dmtimer.h is missing an include of linux/io.h
-- add it.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
-Cc: Tony Lindgren <tony at atomide.com>
----
- arch/arm/plat-omap/include/plat/dmtimer.h |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/dmtimer.h b/arch/arm/plat-omap/include/plat/dmtimer.h
-index d0f3a2d..eb5d16c 100644
---- a/arch/arm/plat-omap/include/plat/dmtimer.h
-+++ b/arch/arm/plat-omap/include/plat/dmtimer.h
-@@ -34,6 +34,7 @@
- 
- #include <linux/clk.h>
- #include <linux/delay.h>
-+#include <linux/io.h>
- 
- #ifndef __ASM_ARCH_DMTIMER_H
- #define __ASM_ARCH_DMTIMER_H
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0029-OMAP2-hwmod-Fix-smart-standby-wakeup-support.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0029-OMAP2-hwmod-Fix-smart-standby-wakeup-support.patch
deleted file mode 100644
index 95384bb..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0029-OMAP2-hwmod-Fix-smart-standby-wakeup-support.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 8a9259c5eedfeb7e2dd3e001aa68e4e1a9149b41 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:00 +0200
-Subject: [PATCH 029/149] OMAP2+: hwmod: Fix smart-standby + wakeup support
-
-The commit 86009eb326afde34ffdc5648cd344aa86b8d58d4 was adding
-the wakeup support for new OMAP4 IPs. This support is incomplete for
-busmaster IPs that need as well to use smart-standby with wakeup.
-
-This new standbymode is suported on HSI and USB_HOST_FS for the moment.
-
-Add the new MSTANDBY_SMART_WKUP flag to mark the IPs that support this
-capability.
-
-Enable this new mode when applicable in _enable_wakeup, _disable_wakeup,
-_enable_sysc and _idle_sysc.
-
-The omap_hwmod_44xx_data.c will have to be updated to add this new flag.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Djamil Elaidi <d-elaidi at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   34 +++++++++++++++++++++----
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    2 +-
- 2 files changed, 29 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 293fa6c..384d3c3 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -391,7 +391,8 @@ static int _enable_wakeup(struct omap_hwmod *oh, u32 *v)
- 
- 	if (!oh->class->sysc ||
- 	    !((oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP) ||
--	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)))
-+	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) ||
-+	      (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)))
- 		return -EINVAL;
- 
- 	if (!oh->class->sysc->sysc_fields) {
-@@ -405,6 +406,8 @@ static int _enable_wakeup(struct omap_hwmod *oh, u32 *v)
- 
- 	if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
- 		_set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART_WKUP, v);
-+	if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
-+		_set_master_standbymode(oh, HWMOD_IDLEMODE_SMART_WKUP, v);
- 
- 	/* XXX test pwrdm_get_wken for this hwmod's subsystem */
- 
-@@ -426,7 +429,8 @@ static int _disable_wakeup(struct omap_hwmod *oh, u32 *v)
- 
- 	if (!oh->class->sysc ||
- 	    !((oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP) ||
--	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)))
-+	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) ||
-+	      (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)))
- 		return -EINVAL;
- 
- 	if (!oh->class->sysc->sysc_fields) {
-@@ -440,6 +444,8 @@ static int _disable_wakeup(struct omap_hwmod *oh, u32 *v)
- 
- 	if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
- 		_set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART, v);
-+	if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
-+		_set_master_standbymode(oh, HWMOD_IDLEMODE_SMART_WKUP, v);
- 
- 	/* XXX test pwrdm_get_wken for this hwmod's subsystem */
- 
-@@ -781,8 +787,16 @@ static void _enable_sysc(struct omap_hwmod *oh)
- 	}
- 
- 	if (sf & SYSC_HAS_MIDLEMODE) {
--		idlemode = (oh->flags & HWMOD_SWSUP_MSTANDBY) ?
--			HWMOD_IDLEMODE_NO : HWMOD_IDLEMODE_SMART;
-+		if (oh->flags & HWMOD_SWSUP_MSTANDBY) {
-+			idlemode = HWMOD_IDLEMODE_NO;
-+		} else {
-+			if (sf & SYSC_HAS_ENAWAKEUP)
-+				_enable_wakeup(oh, &v);
-+			if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
-+				idlemode = HWMOD_IDLEMODE_SMART_WKUP;
-+			else
-+				idlemode = HWMOD_IDLEMODE_SMART;
-+		}
- 		_set_master_standbymode(oh, idlemode, &v);
- 	}
- 
-@@ -840,8 +854,16 @@ static void _idle_sysc(struct omap_hwmod *oh)
- 	}
- 
- 	if (sf & SYSC_HAS_MIDLEMODE) {
--		idlemode = (oh->flags & HWMOD_SWSUP_MSTANDBY) ?
--			HWMOD_IDLEMODE_FORCE : HWMOD_IDLEMODE_SMART;
-+		if (oh->flags & HWMOD_SWSUP_MSTANDBY) {
-+			idlemode = HWMOD_IDLEMODE_FORCE;
-+		} else {
-+			if (sf & SYSC_HAS_ENAWAKEUP)
-+				_enable_wakeup(oh, &v);
-+			if (oh->class->sysc->idlemodes & MSTANDBY_SMART_WKUP)
-+				idlemode = HWMOD_IDLEMODE_SMART_WKUP;
-+			else
-+				idlemode = HWMOD_IDLEMODE_SMART;
-+		}
- 		_set_master_standbymode(oh, idlemode, &v);
- 	}
- 
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 1adea9c..e93438c 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -77,7 +77,6 @@ extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2;
- #define HWMOD_IDLEMODE_FORCE		(1 << 0)
- #define HWMOD_IDLEMODE_NO		(1 << 1)
- #define HWMOD_IDLEMODE_SMART		(1 << 2)
--/* Slave idle mode flag only */
- #define HWMOD_IDLEMODE_SMART_WKUP	(1 << 3)
- 
- /**
-@@ -258,6 +257,7 @@ struct omap_hwmod_ocp_if {
- #define MSTANDBY_FORCE		(HWMOD_IDLEMODE_FORCE << MASTER_STANDBY_SHIFT)
- #define MSTANDBY_NO		(HWMOD_IDLEMODE_NO << MASTER_STANDBY_SHIFT)
- #define MSTANDBY_SMART		(HWMOD_IDLEMODE_SMART << MASTER_STANDBY_SHIFT)
-+#define MSTANDBY_SMART_WKUP	(HWMOD_IDLEMODE_SMART_WKUP << MASTER_STANDBY_SHIFT)
- 
- /* omap_hwmod_sysconfig.sysc_flags capability flags */
- #define SYSC_HAS_AUTOIDLE	(1 << 0)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0030-OMAP4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0030-OMAP4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch
deleted file mode 100644
index a5a664e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0030-OMAP4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 8823fd9b9f1d6e6406c0b98438ad6282491b0ae5 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:01 +0200
-Subject: [PATCH 030/149] OMAP4: hwmod data: Add MSTANDBY_SMART_WKUP flag
-
-Add the flag to every IPs that support it to allow the
-framework to enable it instead of the SMART_STANDBY default
-mode.
-Without that, an IP with busmaster capability will not
-be able to wakeup the interconnect at all.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    9 +++++----
- 1 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index e1c69ff..8cbbfbf 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -660,7 +660,8 @@ static struct omap_hwmod_class_sysconfig omap44xx_aess_sysc = {
- 	.sysc_offs	= 0x0010,
- 	.sysc_flags	= (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
- 	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
--			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
-+			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART |
-+			   MSTANDBY_SMART_WKUP),
- 	.sysc_fields	= &omap_hwmod_sysc_type2,
- };
- 
-@@ -2044,7 +2045,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_hsi_sysc = {
- 			   SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
- 	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
- 			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
--			   MSTANDBY_SMART),
-+			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
- 	.sysc_fields	= &omap_hwmod_sysc_type1,
- };
- 
-@@ -2446,7 +2447,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_iss_sysc = {
- 			   SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
- 	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
- 			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
--			   MSTANDBY_SMART),
-+			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
- 	.sysc_fields	= &omap_hwmod_sysc_type2,
- };
- 
-@@ -3420,7 +3421,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_mmc_sysc = {
- 			   SYSC_HAS_SOFTRESET),
- 	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
- 			   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
--			   MSTANDBY_SMART),
-+			   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
- 	.sysc_fields	= &omap_hwmod_sysc_type2,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0031-OMAP2-hwmod-Enable-module-in-shutdown-to-access-sysc.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0031-OMAP2-hwmod-Enable-module-in-shutdown-to-access-sysc.patch
deleted file mode 100644
index ec066b4..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0031-OMAP2-hwmod-Enable-module-in-shutdown-to-access-sysc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 3097e6265e79329635b528dd97b7fa3ed7dbb805 Mon Sep 17 00:00:00 2001
-From: Miguel Vadillo <vadillo at ti.com>
-Date: Fri, 1 Jul 2011 22:54:02 +0200
-Subject: [PATCH 031/149] OMAP2+: hwmod: Enable module in shutdown to access sysconfig
-
-When calling the shutdown, the module may be already in idle.
-Accessing the sysconfig register will then lead to a crash.
-In that case, re-enable the module in order to allow the access
-to the sysconfig register.
-
-Signed-off-by: Miguel Vadillo <vadillo at ti.com>
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |    5 ++++-
- 1 files changed, 4 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 384d3c3..cbc2a8a 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1396,8 +1396,11 @@ static int _shutdown(struct omap_hwmod *oh)
- 		}
- 	}
- 
--	if (oh->class->sysc)
-+	if (oh->class->sysc) {
-+		if (oh->_state == _HWMOD_STATE_IDLE)
-+			_enable(oh);
- 		_shutdown_sysc(oh);
-+	}
- 
- 	/*
- 	 * If an IP contains only one HW reset line, then assert it
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0032-OMAP2-hwmod-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0032-OMAP2-hwmod-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch
deleted file mode 100644
index 6f92108..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0032-OMAP2-hwmod-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 0b7a00a668b460c5a541d2d9d77a96cd0de3f57d Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:03 +0200
-Subject: [PATCH 032/149] OMAP2+: hwmod: Do not write the enawakeup bit if SYSC_HAS_ENAWAKEUP is not set
-
-The Type 2 type of IPs will not have any enawakeup bit in their sysconfig.
-Writing to that bit will instead trigger a softreset.
-Check the flag to write this bit only if the module supports it.
-
-Reported-by: Miguel Vadillo <vadillo at ti.com>
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |   14 ++++----------
- 1 files changed, 4 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index cbc2a8a..3800084 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -387,8 +387,6 @@ static int _set_module_autoidle(struct omap_hwmod *oh, u8 autoidle,
-  */
- static int _enable_wakeup(struct omap_hwmod *oh, u32 *v)
- {
--	u32 wakeup_mask;
--
- 	if (!oh->class->sysc ||
- 	    !((oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP) ||
- 	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) ||
-@@ -400,9 +398,8 @@ static int _enable_wakeup(struct omap_hwmod *oh, u32 *v)
- 		return -EINVAL;
- 	}
- 
--	wakeup_mask = (0x1 << oh->class->sysc->sysc_fields->enwkup_shift);
--
--	*v |= wakeup_mask;
-+	if (oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP)
-+		*v |= 0x1 << oh->class->sysc->sysc_fields->enwkup_shift;
- 
- 	if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
- 		_set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART_WKUP, v);
-@@ -425,8 +422,6 @@ static int _enable_wakeup(struct omap_hwmod *oh, u32 *v)
-  */
- static int _disable_wakeup(struct omap_hwmod *oh, u32 *v)
- {
--	u32 wakeup_mask;
--
- 	if (!oh->class->sysc ||
- 	    !((oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP) ||
- 	      (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP) ||
-@@ -438,9 +433,8 @@ static int _disable_wakeup(struct omap_hwmod *oh, u32 *v)
- 		return -EINVAL;
- 	}
- 
--	wakeup_mask = (0x1 << oh->class->sysc->sysc_fields->enwkup_shift);
--
--	*v &= ~wakeup_mask;
-+	if (oh->class->sysc->sysc_flags & SYSC_HAS_ENAWAKEUP)
-+		*v &= ~(0x1 << oh->class->sysc->sysc_fields->enwkup_shift);
- 
- 	if (oh->class->sysc->idlemodes & SIDLE_SMART_WKUP)
- 		_set_slave_idlemode(oh, HWMOD_IDLEMODE_SMART, v);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0033-OMAP2-hwmod-Remove-_populate_mpu_rt_base-warning.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0033-OMAP2-hwmod-Remove-_populate_mpu_rt_base-warning.patch
deleted file mode 100644
index 8963785..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0033-OMAP2-hwmod-Remove-_populate_mpu_rt_base-warning.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9c5dd6c8e5a9dd6fc98e30a45a3d929034de664b Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:04 +0200
-Subject: [PATCH 033/149] OMAP2+: hwmod: Remove _populate_mpu_rt_base warning
-
-It is perfectly valid for some hwmod to not have any
-register target address for sysconfig. This is especially
-true for interconnect hwmods.
-Remove the warning.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |    3 ---
- 1 files changed, 0 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 3800084..f401417 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1704,9 +1704,6 @@ static int __init _populate_mpu_rt_base(struct omap_hwmod *oh, void *data)
- 		return 0;
- 
- 	oh->_mpu_rt_va = _find_mpu_rt_base(oh, oh->_mpu_port_index);
--	if (!oh->_mpu_rt_va)
--		pr_warning("omap_hwmod: %s found no _mpu_rt_va for %s\n",
--				__func__, oh->name);
- 
- 	return 0;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0034-OMAP2-hwmod-Fix-the-HW-reset-management.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0034-OMAP2-hwmod-Fix-the-HW-reset-management.patch
deleted file mode 100644
index 7e390ed..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0034-OMAP2-hwmod-Fix-the-HW-reset-management.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 0fdacba393a3d2b2c87b4a9c4b2bb811bd896c09 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:05 +0200
-Subject: [PATCH 034/149] OMAP2+: hwmod: Fix the HW reset management
-
-The HW reset must be de-assert after the clocks are enabled
-but before waiting for the target to be ready. Otherwise the
-reset might not work properly since the clock is not running
-to proceed the reset.
-
-De-assert the reset after _enable_clocks and before
-_wait_target_ready.
-Re-assert it only when the clocks are disabled.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |   32 ++++++++++++++++----------------
- 1 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index f401417..df91bb1 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1250,15 +1250,6 @@ static int _enable(struct omap_hwmod *oh)
- 
- 	pr_debug("omap_hwmod: %s: enabling\n", oh->name);
- 
--	/*
--	 * If an IP contains only one HW reset line, then de-assert it in order
--	 * to allow to enable the clocks. Otherwise the PRCM will return
--	 * Intransition status, and the init will failed.
--	 */
--	if ((oh->_state == _HWMOD_STATE_INITIALIZED ||
--	     oh->_state == _HWMOD_STATE_DISABLED) && oh->rst_lines_cnt == 1)
--		_deassert_hardreset(oh, oh->rst_lines[0].name);
--
- 	/* Mux pins for device runtime if populated */
- 	if (oh->mux && (!oh->mux->enabled ||
- 			((oh->_state == _HWMOD_STATE_IDLE) &&
-@@ -1268,6 +1259,15 @@ static int _enable(struct omap_hwmod *oh)
- 	_add_initiator_dep(oh, mpu_oh);
- 	_enable_clocks(oh);
- 
-+	/*
-+	 * If an IP contains only one HW reset line, then de-assert it in order
-+	 * to allow the module state transition. Otherwise the PRCM will return
-+	 * Intransition status, and the init will failed.
-+	 */
-+	if ((oh->_state == _HWMOD_STATE_INITIALIZED ||
-+	     oh->_state == _HWMOD_STATE_DISABLED) && oh->rst_lines_cnt == 1)
-+		_deassert_hardreset(oh, oh->rst_lines[0].name);
-+
- 	r = _wait_target_ready(oh);
- 	if (!r) {
- 		oh->_state = _HWMOD_STATE_ENABLED;
-@@ -1396,13 +1396,6 @@ static int _shutdown(struct omap_hwmod *oh)
- 		_shutdown_sysc(oh);
- 	}
- 
--	/*
--	 * If an IP contains only one HW reset line, then assert it
--	 * before disabling the clocks and shutting down the IP.
--	 */
--	if (oh->rst_lines_cnt == 1)
--		_assert_hardreset(oh, oh->rst_lines[0].name);
--
- 	/* clocks and deps are already disabled in idle */
- 	if (oh->_state == _HWMOD_STATE_ENABLED) {
- 		_del_initiator_dep(oh, mpu_oh);
-@@ -1411,6 +1404,13 @@ static int _shutdown(struct omap_hwmod *oh)
- 	}
- 	/* XXX Should this code also force-disable the optional clocks? */
- 
-+	/*
-+	 * If an IP contains only one HW reset line, then assert it
-+	 * after disabling the clocks and before shutting down the IP.
-+	 */
-+	if (oh->rst_lines_cnt == 1)
-+		_assert_hardreset(oh, oh->rst_lines[0].name);
-+
- 	/* Mux pins to safe mode or use populated off mode values */
- 	if (oh->mux)
- 		omap_hwmod_mux(oh->mux, _HWMOD_STATE_DISABLED);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0035-OMAP-hwmod-Add-warnings-if-enable-failed.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0035-OMAP-hwmod-Add-warnings-if-enable-failed.patch
deleted file mode 100644
index fbedcef..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0035-OMAP-hwmod-Add-warnings-if-enable-failed.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From ea1e84fd91f4bfa506f7d44c4183ab649308b940 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:06 +0200
-Subject: [PATCH 035/149] OMAP: hwmod: Add warnings if enable failed
-
-Change the debug into warning to check what IPs are failing.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index df91bb1..64e9830 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -944,6 +944,8 @@ static int _init_clocks(struct omap_hwmod *oh, void *data)
- 
- 	if (!ret)
- 		oh->_state = _HWMOD_STATE_CLKS_INITED;
-+	else
-+		pr_warning("omap_hwmod: %s: cannot _init_clocks\n", oh->name);
- 
- 	return ret;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0036-OMAP-hwmod-Move-pr_debug-to-improve-the-readability.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0036-OMAP-hwmod-Move-pr_debug-to-improve-the-readability.patch
deleted file mode 100644
index e484c43..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0036-OMAP-hwmod-Move-pr_debug-to-improve-the-readability.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 1a090fd9d66008314ef1963ff7335462b4231d8b Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Fri, 1 Jul 2011 22:54:07 +0200
-Subject: [PATCH 036/149] OMAP: hwmod: Move pr_debug to improve the readability
-
-Move the pr_debug at the top of the function
-to trace the entry even if the first test is failing.
-That help understanding that we entered the function
-but failed in it.
-
-Move the _enable last part out of the test to reduce
-indentation and improve readability.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |   32 +++++++++++++++++---------------
- 1 files changed, 17 insertions(+), 15 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 64e9830..e530bcb 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1242,6 +1242,8 @@ static int _enable(struct omap_hwmod *oh)
- {
- 	int r;
- 
-+	pr_debug("omap_hwmod: %s: enabling\n", oh->name);
-+
- 	if (oh->_state != _HWMOD_STATE_INITIALIZED &&
- 	    oh->_state != _HWMOD_STATE_IDLE &&
- 	    oh->_state != _HWMOD_STATE_DISABLED) {
-@@ -1250,8 +1252,6 @@ static int _enable(struct omap_hwmod *oh)
- 		return -EINVAL;
- 	}
- 
--	pr_debug("omap_hwmod: %s: enabling\n", oh->name);
--
- 	/* Mux pins for device runtime if populated */
- 	if (oh->mux && (!oh->mux->enabled ||
- 			((oh->_state == _HWMOD_STATE_IDLE) &&
-@@ -1271,19 +1271,21 @@ static int _enable(struct omap_hwmod *oh)
- 		_deassert_hardreset(oh, oh->rst_lines[0].name);
- 
- 	r = _wait_target_ready(oh);
--	if (!r) {
--		oh->_state = _HWMOD_STATE_ENABLED;
--
--		/* Access the sysconfig only if the target is ready */
--		if (oh->class->sysc) {
--			if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
--				_update_sysc_cache(oh);
--			_enable_sysc(oh);
--		}
--	} else {
--		_disable_clocks(oh);
-+	if (r) {
- 		pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
- 			 oh->name, r);
-+		_disable_clocks(oh);
-+
-+		return r;
-+	}
-+
-+	oh->_state = _HWMOD_STATE_ENABLED;
-+
-+	/* Access the sysconfig only if the target is ready */
-+	if (oh->class->sysc) {
-+		if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
-+			_update_sysc_cache(oh);
-+		_enable_sysc(oh);
- 	}
- 
- 	return r;
-@@ -1299,14 +1301,14 @@ static int _enable(struct omap_hwmod *oh)
-  */
- static int _idle(struct omap_hwmod *oh)
- {
-+	pr_debug("omap_hwmod: %s: idling\n", oh->name);
-+
- 	if (oh->_state != _HWMOD_STATE_ENABLED) {
- 		WARN(1, "omap_hwmod: %s: idle state can only be entered from "
- 		     "enabled state\n", oh->name);
- 		return -EINVAL;
- 	}
- 
--	pr_debug("omap_hwmod: %s: idling\n", oh->name);
--
- 	if (oh->class->sysc)
- 		_idle_sysc(oh);
- 	_del_initiator_dep(oh, mpu_oh);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0037-omap_hwmod-use-a-null-structure-record-to-terminate-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0037-omap_hwmod-use-a-null-structure-record-to-terminate-.patch
deleted file mode 100644
index 8618e74..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0037-omap_hwmod-use-a-null-structure-record-to-terminate-.patch
+++ /dev/null
@@ -1,3529 +0,0 @@
-From 2c900775f726b160e5ce702e75554282c2869d60 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:05 -0600
-Subject: [PATCH 037/149] omap_hwmod: use a null structure record to terminate omap_hwmod_addr_space arrays
-
-Previously, struct omap_hwmod_addr_space arrays were unterminated; and
-users of these arrays used the ARRAY_SIZE() macro to determine the
-length of the array.  However, ARRAY_SIZE() only works when the array
-is in the same scope as the macro user.
-
-So far this hasn't been a problem.  However, to reduce duplicated
-data, a subsequent patch will move common data to a separate, shared
-file.  When this is done, ARRAY_SIZE() will no longer be usable.
-
-This patch removes ARRAY_SIZE() usage for struct omap_hwmod_addr_space
-arrays and uses a null structure member as the array terminator
-instead.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   45 ++++++--
- arch/arm/mach-omap2/omap_hwmod_2420_data.c   |   66 +++++-----
- arch/arm/mach-omap2/omap_hwmod_2430_data.c   |   83 ++++++-------
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c   |  108 ++++++++--------
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |  170 +++++++++++++-------------
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    2 -
- 6 files changed, 249 insertions(+), 225 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index e530bcb..73599f0 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -2,6 +2,7 @@
-  * omap_hwmod implementation for OMAP2/3/4
-  *
-  * Copyright (C) 2009-2011 Nokia Corporation
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  *
-  * Paul Walmsley, Benoît Cousson, Kevin Hilman
-  *
-@@ -678,6 +679,29 @@ static void _disable_optional_clocks(struct omap_hwmod *oh)
- }
- 
- /**
-+ * _count_ocp_if_addr_spaces - count the number of address space entries for @oh
-+ * @oh: struct omap_hwmod *oh
-+ *
-+ * Count and return the number of address space ranges associated with
-+ * the hwmod @oh.  Used to allocate struct resource data.  Returns 0
-+ * if @oh is NULL.
-+ */
-+static int _count_ocp_if_addr_spaces(struct omap_hwmod_ocp_if *os)
-+{
-+	struct omap_hwmod_addr_space *mem;
-+	int i = 0;
-+
-+	if (!os || !os->addr)
-+		return 0;
-+
-+	do {
-+		mem = &os->addr[i++];
-+	} while (mem->pa_start != mem->pa_end);
-+
-+	return i;
-+}
-+
-+/**
-  * _find_mpu_port_index - find hwmod OCP slave port ID intended for MPU use
-  * @oh: struct omap_hwmod *
-  *
-@@ -722,8 +746,7 @@ static void __iomem * __init _find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
- {
- 	struct omap_hwmod_ocp_if *os;
- 	struct omap_hwmod_addr_space *mem;
--	int i;
--	int found = 0;
-+	int i = 0, found = 0;
- 	void __iomem *va_start;
- 
- 	if (!oh || oh->slaves_cnt == 0)
-@@ -731,12 +754,14 @@ static void __iomem * __init _find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
- 
- 	os = oh->slaves[index];
- 
--	for (i = 0, mem = os->addr; i < os->addr_cnt; i++, mem++) {
--		if (mem->flags & ADDR_TYPE_RT) {
-+	if (!os->addr)
-+		return NULL;
-+
-+	do {
-+		mem = &os->addr[i++];
-+		if (mem->flags & ADDR_TYPE_RT)
- 			found = 1;
--			break;
--		}
--	}
-+	} while (!found && mem->pa_start != mem->pa_end);
- 
- 	if (found) {
- 		va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start);
-@@ -1962,7 +1987,7 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh)
- 	ret = oh->mpu_irqs_cnt + oh->sdma_reqs_cnt;
- 
- 	for (i = 0; i < oh->slaves_cnt; i++)
--		ret += oh->slaves[i]->addr_cnt;
-+		ret += _count_ocp_if_addr_spaces(oh->slaves[i]);
- 
- 	return ret;
- }
-@@ -2002,10 +2027,12 @@ int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res)
- 
- 	for (i = 0; i < oh->slaves_cnt; i++) {
- 		struct omap_hwmod_ocp_if *os;
-+		int addr_cnt;
- 
- 		os = oh->slaves[i];
-+		addr_cnt = _count_ocp_if_addr_spaces(os);
- 
--		for (j = 0; j < os->addr_cnt; j++) {
-+		for (j = 0; j < addr_cnt; j++) {
- 			(res + r)->name = (os->addr + j)->name;
- 			(res + r)->start = (os->addr + j)->pa_start;
- 			(res + r)->end = (os->addr + j)->pa_end;
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index c4d0ae8..1a7ce3e 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -1,7 +1,7 @@
- /*
-  * omap_hwmod_2420_data.c - hardware modules present on the OMAP2420 chips
-  *
-- * Copyright (C) 2009-2010 Nokia Corporation
-+ * Copyright (C) 2009-2011 Nokia Corporation
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -120,6 +120,7 @@ static struct omap_hwmod_addr_space omap2420_mcspi1_addr_space[] = {
- 		.pa_end		= 0x480980ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi1 = {
-@@ -127,7 +128,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi1 = {
- 	.slave		= &omap2420_mcspi1_hwmod,
- 	.clk		= "mcspi1_ick",
- 	.addr		= omap2420_mcspi1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_mcspi1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -138,6 +138,7 @@ static struct omap_hwmod_addr_space omap2420_mcspi2_addr_space[] = {
- 		.pa_end		= 0x4809a0ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi2 = {
-@@ -145,7 +146,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi2 = {
- 	.slave		= &omap2420_mcspi2_hwmod,
- 	.clk		= "mcspi2_ick",
- 	.addr		= omap2420_mcspi2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_mcspi2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -163,6 +163,7 @@ static struct omap_hwmod_addr_space omap2420_uart1_addr_space[] = {
- 		.pa_end		= OMAP2_UART1_BASE + SZ_8K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
-@@ -170,7 +171,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
- 	.slave		= &omap2420_uart1_hwmod,
- 	.clk		= "uart1_ick",
- 	.addr		= omap2420_uart1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_uart1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -181,6 +181,7 @@ static struct omap_hwmod_addr_space omap2420_uart2_addr_space[] = {
- 		.pa_end		= OMAP2_UART2_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
-@@ -188,7 +189,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
- 	.slave		= &omap2420_uart2_hwmod,
- 	.clk		= "uart2_ick",
- 	.addr		= omap2420_uart2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_uart2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -199,6 +199,7 @@ static struct omap_hwmod_addr_space omap2420_uart3_addr_space[] = {
- 		.pa_end		= OMAP2_UART3_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
-@@ -206,7 +207,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
- 	.slave		= &omap2420_uart3_hwmod,
- 	.clk		= "uart3_ick",
- 	.addr		= omap2420_uart3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_uart3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -220,6 +220,7 @@ static struct omap_hwmod_addr_space omap2420_i2c1_addr_space[] = {
- 		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_core__i2c1 = {
-@@ -227,7 +228,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__i2c1 = {
- 	.slave		= &omap2420_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
- 	.addr		= omap2420_i2c1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_i2c1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -238,6 +238,7 @@ static struct omap_hwmod_addr_space omap2420_i2c2_addr_space[] = {
- 		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_core__i2c2 = {
-@@ -245,7 +246,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__i2c2 = {
- 	.slave		= &omap2420_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
- 	.addr		= omap2420_i2c2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_i2c2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -370,6 +370,7 @@ static struct omap_hwmod_addr_space omap2420_timer1_addrs[] = {
- 		.pa_end		= 0x48028000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> timer1 */
-@@ -378,7 +379,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__timer1 = {
- 	.slave		= &omap2420_timer1_hwmod,
- 	.clk		= "gpt1_ick",
- 	.addr		= omap2420_timer1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -420,6 +420,7 @@ static struct omap_hwmod_addr_space omap2420_timer2_addrs[] = {
- 		.pa_end		= 0x4802a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer2 */
-@@ -428,7 +429,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer2 = {
- 	.slave		= &omap2420_timer2_hwmod,
- 	.clk		= "gpt2_ick",
- 	.addr		= omap2420_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -470,6 +470,7 @@ static struct omap_hwmod_addr_space omap2420_timer3_addrs[] = {
- 		.pa_end		= 0x48078000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer3 */
-@@ -478,7 +479,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer3 = {
- 	.slave		= &omap2420_timer3_hwmod,
- 	.clk		= "gpt3_ick",
- 	.addr		= omap2420_timer3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -520,6 +520,7 @@ static struct omap_hwmod_addr_space omap2420_timer4_addrs[] = {
- 		.pa_end		= 0x4807a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer4 */
-@@ -528,7 +529,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer4 = {
- 	.slave		= &omap2420_timer4_hwmod,
- 	.clk		= "gpt4_ick",
- 	.addr		= omap2420_timer4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -570,6 +570,7 @@ static struct omap_hwmod_addr_space omap2420_timer5_addrs[] = {
- 		.pa_end		= 0x4807c000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer5 */
-@@ -578,7 +579,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer5 = {
- 	.slave		= &omap2420_timer5_hwmod,
- 	.clk		= "gpt5_ick",
- 	.addr		= omap2420_timer5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -621,6 +621,7 @@ static struct omap_hwmod_addr_space omap2420_timer6_addrs[] = {
- 		.pa_end		= 0x4807e000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer6 */
-@@ -629,7 +630,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer6 = {
- 	.slave		= &omap2420_timer6_hwmod,
- 	.clk		= "gpt6_ick",
- 	.addr		= omap2420_timer6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer6_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -671,6 +671,7 @@ static struct omap_hwmod_addr_space omap2420_timer7_addrs[] = {
- 		.pa_end		= 0x48080000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer7 */
-@@ -679,7 +680,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer7 = {
- 	.slave		= &omap2420_timer7_hwmod,
- 	.clk		= "gpt7_ick",
- 	.addr		= omap2420_timer7_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer7_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -721,6 +721,7 @@ static struct omap_hwmod_addr_space omap2420_timer8_addrs[] = {
- 		.pa_end		= 0x48082000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer8 */
-@@ -729,7 +730,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer8 = {
- 	.slave		= &omap2420_timer8_hwmod,
- 	.clk		= "gpt8_ick",
- 	.addr		= omap2420_timer8_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer8_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -771,6 +771,7 @@ static struct omap_hwmod_addr_space omap2420_timer9_addrs[] = {
- 		.pa_end		= 0x48084000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer9 */
-@@ -779,7 +780,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer9 = {
- 	.slave		= &omap2420_timer9_hwmod,
- 	.clk		= "gpt9_ick",
- 	.addr		= omap2420_timer9_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer9_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -821,6 +821,7 @@ static struct omap_hwmod_addr_space omap2420_timer10_addrs[] = {
- 		.pa_end		= 0x48086000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer10 */
-@@ -829,7 +830,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer10 = {
- 	.slave		= &omap2420_timer10_hwmod,
- 	.clk		= "gpt10_ick",
- 	.addr		= omap2420_timer10_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer10_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -871,6 +871,7 @@ static struct omap_hwmod_addr_space omap2420_timer11_addrs[] = {
- 		.pa_end		= 0x48088000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer11 */
-@@ -879,7 +880,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer11 = {
- 	.slave		= &omap2420_timer11_hwmod,
- 	.clk		= "gpt11_ick",
- 	.addr		= omap2420_timer11_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer11_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -921,6 +921,7 @@ static struct omap_hwmod_addr_space omap2420_timer12_addrs[] = {
- 		.pa_end		= 0x4808a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer12 */
-@@ -929,7 +930,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__timer12 = {
- 	.slave		= &omap2420_timer12_hwmod,
- 	.clk		= "gpt12_ick",
- 	.addr		= omap2420_timer12_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_timer12_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -966,6 +966,7 @@ static struct omap_hwmod_addr_space omap2420_wd_timer2_addrs[] = {
- 		.pa_end		= 0x4802207f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_wkup__wd_timer2 = {
-@@ -973,7 +974,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__wd_timer2 = {
- 	.slave		= &omap2420_wd_timer2_hwmod,
- 	.clk		= "mpu_wdt_ick",
- 	.addr		= omap2420_wd_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_wd_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1184,6 +1184,7 @@ static struct omap_hwmod_addr_space omap2420_dss_addrs[] = {
- 		.pa_end		= 0x480503FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss */
-@@ -1192,7 +1193,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dss = {
- 	.slave		= &omap2420_dss_core_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2420_dss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_dss_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1268,6 +1268,7 @@ static struct omap_hwmod_addr_space omap2420_dss_dispc_addrs[] = {
- 		.pa_end		= 0x480507FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1276,7 +1277,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dss_dispc = {
- 	.slave		= &omap2420_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2420_dss_dispc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_dss_dispc_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION,
-@@ -1338,6 +1338,7 @@ static struct omap_hwmod_addr_space omap2420_dss_rfbi_addrs[] = {
- 		.pa_end		= 0x48050BFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_rfbi */
-@@ -1346,7 +1347,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dss_rfbi = {
- 	.slave		= &omap2420_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2420_dss_rfbi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_dss_rfbi_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1394,6 +1394,7 @@ static struct omap_hwmod_addr_space omap2420_dss_venc_addrs[] = {
- 		.pa_end		= 0x48050FFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_venc */
-@@ -1402,7 +1403,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = {
- 	.slave		= &omap2420_dss_venc_hwmod,
- 	.clk		= "dss_54m_fck",
- 	.addr		= omap2420_dss_venc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_dss_venc_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_VENC_REGION,
-@@ -1536,6 +1536,7 @@ static struct omap_hwmod_addr_space omap2420_gpio1_addr_space[] = {
- 		.pa_end		= 0x480181ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio1 = {
-@@ -1543,7 +1544,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio1 = {
- 	.slave		= &omap2420_gpio1_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2420_gpio1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_gpio1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1554,6 +1554,7 @@ static struct omap_hwmod_addr_space omap2420_gpio2_addr_space[] = {
- 		.pa_end		= 0x4801a1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio2 = {
-@@ -1561,7 +1562,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio2 = {
- 	.slave		= &omap2420_gpio2_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2420_gpio2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_gpio2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1572,6 +1572,7 @@ static struct omap_hwmod_addr_space omap2420_gpio3_addr_space[] = {
- 		.pa_end		= 0x4801c1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio3 = {
-@@ -1579,7 +1580,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio3 = {
- 	.slave		= &omap2420_gpio3_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2420_gpio3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_gpio3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1590,6 +1590,7 @@ static struct omap_hwmod_addr_space omap2420_gpio4_addr_space[] = {
- 		.pa_end		= 0x4801e1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio4 = {
-@@ -1597,7 +1598,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__gpio4 = {
- 	.slave		= &omap2420_gpio4_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2420_gpio4_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2420_gpio4_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1789,6 +1789,7 @@ static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
- 		.pa_end		= 0x48056fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* dma_system -> L3 */
-@@ -1810,7 +1811,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dma_system = {
- 	.slave		= &omap2420_dma_system_hwmod,
- 	.clk		= "sdma_ick",
- 	.addr		= omap2420_dma_system_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_dma_system_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1868,6 +1868,7 @@ static struct omap_hwmod_addr_space omap2420_mailbox_addrs[] = {
- 		.pa_end		= 0x480941ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* l4_core -> mailbox */
-@@ -1875,7 +1876,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__mailbox = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mailbox_hwmod,
- 	.addr		= omap2420_mailbox_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_mailbox_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2044,6 +2044,7 @@ static struct omap_hwmod_addr_space omap2420_mcbsp1_addrs[] = {
- 		.pa_end		= 0x480740ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp1 */
-@@ -2052,7 +2053,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp1 = {
- 	.slave		= &omap2420_mcbsp1_hwmod,
- 	.clk		= "mcbsp1_ick",
- 	.addr		= omap2420_mcbsp1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_mcbsp1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2101,6 +2101,7 @@ static struct omap_hwmod_addr_space omap2420_mcbsp2_addrs[] = {
- 		.pa_end		= 0x480760ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp2 */
-@@ -2109,7 +2110,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp2 = {
- 	.slave		= &omap2420_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
- 	.addr		= omap2420_mcbsp2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2420_mcbsp2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 9682dd5..da28794 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -1,7 +1,7 @@
- /*
-  * omap_hwmod_2430_data.c - hardware modules present on the OMAP2430 chips
-  *
-- * Copyright (C) 2009-2010 Nokia Corporation
-+ * Copyright (C) 2009-2011 Nokia Corporation
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -141,6 +141,7 @@ static struct omap_hwmod_addr_space omap2430_i2c1_addr_space[] = {
- 		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__i2c1 = {
-@@ -148,7 +149,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__i2c1 = {
- 	.slave		= &omap2430_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
- 	.addr		= omap2430_i2c1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_i2c1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -159,6 +159,7 @@ static struct omap_hwmod_addr_space omap2430_i2c2_addr_space[] = {
- 		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__i2c2 = {
-@@ -166,7 +167,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__i2c2 = {
- 	.slave		= &omap2430_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
- 	.addr		= omap2430_i2c2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_i2c2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -184,6 +184,7 @@ static struct omap_hwmod_addr_space omap2430_uart1_addr_space[] = {
- 		.pa_end		= OMAP2_UART1_BASE + SZ_8K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
-@@ -191,7 +192,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
- 	.slave		= &omap2430_uart1_hwmod,
- 	.clk		= "uart1_ick",
- 	.addr		= omap2430_uart1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_uart1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -202,6 +202,7 @@ static struct omap_hwmod_addr_space omap2430_uart2_addr_space[] = {
- 		.pa_end		= OMAP2_UART2_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
-@@ -209,7 +210,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
- 	.slave		= &omap2430_uart2_hwmod,
- 	.clk		= "uart2_ick",
- 	.addr		= omap2430_uart2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_uart2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -220,6 +220,7 @@ static struct omap_hwmod_addr_space omap2430_uart3_addr_space[] = {
- 		.pa_end		= OMAP2_UART3_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
-@@ -227,7 +228,6 @@ static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
- 	.slave		= &omap2430_uart3_hwmod,
- 	.clk		= "uart3_ick",
- 	.addr		= omap2430_uart3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_uart3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -248,7 +248,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__usbhsotg = {
- 	.slave		= &omap2430_usbhsotg_hwmod,
- 	.clk		= "usb_l4_ick",
- 	.addr		= omap2430_usbhsotg_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_usbhsotg_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -267,6 +266,7 @@ static struct omap_hwmod_addr_space omap2430_mmc1_addr_space[] = {
- 		.pa_end		= 0x4809c1ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__mmc1 = {
-@@ -274,7 +274,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mmc1 = {
- 	.slave		= &omap2430_mmc1_hwmod,
- 	.clk		= "mmchs1_ick",
- 	.addr		= omap2430_mmc1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mmc1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -285,14 +284,14 @@ static struct omap_hwmod_addr_space omap2430_mmc2_addr_space[] = {
- 		.pa_end		= 0x480b41ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__mmc2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mmc2_hwmod,
--	.addr		= omap2430_mmc2_addr_space,
- 	.clk		= "mmchs2_ick",
--	.addr_cnt	= ARRAY_SIZE(omap2430_mmc2_addr_space),
-+	.addr		= omap2430_mmc2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -339,6 +338,7 @@ static struct omap_hwmod_addr_space omap2430_mcspi1_addr_space[] = {
- 		.pa_end		= 0x480980ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi1 = {
-@@ -346,7 +346,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi1 = {
- 	.slave		= &omap2430_mcspi1_hwmod,
- 	.clk		= "mcspi1_ick",
- 	.addr		= omap2430_mcspi1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcspi1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -357,6 +356,7 @@ static struct omap_hwmod_addr_space omap2430_mcspi2_addr_space[] = {
- 		.pa_end		= 0x4809a0ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi2 = {
-@@ -364,7 +364,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi2 = {
- 	.slave		= &omap2430_mcspi2_hwmod,
- 	.clk		= "mcspi2_ick",
- 	.addr		= omap2430_mcspi2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcspi2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -375,6 +374,7 @@ static struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[] = {
- 		.pa_end		= 0x480b80ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi3 = {
-@@ -382,7 +382,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi3 = {
- 	.slave		= &omap2430_mcspi3_hwmod,
- 	.clk		= "mcspi3_ick",
- 	.addr		= omap2430_mcspi3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcspi3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -471,6 +470,7 @@ static struct omap_hwmod_addr_space omap2430_timer1_addrs[] = {
- 		.pa_end		= 0x49018000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> timer1 */
-@@ -479,7 +479,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__timer1 = {
- 	.slave		= &omap2430_timer1_hwmod,
- 	.clk		= "gpt1_ick",
- 	.addr		= omap2430_timer1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -521,6 +520,7 @@ static struct omap_hwmod_addr_space omap2430_timer2_addrs[] = {
- 		.pa_end		= 0x4802a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer2 */
-@@ -529,7 +529,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer2 = {
- 	.slave		= &omap2430_timer2_hwmod,
- 	.clk		= "gpt2_ick",
- 	.addr		= omap2430_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -571,6 +570,7 @@ static struct omap_hwmod_addr_space omap2430_timer3_addrs[] = {
- 		.pa_end		= 0x48078000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer3 */
-@@ -579,7 +579,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer3 = {
- 	.slave		= &omap2430_timer3_hwmod,
- 	.clk		= "gpt3_ick",
- 	.addr		= omap2430_timer3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -621,6 +620,7 @@ static struct omap_hwmod_addr_space omap2430_timer4_addrs[] = {
- 		.pa_end		= 0x4807a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer4 */
-@@ -629,7 +629,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer4 = {
- 	.slave		= &omap2430_timer4_hwmod,
- 	.clk		= "gpt4_ick",
- 	.addr		= omap2430_timer4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -671,6 +670,7 @@ static struct omap_hwmod_addr_space omap2430_timer5_addrs[] = {
- 		.pa_end		= 0x4807c000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer5 */
-@@ -679,7 +679,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer5 = {
- 	.slave		= &omap2430_timer5_hwmod,
- 	.clk		= "gpt5_ick",
- 	.addr		= omap2430_timer5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -721,6 +720,7 @@ static struct omap_hwmod_addr_space omap2430_timer6_addrs[] = {
- 		.pa_end		= 0x4807e000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer6 */
-@@ -729,7 +729,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer6 = {
- 	.slave		= &omap2430_timer6_hwmod,
- 	.clk		= "gpt6_ick",
- 	.addr		= omap2430_timer6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer6_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -771,6 +770,7 @@ static struct omap_hwmod_addr_space omap2430_timer7_addrs[] = {
- 		.pa_end		= 0x48080000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer7 */
-@@ -779,7 +779,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer7 = {
- 	.slave		= &omap2430_timer7_hwmod,
- 	.clk		= "gpt7_ick",
- 	.addr		= omap2430_timer7_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer7_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -821,6 +820,7 @@ static struct omap_hwmod_addr_space omap2430_timer8_addrs[] = {
- 		.pa_end		= 0x48082000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer8 */
-@@ -829,7 +829,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer8 = {
- 	.slave		= &omap2430_timer8_hwmod,
- 	.clk		= "gpt8_ick",
- 	.addr		= omap2430_timer8_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer8_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -871,6 +870,7 @@ static struct omap_hwmod_addr_space omap2430_timer9_addrs[] = {
- 		.pa_end		= 0x48084000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer9 */
-@@ -879,7 +879,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer9 = {
- 	.slave		= &omap2430_timer9_hwmod,
- 	.clk		= "gpt9_ick",
- 	.addr		= omap2430_timer9_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer9_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -921,6 +920,7 @@ static struct omap_hwmod_addr_space omap2430_timer10_addrs[] = {
- 		.pa_end		= 0x48086000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer10 */
-@@ -929,7 +929,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer10 = {
- 	.slave		= &omap2430_timer10_hwmod,
- 	.clk		= "gpt10_ick",
- 	.addr		= omap2430_timer10_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer10_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -971,6 +970,7 @@ static struct omap_hwmod_addr_space omap2430_timer11_addrs[] = {
- 		.pa_end		= 0x48088000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer11 */
-@@ -979,7 +979,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer11 = {
- 	.slave		= &omap2430_timer11_hwmod,
- 	.clk		= "gpt11_ick",
- 	.addr		= omap2430_timer11_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer11_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1021,6 +1020,7 @@ static struct omap_hwmod_addr_space omap2430_timer12_addrs[] = {
- 		.pa_end		= 0x4808a000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer12 */
-@@ -1029,7 +1029,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__timer12 = {
- 	.slave		= &omap2430_timer12_hwmod,
- 	.clk		= "gpt12_ick",
- 	.addr		= omap2430_timer12_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_timer12_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1066,6 +1065,7 @@ static struct omap_hwmod_addr_space omap2430_wd_timer2_addrs[] = {
- 		.pa_end		= 0x4901607f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_wkup__wd_timer2 = {
-@@ -1073,7 +1073,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__wd_timer2 = {
- 	.slave		= &omap2430_wd_timer2_hwmod,
- 	.clk		= "mpu_wdt_ick",
- 	.addr		= omap2430_wd_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_wd_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1284,6 +1283,7 @@ static struct omap_hwmod_addr_space omap2430_dss_addrs[] = {
- 		.pa_end		= 0x480503FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss */
-@@ -1292,7 +1292,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dss = {
- 	.slave		= &omap2430_dss_core_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2430_dss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_dss_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1362,6 +1361,7 @@ static struct omap_hwmod_addr_space omap2430_dss_dispc_addrs[] = {
- 		.pa_end		= 0x480507FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1370,7 +1370,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dss_dispc = {
- 	.slave		= &omap2430_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2430_dss_dispc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_dss_dispc_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1426,6 +1425,7 @@ static struct omap_hwmod_addr_space omap2430_dss_rfbi_addrs[] = {
- 		.pa_end		= 0x48050BFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_rfbi */
-@@ -1434,7 +1434,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dss_rfbi = {
- 	.slave		= &omap2430_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap2430_dss_rfbi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_dss_rfbi_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1476,6 +1475,7 @@ static struct omap_hwmod_addr_space omap2430_dss_venc_addrs[] = {
- 		.pa_end		= 0x48050FFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_venc */
-@@ -1484,7 +1484,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = {
- 	.slave		= &omap2430_dss_venc_hwmod,
- 	.clk		= "dss_54m_fck",
- 	.addr		= omap2430_dss_venc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_dss_venc_addrs),
- 	.flags		= OCPIF_SWSUP_IDLE,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
-@@ -1621,6 +1620,7 @@ static struct omap_hwmod_addr_space omap2430_gpio1_addr_space[] = {
- 		.pa_end		= 0x4900C1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio1 = {
-@@ -1628,7 +1628,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio1 = {
- 	.slave		= &omap2430_gpio1_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2430_gpio1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_gpio1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1639,6 +1638,7 @@ static struct omap_hwmod_addr_space omap2430_gpio2_addr_space[] = {
- 		.pa_end		= 0x4900E1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio2 = {
-@@ -1646,7 +1646,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio2 = {
- 	.slave		= &omap2430_gpio2_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2430_gpio2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_gpio2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1657,6 +1656,7 @@ static struct omap_hwmod_addr_space omap2430_gpio3_addr_space[] = {
- 		.pa_end		= 0x490101ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio3 = {
-@@ -1664,7 +1664,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio3 = {
- 	.slave		= &omap2430_gpio3_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2430_gpio3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_gpio3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1675,6 +1674,7 @@ static struct omap_hwmod_addr_space omap2430_gpio4_addr_space[] = {
- 		.pa_end		= 0x490121ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio4 = {
-@@ -1682,7 +1682,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__gpio4 = {
- 	.slave		= &omap2430_gpio4_hwmod,
- 	.clk		= "gpios_ick",
- 	.addr		= omap2430_gpio4_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_gpio4_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1693,6 +1692,7 @@ static struct omap_hwmod_addr_space omap2430_gpio5_addr_space[] = {
- 		.pa_end		= 0x480B61ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap2430_l4_core__gpio5 = {
-@@ -1700,7 +1700,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__gpio5 = {
- 	.slave		= &omap2430_gpio5_hwmod,
- 	.clk		= "gpio5_ick",
- 	.addr		= omap2430_gpio5_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap2430_gpio5_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1923,6 +1922,7 @@ static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
- 		.pa_end		= 0x48056fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* dma_system -> L3 */
-@@ -1944,7 +1944,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dma_system = {
- 	.slave		= &omap2430_dma_system_hwmod,
- 	.clk		= "sdma_ick",
- 	.addr		= omap2430_dma_system_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_dma_system_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2001,6 +2000,7 @@ static struct omap_hwmod_addr_space omap2430_mailbox_addrs[] = {
- 		.pa_end		= 0x480941ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* l4_core -> mailbox */
-@@ -2008,7 +2008,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mailbox = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mailbox_hwmod,
- 	.addr		= omap2430_mailbox_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mailbox_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2287,6 +2286,7 @@ static struct omap_hwmod_addr_space omap2430_mcbsp1_addrs[] = {
- 		.pa_end		= 0x480740ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp1 */
-@@ -2295,7 +2295,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp1 = {
- 	.slave		= &omap2430_mcbsp1_hwmod,
- 	.clk		= "mcbsp1_ick",
- 	.addr		= omap2430_mcbsp1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcbsp1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2345,6 +2344,7 @@ static struct omap_hwmod_addr_space omap2430_mcbsp2_addrs[] = {
- 		.pa_end		= 0x480760ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp2 */
-@@ -2353,7 +2353,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp2 = {
- 	.slave		= &omap2430_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
- 	.addr		= omap2430_mcbsp2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcbsp2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2403,6 +2402,7 @@ static struct omap_hwmod_addr_space omap2430_mcbsp3_addrs[] = {
- 		.pa_end		= 0x4808C0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp3 */
-@@ -2411,7 +2411,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp3 = {
- 	.slave		= &omap2430_mcbsp3_hwmod,
- 	.clk		= "mcbsp3_ick",
- 	.addr		= omap2430_mcbsp3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcbsp3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2461,6 +2460,7 @@ static struct omap_hwmod_addr_space omap2430_mcbsp4_addrs[] = {
- 		.pa_end		= 0x4808E0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp4 */
-@@ -2469,7 +2469,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp4 = {
- 	.slave		= &omap2430_mcbsp4_hwmod,
- 	.clk		= "mcbsp4_ick",
- 	.addr		= omap2430_mcbsp4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcbsp4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2519,6 +2518,7 @@ static struct omap_hwmod_addr_space omap2430_mcbsp5_addrs[] = {
- 		.pa_end		= 0x480960ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp5 */
-@@ -2527,7 +2527,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp5 = {
- 	.slave		= &omap2430_mcbsp5_hwmod,
- 	.clk		= "mcbsp5_ick",
- 	.addr		= omap2430_mcbsp5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap2430_mcbsp5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 909a84d..6410779 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1,7 +1,7 @@
- /*
-  * omap_hwmod_3xxx_data.c - hardware modules present on the OMAP3xxx chips
-  *
-- * Copyright (C) 2009-2010 Nokia Corporation
-+ * Copyright (C) 2009-2011 Nokia Corporation
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -111,6 +111,7 @@ static struct omap_hwmod_addr_space omap3xxx_l3_main_addrs[] = {
- 		.pa_end         = 0x6800ffff,
- 		.flags          = ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* MPU -> L3 interface */
-@@ -118,7 +119,6 @@ static struct omap_hwmod_ocp_if omap3xxx_mpu__l3_main = {
- 	.master   = &omap3xxx_mpu_hwmod,
- 	.slave    = &omap3xxx_l3_main_hwmod,
- 	.addr     = omap3xxx_l3_main_addrs,
--	.addr_cnt = ARRAY_SIZE(omap3xxx_l3_main_addrs),
- 	.user	= OCP_USER_MPU,
- };
- 
-@@ -196,6 +196,7 @@ static struct omap_hwmod_addr_space omap3xxx_mmc1_addr_space[] = {
- 		.pa_end		= 0x4809c1ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc1 = {
-@@ -203,7 +204,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc1 = {
- 	.slave		= &omap3xxx_mmc1_hwmod,
- 	.clk		= "mmchs1_ick",
- 	.addr		= omap3xxx_mmc1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- 	.flags		= OMAP_FIREWALL_L4
- };
-@@ -215,6 +215,7 @@ static struct omap_hwmod_addr_space omap3xxx_mmc2_addr_space[] = {
- 		.pa_end		= 0x480b41ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc2 = {
-@@ -222,7 +223,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc2 = {
- 	.slave		= &omap3xxx_mmc2_hwmod,
- 	.clk		= "mmchs2_ick",
- 	.addr		= omap3xxx_mmc2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- 	.flags		= OMAP_FIREWALL_L4
- };
-@@ -234,6 +234,7 @@ static struct omap_hwmod_addr_space omap3xxx_mmc3_addr_space[] = {
- 		.pa_end		= 0x480ad1ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc3 = {
-@@ -241,7 +242,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc3 = {
- 	.slave		= &omap3xxx_mmc3_hwmod,
- 	.clk		= "mmchs3_ick",
- 	.addr		= omap3xxx_mmc3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mmc3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- 	.flags		= OMAP_FIREWALL_L4
- };
-@@ -253,6 +253,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart1_addr_space[] = {
- 		.pa_end		= OMAP3_UART1_BASE + SZ_8K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__uart1 = {
-@@ -260,7 +261,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__uart1 = {
- 	.slave		= &omap3xxx_uart1_hwmod,
- 	.clk		= "uart1_ick",
- 	.addr		= omap3xxx_uart1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -271,6 +271,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart2_addr_space[] = {
- 		.pa_end		= OMAP3_UART2_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__uart2 = {
-@@ -278,7 +279,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__uart2 = {
- 	.slave		= &omap3xxx_uart2_hwmod,
- 	.clk		= "uart2_ick",
- 	.addr		= omap3xxx_uart2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -289,6 +289,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart3_addr_space[] = {
- 		.pa_end		= OMAP3_UART3_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_per__uart3 = {
-@@ -296,7 +297,6 @@ static struct omap_hwmod_ocp_if omap3_l4_per__uart3 = {
- 	.slave		= &omap3xxx_uart3_hwmod,
- 	.clk		= "uart3_ick",
- 	.addr		= omap3xxx_uart3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -307,6 +307,7 @@ static struct omap_hwmod_addr_space omap3xxx_uart4_addr_space[] = {
- 		.pa_end		= OMAP3_UART4_BASE + SZ_1K - 1,
- 		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_per__uart4 = {
-@@ -314,7 +315,6 @@ static struct omap_hwmod_ocp_if omap3_l4_per__uart4 = {
- 	.slave		= &omap3xxx_uart4_hwmod,
- 	.clk		= "uart4_ick",
- 	.addr		= omap3xxx_uart4_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_uart4_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -328,6 +328,7 @@ static struct omap_hwmod_addr_space omap3xxx_i2c1_addr_space[] = {
- 		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {
-@@ -335,7 +336,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {
- 	.slave		= &omap3xxx_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
- 	.addr		= omap3xxx_i2c1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c1_addr_space),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C1_REGION,
-@@ -353,6 +353,7 @@ static struct omap_hwmod_addr_space omap3xxx_i2c2_addr_space[] = {
- 		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {
-@@ -360,7 +361,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {
- 	.slave		= &omap3xxx_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
- 	.addr		= omap3xxx_i2c2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c2_addr_space),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C2_REGION,
-@@ -378,6 +378,7 @@ static struct omap_hwmod_addr_space omap3xxx_i2c3_addr_space[] = {
- 		.pa_end		= 0x48060000 + OMAP2_I2C_AS_LEN - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__i2c3 = {
-@@ -385,7 +386,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c3 = {
- 	.slave		= &omap3xxx_i2c3_hwmod,
- 	.clk		= "i2c3_ick",
- 	.addr		= omap3xxx_i2c3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_i2c3_addr_space),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C3_REGION,
-@@ -403,6 +403,7 @@ static struct omap_hwmod_addr_space omap3_sr1_addr_space[] = {
- 		.pa_end		= OMAP34XX_SR1_BASE + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__sr1 = {
-@@ -410,7 +411,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__sr1 = {
- 	.slave		= &omap34xx_sr1_hwmod,
- 	.clk		= "sr_l4_ick",
- 	.addr		= omap3_sr1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3_sr1_addr_space),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -421,6 +421,7 @@ static struct omap_hwmod_addr_space omap3_sr2_addr_space[] = {
- 		.pa_end		= OMAP34XX_SR2_BASE + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3_l4_core__sr2 = {
-@@ -428,7 +429,6 @@ static struct omap_hwmod_ocp_if omap3_l4_core__sr2 = {
- 	.slave		= &omap34xx_sr2_hwmod,
- 	.clk		= "sr_l4_ick",
- 	.addr		= omap3_sr2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap3_sr2_addr_space),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -442,6 +442,7 @@ static struct omap_hwmod_addr_space omap3xxx_usbhsotg_addrs[] = {
- 		.pa_end		= OMAP34XX_HSUSB_OTG_BASE + SZ_4K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> usbhsotg  */
-@@ -450,7 +451,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__usbhsotg = {
- 	.slave		= &omap3xxx_usbhsotg_hwmod,
- 	.clk		= "l4_ick",
- 	.addr		= omap3xxx_usbhsotg_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -468,6 +468,7 @@ static struct omap_hwmod_addr_space am35xx_usbhsotg_addrs[] = {
- 		.pa_end		= AM35XX_IPSS_USBOTGSS_BASE + SZ_4K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> usbhsotg  */
-@@ -476,7 +477,6 @@ static struct omap_hwmod_ocp_if am35xx_l4_core__usbhsotg = {
- 	.slave		= &am35xx_usbhsotg_hwmod,
- 	.clk		= "l4_ick",
- 	.addr		= am35xx_usbhsotg_addrs,
--	.addr_cnt	= ARRAY_SIZE(am35xx_usbhsotg_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -621,6 +621,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer1_addrs[] = {
- 		.pa_end		= 0x48318000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> timer1 */
-@@ -629,7 +630,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__timer1 = {
- 	.slave		= &omap3xxx_timer1_hwmod,
- 	.clk		= "gpt1_ick",
- 	.addr		= omap3xxx_timer1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -671,6 +671,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer2_addrs[] = {
- 		.pa_end		= 0x49032000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer2 */
-@@ -679,7 +680,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer2 = {
- 	.slave		= &omap3xxx_timer2_hwmod,
- 	.clk		= "gpt2_ick",
- 	.addr		= omap3xxx_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -721,6 +721,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer3_addrs[] = {
- 		.pa_end		= 0x49034000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer3 */
-@@ -729,7 +730,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer3 = {
- 	.slave		= &omap3xxx_timer3_hwmod,
- 	.clk		= "gpt3_ick",
- 	.addr		= omap3xxx_timer3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -771,6 +771,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer4_addrs[] = {
- 		.pa_end		= 0x49036000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer4 */
-@@ -779,7 +780,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer4 = {
- 	.slave		= &omap3xxx_timer4_hwmod,
- 	.clk		= "gpt4_ick",
- 	.addr		= omap3xxx_timer4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -821,6 +821,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer5_addrs[] = {
- 		.pa_end		= 0x49038000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer5 */
-@@ -829,7 +830,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer5 = {
- 	.slave		= &omap3xxx_timer5_hwmod,
- 	.clk		= "gpt5_ick",
- 	.addr		= omap3xxx_timer5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -871,6 +871,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer6_addrs[] = {
- 		.pa_end		= 0x4903A000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer6 */
-@@ -879,7 +880,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer6 = {
- 	.slave		= &omap3xxx_timer6_hwmod,
- 	.clk		= "gpt6_ick",
- 	.addr		= omap3xxx_timer6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer6_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -921,6 +921,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer7_addrs[] = {
- 		.pa_end		= 0x4903C000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer7 */
-@@ -929,7 +930,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer7 = {
- 	.slave		= &omap3xxx_timer7_hwmod,
- 	.clk		= "gpt7_ick",
- 	.addr		= omap3xxx_timer7_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer7_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -971,6 +971,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer8_addrs[] = {
- 		.pa_end		= 0x4903E000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer8 */
-@@ -979,7 +980,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer8 = {
- 	.slave		= &omap3xxx_timer8_hwmod,
- 	.clk		= "gpt8_ick",
- 	.addr		= omap3xxx_timer8_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer8_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1021,6 +1021,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer9_addrs[] = {
- 		.pa_end		= 0x49040000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer9 */
-@@ -1029,7 +1030,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__timer9 = {
- 	.slave		= &omap3xxx_timer9_hwmod,
- 	.clk		= "gpt9_ick",
- 	.addr		= omap3xxx_timer9_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer9_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1071,6 +1071,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer10_addrs[] = {
- 		.pa_end		= 0x48086000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer10 */
-@@ -1079,7 +1080,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer10 = {
- 	.slave		= &omap3xxx_timer10_hwmod,
- 	.clk		= "gpt10_ick",
- 	.addr		= omap3xxx_timer10_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer10_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1121,6 +1121,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer11_addrs[] = {
- 		.pa_end		= 0x48088000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer11 */
-@@ -1129,7 +1130,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer11 = {
- 	.slave		= &omap3xxx_timer11_hwmod,
- 	.clk		= "gpt11_ick",
- 	.addr		= omap3xxx_timer11_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer11_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1171,6 +1171,7 @@ static struct omap_hwmod_addr_space omap3xxx_timer12_addrs[] = {
- 		.pa_end		= 0x48304000 + SZ_1K - 1,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> timer12 */
-@@ -1179,7 +1180,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer12 = {
- 	.slave		= &omap3xxx_timer12_hwmod,
- 	.clk		= "gpt12_ick",
- 	.addr		= omap3xxx_timer12_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_timer12_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1216,6 +1216,7 @@ static struct omap_hwmod_addr_space omap3xxx_wd_timer2_addrs[] = {
- 		.pa_end		= 0x4831407f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__wd_timer2 = {
-@@ -1223,7 +1224,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__wd_timer2 = {
- 	.slave		= &omap3xxx_wd_timer2_hwmod,
- 	.clk		= "wdt2_ick",
- 	.addr		= omap3xxx_wd_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_wd_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1497,6 +1497,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_addrs[] = {
- 		.pa_end		= 0x480503FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss */
-@@ -1505,7 +1506,6 @@ static struct omap_hwmod_ocp_if omap3430es1_l4_core__dss = {
- 	.slave		= &omap3430es1_dss_core_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap3xxx_dss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3ES1_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1521,7 +1521,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss = {
- 	.slave		= &omap3xxx_dss_core_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap3xxx_dss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1632,6 +1631,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_dispc_addrs[] = {
- 		.pa_end		= 0x480507FF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1640,7 +1640,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dispc = {
- 	.slave		= &omap3xxx_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap3xxx_dss_dispc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_dispc_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_DISPC_REGION,
-@@ -1697,6 +1696,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_dsi1_addrs[] = {
- 		.pa_end		= 0x4804FFFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_dsi1 */
-@@ -1704,7 +1704,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dsi1 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_dss_dsi1_hwmod,
- 	.addr		= omap3xxx_dss_dsi1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_dsi1_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_DSI_REGION,
-@@ -1767,6 +1766,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_rfbi_addrs[] = {
- 		.pa_end		= 0x48050BFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_rfbi */
-@@ -1775,7 +1775,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_rfbi = {
- 	.slave		= &omap3xxx_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
- 	.addr		= omap3xxx_dss_rfbi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_rfbi_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_RFBI_REGION,
-@@ -1826,6 +1825,7 @@ static struct omap_hwmod_addr_space omap3xxx_dss_venc_addrs[] = {
- 		.pa_end		= 0x48050FFF,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> dss_venc */
-@@ -1834,7 +1834,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_venc = {
- 	.slave		= &omap3xxx_dss_venc_hwmod,
- 	.clk		= "dss_tv_fck",
- 	.addr		= omap3xxx_dss_venc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dss_venc_addrs),
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_VENC_REGION,
-@@ -2003,13 +2002,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio1_addrs[] = {
- 		.pa_end		= 0x483101ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_wkup__gpio1 = {
- 	.master		= &omap3xxx_l4_wkup_hwmod,
- 	.slave		= &omap3xxx_gpio1_hwmod,
- 	.addr		= omap3xxx_gpio1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2020,13 +2019,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio2_addrs[] = {
- 		.pa_end		= 0x490501ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio2 = {
- 	.master		= &omap3xxx_l4_per_hwmod,
- 	.slave		= &omap3xxx_gpio2_hwmod,
- 	.addr		= omap3xxx_gpio2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2037,13 +2036,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio3_addrs[] = {
- 		.pa_end		= 0x490521ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio3 = {
- 	.master		= &omap3xxx_l4_per_hwmod,
- 	.slave		= &omap3xxx_gpio3_hwmod,
- 	.addr		= omap3xxx_gpio3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2054,13 +2053,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio4_addrs[] = {
- 		.pa_end		= 0x490541ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio4 = {
- 	.master		= &omap3xxx_l4_per_hwmod,
- 	.slave		= &omap3xxx_gpio4_hwmod,
- 	.addr		= omap3xxx_gpio4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2071,13 +2070,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio5_addrs[] = {
- 		.pa_end		= 0x490561ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio5 = {
- 	.master		= &omap3xxx_l4_per_hwmod,
- 	.slave		= &omap3xxx_gpio5_hwmod,
- 	.addr		= omap3xxx_gpio5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2088,13 +2087,13 @@ static struct omap_hwmod_addr_space omap3xxx_gpio6_addrs[] = {
- 		.pa_end		= 0x490581ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap3xxx_l4_per__gpio6 = {
- 	.master		= &omap3xxx_l4_per_hwmod,
- 	.slave		= &omap3xxx_gpio6_hwmod,
- 	.addr		= omap3xxx_gpio6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_gpio6_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2395,6 +2394,7 @@ static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
- 		.pa_end		= 0x48056fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* dma_system master ports */
-@@ -2408,7 +2408,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dma_system = {
- 	.slave		= &omap3xxx_dma_system_hwmod,
- 	.clk		= "core_l4_ick",
- 	.addr		= omap3xxx_dma_system_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_dma_system_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2480,6 +2479,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp1_addrs[] = {
- 		.pa_end		= 0x480740ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp1 */
-@@ -2488,7 +2488,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mcbsp1 = {
- 	.slave		= &omap3xxx_mcbsp1_hwmod,
- 	.clk		= "mcbsp1_ick",
- 	.addr		= omap3xxx_mcbsp1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2538,6 +2537,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp2_addrs[] = {
- 		.pa_end		= 0x490220ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp2 */
-@@ -2546,7 +2546,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp2 = {
- 	.slave		= &omap3xxx_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
- 	.addr		= omap3xxx_mcbsp2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_addrs),
-+
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2601,6 +2601,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp3_addrs[] = {
- 		.pa_end		= 0x490240ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp3 */
-@@ -2609,7 +2610,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp3 = {
- 	.slave		= &omap3xxx_mcbsp3_hwmod,
- 	.clk		= "mcbsp3_ick",
- 	.addr		= omap3xxx_mcbsp3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2664,6 +2664,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp4_addrs[] = {
- 		.pa_end		= 0x490260ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp4 */
-@@ -2672,7 +2673,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp4 = {
- 	.slave		= &omap3xxx_mcbsp4_hwmod,
- 	.clk		= "mcbsp4_ick",
- 	.addr		= omap3xxx_mcbsp4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2722,6 +2722,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp5_addrs[] = {
- 		.pa_end		= 0x480960ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_core -> mcbsp5 */
-@@ -2730,7 +2731,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mcbsp5 = {
- 	.slave		= &omap3xxx_mcbsp5_hwmod,
- 	.clk		= "mcbsp5_ick",
- 	.addr		= omap3xxx_mcbsp5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2785,6 +2785,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp2_sidetone_addrs[] = {
- 		.pa_end		= 0x490280ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp2_sidetone */
-@@ -2793,7 +2794,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp2_sidetone = {
- 	.slave		= &omap3xxx_mcbsp2_sidetone_hwmod,
- 	.clk		= "mcbsp2_ick",
- 	.addr		= omap3xxx_mcbsp2_sidetone_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sidetone_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -2834,6 +2834,7 @@ static struct omap_hwmod_addr_space omap3xxx_mcbsp3_sidetone_addrs[] = {
- 		.pa_end		= 0x4902A0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp3_sidetone */
-@@ -2842,7 +2843,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp3_sidetone = {
- 	.slave		= &omap3xxx_mcbsp3_sidetone_hwmod,
- 	.clk		= "mcbsp3_ick",
- 	.addr		= omap3xxx_mcbsp3_sidetone_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sidetone_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -3033,6 +3033,7 @@ static struct omap_hwmod_addr_space omap3xxx_mailbox_addrs[] = {
- 		.pa_end		= 0x480941ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* l4_core -> mailbox */
-@@ -3040,7 +3041,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__mailbox = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_mailbox_hwmod,
- 	.addr		= omap3xxx_mailbox_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap3xxx_mailbox_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3076,6 +3076,7 @@ static struct omap_hwmod_addr_space omap34xx_mcspi1_addr_space[] = {
- 		.pa_end		= 0x480980ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi1 = {
-@@ -3083,7 +3084,6 @@ static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi1 = {
- 	.slave		= &omap34xx_mcspi1,
- 	.clk		= "mcspi1_ick",
- 	.addr		= omap34xx_mcspi1_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi1_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3094,6 +3094,7 @@ static struct omap_hwmod_addr_space omap34xx_mcspi2_addr_space[] = {
- 		.pa_end		= 0x4809a0ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi2 = {
-@@ -3101,7 +3102,6 @@ static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi2 = {
- 	.slave		= &omap34xx_mcspi2,
- 	.clk		= "mcspi2_ick",
- 	.addr		= omap34xx_mcspi2_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi2_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3112,6 +3112,7 @@ static struct omap_hwmod_addr_space omap34xx_mcspi3_addr_space[] = {
- 		.pa_end		= 0x480b80ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi3 = {
-@@ -3119,7 +3120,6 @@ static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi3 = {
- 	.slave		= &omap34xx_mcspi3,
- 	.clk		= "mcspi3_ick",
- 	.addr		= omap34xx_mcspi3_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi3_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3130,6 +3130,7 @@ static struct omap_hwmod_addr_space omap34xx_mcspi4_addr_space[] = {
- 		.pa_end		= 0x480ba0ff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi4 = {
-@@ -3137,7 +3138,6 @@ static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi4 = {
- 	.slave		= &omap34xx_mcspi4,
- 	.clk		= "mcspi4_ick",
- 	.addr		= omap34xx_mcspi4_addr_space,
--	.addr_cnt	= ARRAY_SIZE(omap34xx_mcspi4_addr_space),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 8cbbfbf..f8ccc4a 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -95,6 +95,7 @@ static struct omap_hwmod_addr_space omap44xx_dmm_addrs[] = {
- 		.pa_end		= 0x4e0007ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* mpu -> dmm */
-@@ -103,7 +104,6 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__dmm = {
- 	.slave		= &omap44xx_dmm_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dmm_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dmm_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -150,6 +150,7 @@ static struct omap_hwmod_addr_space omap44xx_emif_fw_addrs[] = {
- 		.pa_end		= 0x4a20c0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> emif_fw */
-@@ -158,7 +159,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__emif_fw = {
- 	.slave		= &omap44xx_emif_fw_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_emif_fw_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_emif_fw_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -276,6 +276,7 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_1_addrs[] = {
- 		.pa_end		= 0x44000fff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* mpu -> l3_main_1 */
-@@ -284,7 +285,6 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = {
- 	.slave		= &omap44xx_l3_main_1_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -356,6 +356,7 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_2_addrs[] = {
- 		.pa_end		= 0x44801fff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* l3_main_1 -> l3_main_2 */
-@@ -364,7 +365,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = {
- 	.slave		= &omap44xx_l3_main_2_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -411,6 +411,7 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_3_addrs[] = {
- 		.pa_end		= 0x45000fff,
- 		.flags		= ADDR_TYPE_RT,
- 	},
-+	{ }
- };
- 
- /* l3_main_1 -> l3_main_3 */
-@@ -419,7 +420,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = {
- 	.slave		= &omap44xx_l3_main_3_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_l3_main_3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -697,6 +697,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_addrs[] = {
- 		.pa_end		= 0x401f13ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> aess */
-@@ -705,7 +706,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess = {
- 	.slave		= &omap44xx_aess_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_aess_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_aess_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -715,6 +715,7 @@ static struct omap_hwmod_addr_space omap44xx_aess_dma_addrs[] = {
- 		.pa_end		= 0x490f13ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> aess (dma) */
-@@ -723,7 +724,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__aess_dma = {
- 	.slave		= &omap44xx_aess_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_aess_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_aess_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -807,6 +807,7 @@ static struct omap_hwmod_addr_space omap44xx_counter_32k_addrs[] = {
- 		.pa_end		= 0x4a30401f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> counter_32k */
-@@ -815,7 +816,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__counter_32k = {
- 	.slave		= &omap44xx_counter_32k_hwmod,
- 	.clk		= "l4_wkup_clk_mux_ck",
- 	.addr		= omap44xx_counter_32k_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_counter_32k_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -889,6 +889,7 @@ static struct omap_hwmod_addr_space omap44xx_dma_system_addrs[] = {
- 		.pa_end		= 0x4a056fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> dma_system */
-@@ -897,7 +898,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__dma_system = {
- 	.slave		= &omap44xx_dma_system_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dma_system_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dma_system_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -961,6 +961,7 @@ static struct omap_hwmod_addr_space omap44xx_dmic_addrs[] = {
- 		.pa_end		= 0x4012e07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> dmic */
-@@ -969,7 +970,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic = {
- 	.slave		= &omap44xx_dmic_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_dmic_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dmic_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -979,6 +979,7 @@ static struct omap_hwmod_addr_space omap44xx_dmic_dma_addrs[] = {
- 		.pa_end		= 0x4902e07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> dmic (dma) */
-@@ -987,7 +988,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__dmic_dma = {
- 	.slave		= &omap44xx_dmic_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_dmic_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dmic_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1128,6 +1128,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dma_addrs[] = {
- 		.pa_end		= 0x5800007f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss */
-@@ -1136,7 +1137,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {
- 	.slave		= &omap44xx_dss_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1146,6 +1146,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_addrs[] = {
- 		.pa_end		= 0x4804007f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss */
-@@ -1154,7 +1155,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss = {
- 	.slave		= &omap44xx_dss_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1228,6 +1228,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {
- 		.pa_end		= 0x58001fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_dispc */
-@@ -1236,7 +1237,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {
- 	.slave		= &omap44xx_dss_dispc_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_dispc_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1246,6 +1246,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_addrs[] = {
- 		.pa_end		= 0x48041fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_dispc */
-@@ -1254,7 +1255,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dispc = {
- 	.slave		= &omap44xx_dss_dispc_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_dispc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1319,6 +1319,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {
- 		.pa_end		= 0x580041ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_dsi1 */
-@@ -1327,7 +1328,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {
- 	.slave		= &omap44xx_dss_dsi1_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_dsi1_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1337,6 +1337,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_addrs[] = {
- 		.pa_end		= 0x480441ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_dsi1 */
-@@ -1345,7 +1346,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi1 = {
- 	.slave		= &omap44xx_dss_dsi1_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_dsi1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1389,6 +1389,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {
- 		.pa_end		= 0x580051ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_dsi2 */
-@@ -1397,7 +1398,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {
- 	.slave		= &omap44xx_dss_dsi2_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_dsi2_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1407,6 +1407,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_addrs[] = {
- 		.pa_end		= 0x480451ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_dsi2 */
-@@ -1415,7 +1416,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_dsi2 = {
- 	.slave		= &omap44xx_dss_dsi2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_dsi2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1479,6 +1479,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {
- 		.pa_end		= 0x58006fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_hdmi */
-@@ -1487,7 +1488,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {
- 	.slave		= &omap44xx_dss_hdmi_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_hdmi_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1497,6 +1497,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_addrs[] = {
- 		.pa_end		= 0x48046fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_hdmi */
-@@ -1505,7 +1506,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_hdmi = {
- 	.slave		= &omap44xx_dss_hdmi_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_hdmi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1565,6 +1565,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {
- 		.pa_end		= 0x580020ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_rfbi */
-@@ -1573,7 +1574,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {
- 	.slave		= &omap44xx_dss_rfbi_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_rfbi_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1583,6 +1583,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_addrs[] = {
- 		.pa_end		= 0x480420ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_rfbi */
-@@ -1591,7 +1592,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_rfbi = {
- 	.slave		= &omap44xx_dss_rfbi_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_rfbi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1634,6 +1634,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_dma_addrs[] = {
- 		.pa_end		= 0x580030ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> dss_venc */
-@@ -1642,7 +1643,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {
- 	.slave		= &omap44xx_dss_venc_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_dss_venc_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_venc_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -1652,6 +1652,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_addrs[] = {
- 		.pa_end		= 0x480430ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> dss_venc */
-@@ -1660,7 +1661,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__dss_venc = {
- 	.slave		= &omap44xx_dss_venc_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_dss_venc_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_dss_venc_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -1725,6 +1725,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = {
- 		.pa_end		= 0x4a3101ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> gpio1 */
-@@ -1733,7 +1734,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__gpio1 = {
- 	.slave		= &omap44xx_gpio1_hwmod,
- 	.clk		= "l4_wkup_clk_mux_ck",
- 	.addr		= omap44xx_gpio1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1777,6 +1777,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio2_addrs[] = {
- 		.pa_end		= 0x480551ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> gpio2 */
-@@ -1785,7 +1786,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio2 = {
- 	.slave		= &omap44xx_gpio2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_gpio2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1830,6 +1830,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio3_addrs[] = {
- 		.pa_end		= 0x480571ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> gpio3 */
-@@ -1838,7 +1839,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio3 = {
- 	.slave		= &omap44xx_gpio3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_gpio3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1883,6 +1883,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio4_addrs[] = {
- 		.pa_end		= 0x480591ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> gpio4 */
-@@ -1891,7 +1892,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio4 = {
- 	.slave		= &omap44xx_gpio4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_gpio4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1936,6 +1936,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio5_addrs[] = {
- 		.pa_end		= 0x4805b1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> gpio5 */
-@@ -1944,7 +1945,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio5 = {
- 	.slave		= &omap44xx_gpio5_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_gpio5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1989,6 +1989,7 @@ static struct omap_hwmod_addr_space omap44xx_gpio6_addrs[] = {
- 		.pa_end		= 0x4805d1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> gpio6 */
-@@ -1997,7 +1998,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__gpio6 = {
- 	.slave		= &omap44xx_gpio6_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_gpio6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_gpio6_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2072,6 +2072,7 @@ static struct omap_hwmod_addr_space omap44xx_hsi_addrs[] = {
- 		.pa_end		= 0x4a05bfff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> hsi */
-@@ -2080,7 +2081,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__hsi = {
- 	.slave		= &omap44xx_hsi_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_hsi_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_hsi_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2145,6 +2145,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c1_addrs[] = {
- 		.pa_end		= 0x480700ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> i2c1 */
-@@ -2153,7 +2154,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c1 = {
- 	.slave		= &omap44xx_i2c1_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_i2c1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2198,6 +2198,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c2_addrs[] = {
- 		.pa_end		= 0x480720ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> i2c2 */
-@@ -2206,7 +2207,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c2 = {
- 	.slave		= &omap44xx_i2c2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_i2c2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2251,6 +2251,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c3_addrs[] = {
- 		.pa_end		= 0x480600ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> i2c3 */
-@@ -2259,7 +2260,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c3 = {
- 	.slave		= &omap44xx_i2c3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_i2c3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2304,6 +2304,7 @@ static struct omap_hwmod_addr_space omap44xx_i2c4_addrs[] = {
- 		.pa_end		= 0x483500ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> i2c4 */
-@@ -2312,7 +2313,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__i2c4 = {
- 	.slave		= &omap44xx_i2c4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_i2c4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_i2c4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2479,6 +2479,7 @@ static struct omap_hwmod_addr_space omap44xx_iss_addrs[] = {
- 		.pa_end		= 0x520000ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> iss */
-@@ -2487,7 +2488,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iss = {
- 	.slave		= &omap44xx_iss_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_iss_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_iss_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2562,6 +2562,7 @@ static struct omap_hwmod_addr_space omap44xx_iva_addrs[] = {
- 		.pa_end		= 0x5a07ffff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l3_main_2 -> iva */
-@@ -2570,7 +2571,6 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_2__iva = {
- 	.slave		= &omap44xx_iva_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_iva_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_iva_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -2665,6 +2665,7 @@ static struct omap_hwmod_addr_space omap44xx_kbd_addrs[] = {
- 		.pa_end		= 0x4a31c07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> kbd */
-@@ -2673,7 +2674,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__kbd = {
- 	.slave		= &omap44xx_kbd_hwmod,
- 	.clk		= "l4_wkup_clk_mux_ck",
- 	.addr		= omap44xx_kbd_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_kbd_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2730,6 +2730,7 @@ static struct omap_hwmod_addr_space omap44xx_mailbox_addrs[] = {
- 		.pa_end		= 0x4a0f41ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> mailbox */
-@@ -2738,7 +2739,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__mailbox = {
- 	.slave		= &omap44xx_mailbox_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mailbox_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mailbox_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2799,6 +2799,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = {
- 		.pa_end		= 0x401220ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp1 */
-@@ -2807,7 +2808,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1 = {
- 	.slave		= &omap44xx_mcbsp1_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -2818,6 +2818,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp1_dma_addrs[] = {
- 		.pa_end		= 0x490220ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp1 (dma) */
-@@ -2826,7 +2827,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp1_dma = {
- 	.slave		= &omap44xx_mcbsp1_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp1_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -2872,6 +2872,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp2_addrs[] = {
- 		.pa_end		= 0x401240ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp2 */
-@@ -2880,7 +2881,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2 = {
- 	.slave		= &omap44xx_mcbsp2_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -2891,6 +2891,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp2_dma_addrs[] = {
- 		.pa_end		= 0x490240ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp2 (dma) */
-@@ -2899,7 +2900,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp2_dma = {
- 	.slave		= &omap44xx_mcbsp2_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp2_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -2945,6 +2945,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp3_addrs[] = {
- 		.pa_end		= 0x401260ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp3 */
-@@ -2953,7 +2954,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3 = {
- 	.slave		= &omap44xx_mcbsp3_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -2964,6 +2964,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp3_dma_addrs[] = {
- 		.pa_end		= 0x490260ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcbsp3 (dma) */
-@@ -2972,7 +2973,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcbsp3_dma = {
- 	.slave		= &omap44xx_mcbsp3_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcbsp3_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -3017,6 +3017,7 @@ static struct omap_hwmod_addr_space omap44xx_mcbsp4_addrs[] = {
- 		.pa_end		= 0x480960ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcbsp4 */
-@@ -3025,7 +3026,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcbsp4 = {
- 	.slave		= &omap44xx_mcbsp4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mcbsp4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3090,6 +3090,7 @@ static struct omap_hwmod_addr_space omap44xx_mcpdm_addrs[] = {
- 		.pa_end		= 0x4013207f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcpdm */
-@@ -3098,7 +3099,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm = {
- 	.slave		= &omap44xx_mcpdm_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcpdm_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcpdm_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -3108,6 +3108,7 @@ static struct omap_hwmod_addr_space omap44xx_mcpdm_dma_addrs[] = {
- 		.pa_end		= 0x4903207f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> mcpdm (dma) */
-@@ -3116,7 +3117,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__mcpdm_dma = {
- 	.slave		= &omap44xx_mcpdm_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_mcpdm_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcpdm_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -3189,6 +3189,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi1_addrs[] = {
- 		.pa_end		= 0x480981ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcspi1 */
-@@ -3197,7 +3198,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi1 = {
- 	.slave		= &omap44xx_mcspi1_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mcspi1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3249,6 +3249,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi2_addrs[] = {
- 		.pa_end		= 0x4809a1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcspi2 */
-@@ -3257,7 +3258,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi2 = {
- 	.slave		= &omap44xx_mcspi2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mcspi2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3309,6 +3309,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi3_addrs[] = {
- 		.pa_end		= 0x480b81ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcspi3 */
-@@ -3317,7 +3318,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi3 = {
- 	.slave		= &omap44xx_mcspi3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mcspi3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3367,6 +3367,7 @@ static struct omap_hwmod_addr_space omap44xx_mcspi4_addrs[] = {
- 		.pa_end		= 0x480ba1ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mcspi4 */
-@@ -3375,7 +3376,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mcspi4 = {
- 	.slave		= &omap44xx_mcspi4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mcspi4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mcspi4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3452,6 +3452,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc1_addrs[] = {
- 		.pa_end		= 0x4809c3ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mmc1 */
-@@ -3460,7 +3461,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc1 = {
- 	.slave		= &omap44xx_mmc1_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mmc1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3516,6 +3516,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc2_addrs[] = {
- 		.pa_end		= 0x480b43ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mmc2 */
-@@ -3524,7 +3525,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc2 = {
- 	.slave		= &omap44xx_mmc2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mmc2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3570,6 +3570,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc3_addrs[] = {
- 		.pa_end		= 0x480ad3ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mmc3 */
-@@ -3578,7 +3579,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc3 = {
- 	.slave		= &omap44xx_mmc3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mmc3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3622,6 +3622,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc4_addrs[] = {
- 		.pa_end		= 0x480d13ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mmc4 */
-@@ -3630,7 +3631,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc4 = {
- 	.slave		= &omap44xx_mmc4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mmc4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3674,6 +3674,7 @@ static struct omap_hwmod_addr_space omap44xx_mmc5_addrs[] = {
- 		.pa_end		= 0x480d53ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> mmc5 */
-@@ -3682,7 +3683,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__mmc5 = {
- 	.slave		= &omap44xx_mmc5_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_mmc5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_mmc5_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3787,6 +3787,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = {
- 		.pa_end		= 0x4a0dd03f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> smartreflex_core */
-@@ -3795,7 +3796,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_core = {
- 	.slave		= &omap44xx_smartreflex_core_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_smartreflex_core_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_core_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3833,6 +3833,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_iva_addrs[] = {
- 		.pa_end		= 0x4a0db03f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> smartreflex_iva */
-@@ -3841,7 +3842,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_iva = {
- 	.slave		= &omap44xx_smartreflex_iva_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_smartreflex_iva_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_iva_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3879,6 +3879,7 @@ static struct omap_hwmod_addr_space omap44xx_smartreflex_mpu_addrs[] = {
- 		.pa_end		= 0x4a0d903f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> smartreflex_mpu */
-@@ -3887,7 +3888,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__smartreflex_mpu = {
- 	.slave		= &omap44xx_smartreflex_mpu_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_smartreflex_mpu_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_smartreflex_mpu_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -3944,6 +3944,7 @@ static struct omap_hwmod_addr_space omap44xx_spinlock_addrs[] = {
- 		.pa_end		= 0x4a0f6fff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> spinlock */
-@@ -3952,7 +3953,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__spinlock = {
- 	.slave		= &omap44xx_spinlock_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_spinlock_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_spinlock_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4024,6 +4024,7 @@ static struct omap_hwmod_addr_space omap44xx_timer1_addrs[] = {
- 		.pa_end		= 0x4a31807f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> timer1 */
-@@ -4032,7 +4033,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__timer1 = {
- 	.slave		= &omap44xx_timer1_hwmod,
- 	.clk		= "l4_wkup_clk_mux_ck",
- 	.addr		= omap44xx_timer1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4069,6 +4069,7 @@ static struct omap_hwmod_addr_space omap44xx_timer2_addrs[] = {
- 		.pa_end		= 0x4803207f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer2 */
-@@ -4077,7 +4078,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer2 = {
- 	.slave		= &omap44xx_timer2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4114,6 +4114,7 @@ static struct omap_hwmod_addr_space omap44xx_timer3_addrs[] = {
- 		.pa_end		= 0x4803407f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer3 */
-@@ -4122,7 +4123,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer3 = {
- 	.slave		= &omap44xx_timer3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4159,6 +4159,7 @@ static struct omap_hwmod_addr_space omap44xx_timer4_addrs[] = {
- 		.pa_end		= 0x4803607f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer4 */
-@@ -4167,7 +4168,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer4 = {
- 	.slave		= &omap44xx_timer4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4204,6 +4204,7 @@ static struct omap_hwmod_addr_space omap44xx_timer5_addrs[] = {
- 		.pa_end		= 0x4013807f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer5 */
-@@ -4212,7 +4213,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5 = {
- 	.slave		= &omap44xx_timer5_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer5_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer5_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -4222,6 +4222,7 @@ static struct omap_hwmod_addr_space omap44xx_timer5_dma_addrs[] = {
- 		.pa_end		= 0x4903807f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer5 (dma) */
-@@ -4230,7 +4231,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer5_dma = {
- 	.slave		= &omap44xx_timer5_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer5_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer5_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -4268,6 +4268,7 @@ static struct omap_hwmod_addr_space omap44xx_timer6_addrs[] = {
- 		.pa_end		= 0x4013a07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer6 */
-@@ -4276,7 +4277,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6 = {
- 	.slave		= &omap44xx_timer6_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer6_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer6_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -4286,6 +4286,7 @@ static struct omap_hwmod_addr_space omap44xx_timer6_dma_addrs[] = {
- 		.pa_end		= 0x4903a07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer6 (dma) */
-@@ -4294,7 +4295,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer6_dma = {
- 	.slave		= &omap44xx_timer6_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer6_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer6_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -4332,6 +4332,7 @@ static struct omap_hwmod_addr_space omap44xx_timer7_addrs[] = {
- 		.pa_end		= 0x4013c07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer7 */
-@@ -4340,7 +4341,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7 = {
- 	.slave		= &omap44xx_timer7_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer7_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer7_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -4350,6 +4350,7 @@ static struct omap_hwmod_addr_space omap44xx_timer7_dma_addrs[] = {
- 		.pa_end		= 0x4903c07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer7 (dma) */
-@@ -4358,7 +4359,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer7_dma = {
- 	.slave		= &omap44xx_timer7_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer7_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer7_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -4396,6 +4396,7 @@ static struct omap_hwmod_addr_space omap44xx_timer8_addrs[] = {
- 		.pa_end		= 0x4013e07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer8 */
-@@ -4404,7 +4405,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8 = {
- 	.slave		= &omap44xx_timer8_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer8_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer8_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -4414,6 +4414,7 @@ static struct omap_hwmod_addr_space omap44xx_timer8_dma_addrs[] = {
- 		.pa_end		= 0x4903e07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> timer8 (dma) */
-@@ -4422,7 +4423,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__timer8_dma = {
- 	.slave		= &omap44xx_timer8_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_timer8_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer8_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-@@ -4460,6 +4460,7 @@ static struct omap_hwmod_addr_space omap44xx_timer9_addrs[] = {
- 		.pa_end		= 0x4803e07f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer9 */
-@@ -4468,7 +4469,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer9 = {
- 	.slave		= &omap44xx_timer9_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer9_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer9_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4505,6 +4505,7 @@ static struct omap_hwmod_addr_space omap44xx_timer10_addrs[] = {
- 		.pa_end		= 0x4808607f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer10 */
-@@ -4513,7 +4514,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer10 = {
- 	.slave		= &omap44xx_timer10_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer10_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer10_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4550,6 +4550,7 @@ static struct omap_hwmod_addr_space omap44xx_timer11_addrs[] = {
- 		.pa_end		= 0x4808807f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> timer11 */
-@@ -4558,7 +4559,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__timer11 = {
- 	.slave		= &omap44xx_timer11_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_timer11_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_timer11_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4622,6 +4622,7 @@ static struct omap_hwmod_addr_space omap44xx_uart1_addrs[] = {
- 		.pa_end		= 0x4806a0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> uart1 */
-@@ -4630,7 +4631,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart1 = {
- 	.slave		= &omap44xx_uart1_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_uart1_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_uart1_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4674,6 +4674,7 @@ static struct omap_hwmod_addr_space omap44xx_uart2_addrs[] = {
- 		.pa_end		= 0x4806c0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> uart2 */
-@@ -4682,7 +4683,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart2 = {
- 	.slave		= &omap44xx_uart2_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_uart2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_uart2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4726,6 +4726,7 @@ static struct omap_hwmod_addr_space omap44xx_uart3_addrs[] = {
- 		.pa_end		= 0x480200ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> uart3 */
-@@ -4734,7 +4735,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart3 = {
- 	.slave		= &omap44xx_uart3_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_uart3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_uart3_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4779,6 +4779,7 @@ static struct omap_hwmod_addr_space omap44xx_uart4_addrs[] = {
- 		.pa_end		= 0x4806e0ff,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_per -> uart4 */
-@@ -4787,7 +4788,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_per__uart4 = {
- 	.slave		= &omap44xx_uart4_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_uart4_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_uart4_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4854,6 +4854,7 @@ static struct omap_hwmod_addr_space omap44xx_usb_otg_hs_addrs[] = {
- 		.pa_end		= 0x4a0ab003,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_cfg -> usb_otg_hs */
-@@ -4862,7 +4863,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_otg_hs = {
- 	.slave		= &omap44xx_usb_otg_hs_hwmod,
- 	.clk		= "l4_div_ck",
- 	.addr		= omap44xx_usb_otg_hs_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4931,6 +4931,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer2_addrs[] = {
- 		.pa_end		= 0x4a31407f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_wkup -> wd_timer2 */
-@@ -4939,7 +4940,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_wkup__wd_timer2 = {
- 	.slave		= &omap44xx_wd_timer2_hwmod,
- 	.clk		= "l4_wkup_clk_mux_ck",
- 	.addr		= omap44xx_wd_timer2_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer2_addrs),
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -4976,6 +4976,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer3_addrs[] = {
- 		.pa_end		= 0x4013007f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> wd_timer3 */
-@@ -4984,7 +4985,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3 = {
- 	.slave		= &omap44xx_wd_timer3_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_wd_timer3_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_addrs),
- 	.user		= OCP_USER_MPU,
- };
- 
-@@ -4994,6 +4994,7 @@ static struct omap_hwmod_addr_space omap44xx_wd_timer3_dma_addrs[] = {
- 		.pa_end		= 0x4903007f,
- 		.flags		= ADDR_TYPE_RT
- 	},
-+	{ }
- };
- 
- /* l4_abe -> wd_timer3 (dma) */
-@@ -5002,7 +5003,6 @@ static struct omap_hwmod_ocp_if omap44xx_l4_abe__wd_timer3_dma = {
- 	.slave		= &omap44xx_wd_timer3_hwmod,
- 	.clk		= "ocp_abe_iclk",
- 	.addr		= omap44xx_wd_timer3_dma_addrs,
--	.addr_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_dma_addrs),
- 	.user		= OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index e93438c..f3a3bff 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -219,7 +219,6 @@ struct omap_hwmod_addr_space {
-  * @clk: interface clock: OMAP clock name
-  * @_clk: pointer to the interface struct clk (filled in at runtime)
-  * @fw: interface firewall data
-- * @addr_cnt: ARRAY_SIZE(@addr)
-  * @width: OCP data width
-  * @user: initiators using this interface (see OCP_USER_* macros above)
-  * @flags: OCP interface flags (see OCPIF_* macros above)
-@@ -238,7 +237,6 @@ struct omap_hwmod_ocp_if {
- 	union {
- 		struct omap_hwmod_omap2_firewall omap2;
- 	}				fw;
--	u8				addr_cnt;
- 	u8				width;
- 	u8				user;
- 	u8				flags;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0038-omap_hwmod-share-identical-omap_hwmod_addr_space-arr.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0038-omap_hwmod-share-identical-omap_hwmod_addr_space-arr.patch
deleted file mode 100644
index 991fe9a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0038-omap_hwmod-share-identical-omap_hwmod_addr_space-arr.patch
+++ /dev/null
@@ -1,1958 +0,0 @@
-From 6d88f17e46fda46214da43af303c4f4aa442bd39 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:06 -0600
-Subject: [PATCH 038/149] omap_hwmod: share identical omap_hwmod_addr_space arrays
-
-To reduce kernel source file data duplication, share struct
-omap_hwmod_addr_space arrays across OMAP2xxx and 3xxx hwmod data
-files.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/Makefile                       |   11 +-
- arch/arm/mach-omap2/omap_hwmod_2420_data.c         |  291 ++----------------
- arch/arm/mach-omap2/omap_hwmod_2430_data.c         |  319 ++------------------
- .../omap_hwmod_2xxx_3xxx_interconnect_data.c       |  173 +++++++++++
- .../mach-omap2/omap_hwmod_2xxx_interconnect_data.c |  130 ++++++++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |  151 +---------
- arch/arm/mach-omap2/omap_hwmod_common_data.h       |   38 +++-
- 7 files changed, 414 insertions(+), 699 deletions(-)
- create mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
- create mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index ff1466f..8a75d17 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -145,9 +145,14 @@ obj-$(CONFIG_SOC_OMAP2420)		+= opp2420_data.o
- obj-$(CONFIG_SOC_OMAP2430)		+= opp2430_data.o
- 
- # hwmod data
--obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2420_data.o
--obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2430_data.o
--obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_3xxx_data.o
-+obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_interconnect_data.o \
-+					   omap_hwmod_2xxx_3xxx_interconnect_data.o \
-+					   omap_hwmod_2420_data.o
-+obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_interconnect_data.o \
-+					   omap_hwmod_2xxx_3xxx_interconnect_data.o \
-+					   omap_hwmod_2430_data.o
-+obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_interconnect_data.o \
-+					   omap_hwmod_3xxx_data.o
- obj-$(CONFIG_ARCH_OMAP4)		+= omap_hwmod_44xx_data.o
- 
- # EMU peripherals
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 1a7ce3e..3ec625c 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -114,38 +114,20 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod;
- static struct omap_hwmod omap2420_mcbsp2_hwmod;
- 
- /* l4 core -> mcspi1 interface */
--static struct omap_hwmod_addr_space omap2420_mcspi1_addr_space[] = {
--	{
--		.pa_start	= 0x48098000,
--		.pa_end		= 0x480980ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi1 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mcspi1_hwmod,
- 	.clk		= "mcspi1_ick",
--	.addr		= omap2420_mcspi1_addr_space,
-+	.addr		= omap2_mcspi1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* l4 core -> mcspi2 interface */
--static struct omap_hwmod_addr_space omap2420_mcspi2_addr_space[] = {
--	{
--		.pa_start	= 0x4809a000,
--		.pa_end		= 0x4809a0ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcspi2 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mcspi2_hwmod,
- 	.clk		= "mcspi2_ick",
--	.addr		= omap2420_mcspi2_addr_space,
-+	.addr		= omap2_mcspi2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -157,95 +139,47 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__l4_wkup = {
- };
- 
- /* L4 CORE -> UART1 interface */
--static struct omap_hwmod_addr_space omap2420_uart1_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART1_BASE,
--		.pa_end		= OMAP2_UART1_BASE + SZ_8K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_uart1_hwmod,
- 	.clk		= "uart1_ick",
--	.addr		= omap2420_uart1_addr_space,
-+	.addr		= omap2xxx_uart1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 CORE -> UART2 interface */
--static struct omap_hwmod_addr_space omap2420_uart2_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART2_BASE,
--		.pa_end		= OMAP2_UART2_BASE + SZ_1K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_uart2_hwmod,
- 	.clk		= "uart2_ick",
--	.addr		= omap2420_uart2_addr_space,
-+	.addr		= omap2xxx_uart2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 PER -> UART3 interface */
--static struct omap_hwmod_addr_space omap2420_uart3_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART3_BASE,
--		.pa_end		= OMAP2_UART3_BASE + SZ_1K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_uart3_hwmod,
- 	.clk		= "uart3_ick",
--	.addr		= omap2420_uart3_addr_space,
-+	.addr		= omap2xxx_uart3_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
--/* I2C IP block address space length (in bytes) */
--#define OMAP2_I2C_AS_LEN		128
--
- /* L4 CORE -> I2C1 interface */
--static struct omap_hwmod_addr_space omap2420_i2c1_addr_space[] = {
--	{
--		.pa_start	= 0x48070000,
--		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2420_l4_core__i2c1 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
--	.addr		= omap2420_i2c1_addr_space,
-+	.addr		= omap2_i2c1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 CORE -> I2C2 interface */
--static struct omap_hwmod_addr_space omap2420_i2c2_addr_space[] = {
--	{
--		.pa_start	= 0x48072000,
--		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2420_l4_core__i2c2 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
--	.addr		= omap2420_i2c2_addr_space,
-+	.addr		= omap2_i2c2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -414,21 +348,13 @@ static struct omap_hwmod_irq_info omap2420_timer2_mpu_irqs[] = {
- 	{ .irq = 38, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer2_addrs[] = {
--	{
--		.pa_start	= 0x4802a000,
--		.pa_end		= 0x4802a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
- 
- /* l4_core -> timer2 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer2 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer2_hwmod,
- 	.clk		= "gpt2_ick",
--	.addr		= omap2420_timer2_addrs,
-+	.addr		= omap2xxx_timer2_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -464,21 +390,12 @@ static struct omap_hwmod_irq_info omap2420_timer3_mpu_irqs[] = {
- 	{ .irq = 39, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer3_addrs[] = {
--	{
--		.pa_start	= 0x48078000,
--		.pa_end		= 0x48078000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer3 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer3 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer3_hwmod,
- 	.clk		= "gpt3_ick",
--	.addr		= omap2420_timer3_addrs,
-+	.addr		= omap2xxx_timer3_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -514,21 +431,12 @@ static struct omap_hwmod_irq_info omap2420_timer4_mpu_irqs[] = {
- 	{ .irq = 40, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer4_addrs[] = {
--	{
--		.pa_start	= 0x4807a000,
--		.pa_end		= 0x4807a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer4 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer4 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer4_hwmod,
- 	.clk		= "gpt4_ick",
--	.addr		= omap2420_timer4_addrs,
-+	.addr		= omap2xxx_timer4_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -564,21 +472,12 @@ static struct omap_hwmod_irq_info omap2420_timer5_mpu_irqs[] = {
- 	{ .irq = 41, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer5_addrs[] = {
--	{
--		.pa_start	= 0x4807c000,
--		.pa_end		= 0x4807c000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer5 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer5 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer5_hwmod,
- 	.clk		= "gpt5_ick",
--	.addr		= omap2420_timer5_addrs,
-+	.addr		= omap2xxx_timer5_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -615,21 +514,12 @@ static struct omap_hwmod_irq_info omap2420_timer6_mpu_irqs[] = {
- 	{ .irq = 42, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer6_addrs[] = {
--	{
--		.pa_start	= 0x4807e000,
--		.pa_end		= 0x4807e000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer6 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer6 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer6_hwmod,
- 	.clk		= "gpt6_ick",
--	.addr		= omap2420_timer6_addrs,
-+	.addr		= omap2xxx_timer6_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -665,21 +555,12 @@ static struct omap_hwmod_irq_info omap2420_timer7_mpu_irqs[] = {
- 	{ .irq = 43, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer7_addrs[] = {
--	{
--		.pa_start	= 0x48080000,
--		.pa_end		= 0x48080000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer7 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer7 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer7_hwmod,
- 	.clk		= "gpt7_ick",
--	.addr		= omap2420_timer7_addrs,
-+	.addr		= omap2xxx_timer7_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -715,21 +596,12 @@ static struct omap_hwmod_irq_info omap2420_timer8_mpu_irqs[] = {
- 	{ .irq = 44, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer8_addrs[] = {
--	{
--		.pa_start	= 0x48082000,
--		.pa_end		= 0x48082000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer8 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer8 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer8_hwmod,
- 	.clk		= "gpt8_ick",
--	.addr		= omap2420_timer8_addrs,
-+	.addr		= omap2xxx_timer8_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -765,21 +637,12 @@ static struct omap_hwmod_irq_info omap2420_timer9_mpu_irqs[] = {
- 	{ .irq = 45, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer9_addrs[] = {
--	{
--		.pa_start	= 0x48084000,
--		.pa_end		= 0x48084000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer9 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer9 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer9_hwmod,
- 	.clk		= "gpt9_ick",
--	.addr		= omap2420_timer9_addrs,
-+	.addr		= omap2xxx_timer9_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -815,21 +678,12 @@ static struct omap_hwmod_irq_info omap2420_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer10_addrs[] = {
--	{
--		.pa_start	= 0x48086000,
--		.pa_end		= 0x48086000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer10 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer10_hwmod,
- 	.clk		= "gpt10_ick",
--	.addr		= omap2420_timer10_addrs,
-+	.addr		= omap2_timer10_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -865,21 +719,12 @@ static struct omap_hwmod_irq_info omap2420_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer11_addrs[] = {
--	{
--		.pa_start	= 0x48088000,
--		.pa_end		= 0x48088000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer11 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer11_hwmod,
- 	.clk		= "gpt11_ick",
--	.addr		= omap2420_timer11_addrs,
-+	.addr		= omap2_timer11_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -915,21 +760,12 @@ static struct omap_hwmod_irq_info omap2420_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
- };
- 
--static struct omap_hwmod_addr_space omap2420_timer12_addrs[] = {
--	{
--		.pa_start	= 0x4808a000,
--		.pa_end		= 0x4808a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer12 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer12 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_timer12_hwmod,
- 	.clk		= "gpt12_ick",
--	.addr		= omap2420_timer12_addrs,
-+	.addr		= omap2xxx_timer12_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1178,21 +1014,12 @@ static struct omap_hwmod_ocp_if *omap2420_dss_masters[] = {
- 	&omap2420_dss__l3,
- };
- 
--static struct omap_hwmod_addr_space omap2420_dss_addrs[] = {
--	{
--		.pa_start	= 0x48050000,
--		.pa_end		= 0x480503FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_dss_core_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2420_dss_addrs,
-+	.addr		= omap2_dss_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1262,21 +1089,12 @@ static struct omap_hwmod_irq_info omap2420_dispc_irqs[] = {
- 	{ .irq = 25 },
- };
- 
--static struct omap_hwmod_addr_space omap2420_dss_dispc_addrs[] = {
--	{
--		.pa_start	= 0x48050400,
--		.pa_end		= 0x480507FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_dispc = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2420_dss_dispc_addrs,
-+	.addr		= omap2_dss_dispc_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_DISPC_REGION,
-@@ -1332,21 +1150,12 @@ static struct omap_hwmod_class omap2420_rfbi_hwmod_class = {
- 	.sysc = &omap2420_rfbi_sysc,
- };
- 
--static struct omap_hwmod_addr_space omap2420_dss_rfbi_addrs[] = {
--	{
--		.pa_start	= 0x48050800,
--		.pa_end		= 0x48050BFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_rfbi = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2420_dss_rfbi_addrs,
-+	.addr		= omap2_dss_rfbi_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1387,22 +1196,12 @@ static struct omap_hwmod_class omap2420_venc_hwmod_class = {
- 	.name = "venc",
- };
- 
--/* dss_venc */
--static struct omap_hwmod_addr_space omap2420_dss_venc_addrs[] = {
--	{
--		.pa_start	= 0x48050C00,
--		.pa_end		= 0x48050FFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_dss_venc_hwmod,
- 	.clk		= "dss_54m_fck",
--	.addr		= omap2420_dss_venc_addrs,
-+	.addr		= omap2_dss_venc_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP2420_L4_CORE_FW_DSS_VENC_REGION,
-@@ -1783,15 +1582,6 @@ static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
- 	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
- };
- 
--static struct omap_hwmod_addr_space omap2420_dma_system_addrs[] = {
--	{
--		.pa_start	= 0x48056000,
--		.pa_end		= 0x48056fff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* dma_system -> L3 */
- static struct omap_hwmod_ocp_if omap2420_dma_system__l3 = {
- 	.master		= &omap2420_dma_system_hwmod,
-@@ -1810,7 +1600,7 @@ static struct omap_hwmod_ocp_if omap2420_l4_core__dma_system = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_dma_system_hwmod,
- 	.clk		= "sdma_ick",
--	.addr		= omap2420_dma_system_addrs,
-+	.addr		= omap2_dma_system_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1862,20 +1652,11 @@ static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = {
- 	{ .name = "iva", .irq = 34 },
- };
- 
--static struct omap_hwmod_addr_space omap2420_mailbox_addrs[] = {
--	{
--		.pa_start	= 0x48094000,
--		.pa_end		= 0x480941ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- /* l4_core -> mailbox */
- static struct omap_hwmod_ocp_if omap2420_l4_core__mailbox = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mailbox_hwmod,
--	.addr		= omap2420_mailbox_addrs,
-+	.addr		= omap2_mailbox_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2037,22 +1818,12 @@ static struct omap_hwmod_dma_info omap2420_mcbsp1_sdma_chs[] = {
- 	{ .name = "tx", .dma_req = 31 },
- };
- 
--static struct omap_hwmod_addr_space omap2420_mcbsp1_addrs[] = {
--	{
--		.name		= "mpu",
--		.pa_start	= 0x48074000,
--		.pa_end		= 0x480740ff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> mcbsp1 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp1 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mcbsp1_hwmod,
- 	.clk		= "mcbsp1_ick",
--	.addr		= omap2420_mcbsp1_addrs,
-+	.addr		= omap2_mcbsp1_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2094,22 +1865,12 @@ static struct omap_hwmod_dma_info omap2420_mcbsp2_sdma_chs[] = {
- 	{ .name = "tx", .dma_req = 33 },
- };
- 
--static struct omap_hwmod_addr_space omap2420_mcbsp2_addrs[] = {
--	{
--		.name		= "mpu",
--		.pa_start	= 0x48076000,
--		.pa_end		= 0x480760ff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> mcbsp2 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp2 = {
- 	.master		= &omap2420_l4_core_hwmod,
- 	.slave		= &omap2420_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
--	.addr		= omap2420_mcbsp2_addrs,
-+	.addr		= omap2xxx_mcbsp2_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index da28794..9531ef2 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -131,42 +131,21 @@ static struct omap_hwmod_ocp_if omap2430_usbhsotg__l3 = {
- 	.user		= OCP_USER_MPU,
- };
- 
--/* I2C IP block address space length (in bytes) */
--#define OMAP2_I2C_AS_LEN		128
--
- /* L4 CORE -> I2C1 interface */
--static struct omap_hwmod_addr_space omap2430_i2c1_addr_space[] = {
--	{
--		.pa_start	= 0x48070000,
--		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__i2c1 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
--	.addr		= omap2430_i2c1_addr_space,
-+	.addr		= omap2_i2c1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 CORE -> I2C2 interface */
--static struct omap_hwmod_addr_space omap2430_i2c2_addr_space[] = {
--	{
--		.pa_start	= 0x48072000,
--		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__i2c2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
--	.addr		= omap2430_i2c2_addr_space,
-+	.addr		= omap2_i2c2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -178,56 +157,29 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__l4_wkup = {
- };
- 
- /* L4 CORE -> UART1 interface */
--static struct omap_hwmod_addr_space omap2430_uart1_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART1_BASE,
--		.pa_end		= OMAP2_UART1_BASE + SZ_8K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart1 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_uart1_hwmod,
- 	.clk		= "uart1_ick",
--	.addr		= omap2430_uart1_addr_space,
-+	.addr		= omap2xxx_uart1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 CORE -> UART2 interface */
--static struct omap_hwmod_addr_space omap2430_uart2_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART2_BASE,
--		.pa_end		= OMAP2_UART2_BASE + SZ_1K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_uart2_hwmod,
- 	.clk		= "uart2_ick",
--	.addr		= omap2430_uart2_addr_space,
-+	.addr		= omap2xxx_uart2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* L4 PER -> UART3 interface */
--static struct omap_hwmod_addr_space omap2430_uart3_addr_space[] = {
--	{
--		.pa_start	= OMAP2_UART3_BASE,
--		.pa_end		= OMAP2_UART3_BASE + SZ_1K - 1,
--		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2_l4_core__uart3 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_uart3_hwmod,
- 	.clk		= "uart3_ick",
--	.addr		= omap2430_uart3_addr_space,
-+	.addr		= omap2xxx_uart3_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -260,15 +212,6 @@ static struct omap_hwmod_ocp_if *omap2430_usbhsotg_slaves[] = {
- };
- 
- /* L4 CORE -> MMC1 interface */
--static struct omap_hwmod_addr_space omap2430_mmc1_addr_space[] = {
--	{
--		.pa_start	= 0x4809c000,
--		.pa_end		= 0x4809c1ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__mmc1 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mmc1_hwmod,
-@@ -278,15 +221,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__mmc1 = {
- };
- 
- /* L4 CORE -> MMC2 interface */
--static struct omap_hwmod_addr_space omap2430_mmc2_addr_space[] = {
--	{
--		.pa_start	= 0x480b4000,
--		.pa_end		= 0x480b41ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__mmc2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mmc2_hwmod,
-@@ -332,51 +266,24 @@ static struct omap_hwmod_ocp_if *omap2430_l4_wkup_masters[] = {
- };
- 
- /* l4 core -> mcspi1 interface */
--static struct omap_hwmod_addr_space omap2430_mcspi1_addr_space[] = {
--	{
--		.pa_start	= 0x48098000,
--		.pa_end		= 0x480980ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi1 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mcspi1_hwmod,
- 	.clk		= "mcspi1_ick",
--	.addr		= omap2430_mcspi1_addr_space,
-+	.addr		= omap2_mcspi1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* l4 core -> mcspi2 interface */
--static struct omap_hwmod_addr_space omap2430_mcspi2_addr_space[] = {
--	{
--		.pa_start	= 0x4809a000,
--		.pa_end		= 0x4809a0ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mcspi2_hwmod,
- 	.clk		= "mcspi2_ick",
--	.addr		= omap2430_mcspi2_addr_space,
-+	.addr		= omap2_mcspi2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* l4 core -> mcspi3 interface */
--static struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[] = {
--	{
--		.pa_start	= 0x480b8000,
--		.pa_end		= 0x480b80ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcspi3 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mcspi3_hwmod,
-@@ -514,21 +421,12 @@ static struct omap_hwmod_irq_info omap2430_timer2_mpu_irqs[] = {
- 	{ .irq = 38, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer2_addrs[] = {
--	{
--		.pa_start	= 0x4802a000,
--		.pa_end		= 0x4802a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer2 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer2_hwmod,
- 	.clk		= "gpt2_ick",
--	.addr		= omap2430_timer2_addrs,
-+	.addr		= omap2xxx_timer2_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -564,21 +462,12 @@ static struct omap_hwmod_irq_info omap2430_timer3_mpu_irqs[] = {
- 	{ .irq = 39, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer3_addrs[] = {
--	{
--		.pa_start	= 0x48078000,
--		.pa_end		= 0x48078000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer3 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer3 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer3_hwmod,
- 	.clk		= "gpt3_ick",
--	.addr		= omap2430_timer3_addrs,
-+	.addr		= omap2xxx_timer3_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -614,21 +503,12 @@ static struct omap_hwmod_irq_info omap2430_timer4_mpu_irqs[] = {
- 	{ .irq = 40, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer4_addrs[] = {
--	{
--		.pa_start	= 0x4807a000,
--		.pa_end		= 0x4807a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer4 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer4 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer4_hwmod,
- 	.clk		= "gpt4_ick",
--	.addr		= omap2430_timer4_addrs,
-+	.addr		= omap2xxx_timer4_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -664,21 +544,12 @@ static struct omap_hwmod_irq_info omap2430_timer5_mpu_irqs[] = {
- 	{ .irq = 41, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer5_addrs[] = {
--	{
--		.pa_start	= 0x4807c000,
--		.pa_end		= 0x4807c000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer5 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer5 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer5_hwmod,
- 	.clk		= "gpt5_ick",
--	.addr		= omap2430_timer5_addrs,
-+	.addr		= omap2xxx_timer5_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -714,21 +585,12 @@ static struct omap_hwmod_irq_info omap2430_timer6_mpu_irqs[] = {
- 	{ .irq = 42, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer6_addrs[] = {
--	{
--		.pa_start	= 0x4807e000,
--		.pa_end		= 0x4807e000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer6 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer6 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer6_hwmod,
- 	.clk		= "gpt6_ick",
--	.addr		= omap2430_timer6_addrs,
-+	.addr		= omap2xxx_timer6_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -764,21 +626,12 @@ static struct omap_hwmod_irq_info omap2430_timer7_mpu_irqs[] = {
- 	{ .irq = 43, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer7_addrs[] = {
--	{
--		.pa_start	= 0x48080000,
--		.pa_end		= 0x48080000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer7 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer7 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer7_hwmod,
- 	.clk		= "gpt7_ick",
--	.addr		= omap2430_timer7_addrs,
-+	.addr		= omap2xxx_timer7_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -814,21 +667,12 @@ static struct omap_hwmod_irq_info omap2430_timer8_mpu_irqs[] = {
- 	{ .irq = 44, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer8_addrs[] = {
--	{
--		.pa_start	= 0x48082000,
--		.pa_end		= 0x48082000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer8 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer8 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer8_hwmod,
- 	.clk		= "gpt8_ick",
--	.addr		= omap2430_timer8_addrs,
-+	.addr		= omap2xxx_timer8_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -864,21 +708,12 @@ static struct omap_hwmod_irq_info omap2430_timer9_mpu_irqs[] = {
- 	{ .irq = 45, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer9_addrs[] = {
--	{
--		.pa_start	= 0x48084000,
--		.pa_end		= 0x48084000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer9 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer9 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer9_hwmod,
- 	.clk		= "gpt9_ick",
--	.addr		= omap2430_timer9_addrs,
-+	.addr		= omap2xxx_timer9_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -914,21 +749,12 @@ static struct omap_hwmod_irq_info omap2430_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer10_addrs[] = {
--	{
--		.pa_start	= 0x48086000,
--		.pa_end		= 0x48086000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer10 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer10_hwmod,
- 	.clk		= "gpt10_ick",
--	.addr		= omap2430_timer10_addrs,
-+	.addr		= omap2_timer10_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -964,21 +790,12 @@ static struct omap_hwmod_irq_info omap2430_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer11_addrs[] = {
--	{
--		.pa_start	= 0x48088000,
--		.pa_end		= 0x48088000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer11 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer11_hwmod,
- 	.clk		= "gpt11_ick",
--	.addr		= omap2430_timer11_addrs,
-+	.addr		= omap2_timer11_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1014,21 +831,12 @@ static struct omap_hwmod_irq_info omap2430_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
- };
- 
--static struct omap_hwmod_addr_space omap2430_timer12_addrs[] = {
--	{
--		.pa_start	= 0x4808a000,
--		.pa_end		= 0x4808a000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer12 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer12 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_timer12_hwmod,
- 	.clk		= "gpt12_ick",
--	.addr		= omap2430_timer12_addrs,
-+	.addr		= omap2xxx_timer12_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1277,21 +1085,12 @@ static struct omap_hwmod_ocp_if *omap2430_dss_masters[] = {
- 	&omap2430_dss__l3,
- };
- 
--static struct omap_hwmod_addr_space omap2430_dss_addrs[] = {
--	{
--		.pa_start	= 0x48050000,
--		.pa_end		= 0x480503FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_dss_core_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2430_dss_addrs,
-+	.addr		= omap2_dss_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1355,21 +1154,12 @@ static struct omap_hwmod_irq_info omap2430_dispc_irqs[] = {
- 	{ .irq = 25 },
- };
- 
--static struct omap_hwmod_addr_space omap2430_dss_dispc_addrs[] = {
--	{
--		.pa_start	= 0x48050400,
--		.pa_end		= 0x480507FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_dispc = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2430_dss_dispc_addrs,
-+	.addr		= omap2_dss_dispc_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1419,21 +1209,12 @@ static struct omap_hwmod_class omap2430_rfbi_hwmod_class = {
- 	.sysc = &omap2430_rfbi_sysc,
- };
- 
--static struct omap_hwmod_addr_space omap2430_dss_rfbi_addrs[] = {
--	{
--		.pa_start	= 0x48050800,
--		.pa_end		= 0x48050BFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_rfbi = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap2430_dss_rfbi_addrs,
-+	.addr		= omap2_dss_rfbi_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1468,22 +1249,12 @@ static struct omap_hwmod_class omap2430_venc_hwmod_class = {
- 	.name = "venc",
- };
- 
--/* dss_venc */
--static struct omap_hwmod_addr_space omap2430_dss_venc_addrs[] = {
--	{
--		.pa_start	= 0x48050C00,
--		.pa_end		= 0x48050FFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_dss_venc_hwmod,
- 	.clk		= "dss_54m_fck",
--	.addr		= omap2430_dss_venc_addrs,
-+	.addr		= omap2_dss_venc_addrs,
- 	.flags		= OCPIF_SWSUP_IDLE,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
-@@ -1916,15 +1687,6 @@ static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
- 	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
- };
- 
--static struct omap_hwmod_addr_space omap2430_dma_system_addrs[] = {
--	{
--		.pa_start	= 0x48056000,
--		.pa_end		= 0x48056fff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* dma_system -> L3 */
- static struct omap_hwmod_ocp_if omap2430_dma_system__l3 = {
- 	.master		= &omap2430_dma_system_hwmod,
-@@ -1943,7 +1705,7 @@ static struct omap_hwmod_ocp_if omap2430_l4_core__dma_system = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_dma_system_hwmod,
- 	.clk		= "sdma_ick",
--	.addr		= omap2430_dma_system_addrs,
-+	.addr		= omap2_dma_system_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1994,20 +1756,11 @@ static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = {
- 	{ .irq = 26 },
- };
- 
--static struct omap_hwmod_addr_space omap2430_mailbox_addrs[] = {
--	{
--		.pa_start	= 0x48094000,
--		.pa_end		= 0x480941ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- /* l4_core -> mailbox */
- static struct omap_hwmod_ocp_if omap2430_l4_core__mailbox = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mailbox_hwmod,
--	.addr		= omap2430_mailbox_addrs,
-+	.addr		= omap2_mailbox_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2279,22 +2032,12 @@ static struct omap_hwmod_dma_info omap2430_mcbsp1_sdma_chs[] = {
- 	{ .name = "tx", .dma_req = 31 },
- };
- 
--static struct omap_hwmod_addr_space omap2430_mcbsp1_addrs[] = {
--	{
--		.name		= "mpu",
--		.pa_start	= 0x48074000,
--		.pa_end		= 0x480740ff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> mcbsp1 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp1 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mcbsp1_hwmod,
- 	.clk		= "mcbsp1_ick",
--	.addr		= omap2430_mcbsp1_addrs,
-+	.addr		= omap2_mcbsp1_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2337,22 +2080,12 @@ static struct omap_hwmod_dma_info omap2430_mcbsp2_sdma_chs[] = {
- 	{ .name = "tx", .dma_req = 33 },
- };
- 
--static struct omap_hwmod_addr_space omap2430_mcbsp2_addrs[] = {
--	{
--		.name		= "mpu",
--		.pa_start	= 0x48076000,
--		.pa_end		= 0x480760ff,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> mcbsp2 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp2 = {
- 	.master		= &omap2430_l4_core_hwmod,
- 	.slave		= &omap2430_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
--	.addr		= omap2430_mcbsp2_addrs,
-+	.addr		= omap2xxx_mcbsp2_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
-new file mode 100644
-index 0000000..04637fa
---- /dev/null
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_interconnect_data.c
-@@ -0,0 +1,173 @@
-+/*
-+ * omap_hwmod_2xxx_3xxx_interconnect_data.c - common interconnect data, OMAP2/3
-+ *
-+ * Copyright (C) 2009-2011 Nokia Corporation
-+ * Paul Walmsley
-+ *
-+ * 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.
-+ *
-+ * XXX handle crossbar/shared link difference for L3?
-+ * XXX these should be marked initdata for multi-OMAP kernels
-+ */
-+#include <asm/sizes.h>
-+
-+#include <plat/omap_hwmod.h>
-+#include <plat/serial.h>
-+
-+#include "omap_hwmod_common_data.h"
-+
-+struct omap_hwmod_addr_space omap2430_mmc1_addr_space[] = {
-+	{
-+		.pa_start	= 0x4809c000,
-+		.pa_end		= 0x4809c1ff,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2430_mmc2_addr_space[] = {
-+	{
-+		.pa_start	= 0x480b4000,
-+		.pa_end		= 0x480b41ff,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_i2c1_addr_space[] = {
-+	{
-+		.pa_start	= 0x48070000,
-+		.pa_end		= 0x48070000 + SZ_128 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_i2c2_addr_space[] = {
-+	{
-+		.pa_start	= 0x48072000,
-+		.pa_end		= 0x48072000 + SZ_128 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_dss_addrs[] = {
-+	{
-+		.pa_start	= 0x48050000,
-+		.pa_end		= 0x48050000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_dss_dispc_addrs[] = {
-+	{
-+		.pa_start	= 0x48050400,
-+		.pa_end		= 0x48050400 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_dss_rfbi_addrs[] = {
-+	{
-+		.pa_start	= 0x48050800,
-+		.pa_end		= 0x48050800 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_dss_venc_addrs[] = {
-+	{
-+		.pa_start	= 0x48050C00,
-+		.pa_end		= 0x48050C00 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_timer10_addrs[] = {
-+	{
-+		.pa_start	= 0x48086000,
-+		.pa_end		= 0x48086000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_timer11_addrs[] = {
-+	{
-+		.pa_start	= 0x48088000,
-+		.pa_end		= 0x48088000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer12_addrs[] = {
-+	{
-+		.pa_start	= 0x4808a000,
-+		.pa_end		= 0x4808a000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_mcspi1_addr_space[] = {
-+	{
-+		.pa_start	= 0x48098000,
-+		.pa_end		= 0x48098000 + SZ_256 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_mcspi2_addr_space[] = {
-+	{
-+		.pa_start	= 0x4809a000,
-+		.pa_end		= 0x4809a000 + SZ_256 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[] = {
-+	{
-+		.pa_start	= 0x480b8000,
-+		.pa_end		= 0x480b8000 + SZ_256 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_dma_system_addrs[] = {
-+	{
-+		.pa_start	= 0x48056000,
-+		.pa_end		= 0x48056000 + SZ_4K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_mailbox_addrs[] = {
-+	{
-+		.pa_start	= 0x48094000,
-+		.pa_end		= 0x48094000 + SZ_512 - 1,
-+		.flags		= ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2_mcbsp1_addrs[] = {
-+	{
-+		.name		= "mpu",
-+		.pa_start	= 0x48074000,
-+		.pa_end		= 0x480740ff,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
-new file mode 100644
-index 0000000..4f3547c
---- /dev/null
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c
-@@ -0,0 +1,130 @@
-+/*
-+ * omap_hwmod_2xxx_interconnect_data.c - common interconnect data for OMAP2xxx
-+ *
-+ * Copyright (C) 2009-2011 Nokia Corporation
-+ * Paul Walmsley
-+ *
-+ * 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.
-+ *
-+ * XXX handle crossbar/shared link difference for L3?
-+ * XXX these should be marked initdata for multi-OMAP kernels
-+ */
-+#include <asm/sizes.h>
-+
-+#include <plat/omap_hwmod.h>
-+#include <plat/serial.h>
-+
-+#include "omap_hwmod_common_data.h"
-+
-+struct omap_hwmod_addr_space omap2xxx_uart1_addr_space[] = {
-+	{
-+		.pa_start	= OMAP2_UART1_BASE,
-+		.pa_end		= OMAP2_UART1_BASE + SZ_8K - 1,
-+		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_uart2_addr_space[] = {
-+	{
-+		.pa_start	= OMAP2_UART2_BASE,
-+		.pa_end		= OMAP2_UART2_BASE + SZ_1K - 1,
-+		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_uart3_addr_space[] = {
-+	{
-+		.pa_start	= OMAP2_UART3_BASE,
-+		.pa_end		= OMAP2_UART3_BASE + SZ_1K - 1,
-+		.flags		= ADDR_MAP_ON_INIT | ADDR_TYPE_RT,
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer2_addrs[] = {
-+	{
-+		.pa_start	= 0x4802a000,
-+		.pa_end		= 0x4802a000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer3_addrs[] = {
-+	{
-+		.pa_start	= 0x48078000,
-+		.pa_end		= 0x48078000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer4_addrs[] = {
-+	{
-+		.pa_start	= 0x4807a000,
-+		.pa_end		= 0x4807a000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer5_addrs[] = {
-+	{
-+		.pa_start	= 0x4807c000,
-+		.pa_end		= 0x4807c000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer6_addrs[] = {
-+	{
-+		.pa_start	= 0x4807e000,
-+		.pa_end		= 0x4807e000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer7_addrs[] = {
-+	{
-+		.pa_start	= 0x48080000,
-+		.pa_end		= 0x48080000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer8_addrs[] = {
-+	{
-+		.pa_start	= 0x48082000,
-+		.pa_end		= 0x48082000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_timer9_addrs[] = {
-+	{
-+		.pa_start	= 0x48084000,
-+		.pa_end		= 0x48084000 + SZ_1K - 1,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+struct omap_hwmod_addr_space omap2xxx_mcbsp2_addrs[] = {
-+	{
-+		.name		= "mpu",
-+		.pa_start	= 0x48076000,
-+		.pa_end		= 0x480760ff,
-+		.flags		= ADDR_TYPE_RT
-+	},
-+	{ }
-+};
-+
-+
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 6410779..791f9b2 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -190,39 +190,21 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__l4_wkup = {
- };
- 
- /* L4 CORE -> MMC1 interface */
--static struct omap_hwmod_addr_space omap3xxx_mmc1_addr_space[] = {
--	{
--		.pa_start	= 0x4809c000,
--		.pa_end		= 0x4809c1ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc1 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_mmc1_hwmod,
- 	.clk		= "mmchs1_ick",
--	.addr		= omap3xxx_mmc1_addr_space,
-+	.addr		= omap2430_mmc1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- 	.flags		= OMAP_FIREWALL_L4
- };
- 
- /* L4 CORE -> MMC2 interface */
--static struct omap_hwmod_addr_space omap3xxx_mmc2_addr_space[] = {
--	{
--		.pa_start	= 0x480b4000,
--		.pa_end		= 0x480b41ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__mmc2 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_mmc2_hwmod,
- 	.clk		= "mmchs2_ick",
--	.addr		= omap3xxx_mmc2_addr_space,
-+	.addr		= omap2430_mmc2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- 	.flags		= OMAP_FIREWALL_L4
- };
-@@ -318,24 +300,12 @@ static struct omap_hwmod_ocp_if omap3_l4_per__uart4 = {
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
--/* I2C IP block address space length (in bytes) */
--#define OMAP2_I2C_AS_LEN		128
--
- /* L4 CORE -> I2C1 interface */
--static struct omap_hwmod_addr_space omap3xxx_i2c1_addr_space[] = {
--	{
--		.pa_start	= 0x48070000,
--		.pa_end		= 0x48070000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_i2c1_hwmod,
- 	.clk		= "i2c1_ick",
--	.addr		= omap3xxx_i2c1_addr_space,
-+	.addr		= omap2_i2c1_addr_space,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C1_REGION,
-@@ -347,20 +317,11 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c1 = {
- };
- 
- /* L4 CORE -> I2C2 interface */
--static struct omap_hwmod_addr_space omap3xxx_i2c2_addr_space[] = {
--	{
--		.pa_start	= 0x48072000,
--		.pa_end		= 0x48072000 + OMAP2_I2C_AS_LEN - 1,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_i2c2_hwmod,
- 	.clk		= "i2c2_ick",
--	.addr		= omap3xxx_i2c2_addr_space,
-+	.addr		= omap2_i2c2_addr_space,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_I2C2_REGION,
-@@ -375,7 +336,7 @@ static struct omap_hwmod_ocp_if omap3_l4_core__i2c2 = {
- static struct omap_hwmod_addr_space omap3xxx_i2c3_addr_space[] = {
- 	{
- 		.pa_start	= 0x48060000,
--		.pa_end		= 0x48060000 + OMAP2_I2C_AS_LEN - 1,
-+		.pa_end		= 0x48060000 + SZ_128 - 1,
- 		.flags		= ADDR_TYPE_RT,
- 	},
- 	{ }
-@@ -1065,21 +1026,12 @@ static struct omap_hwmod_irq_info omap3xxx_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
- };
- 
--static struct omap_hwmod_addr_space omap3xxx_timer10_addrs[] = {
--	{
--		.pa_start	= 0x48086000,
--		.pa_end		= 0x48086000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer10 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_timer10_hwmod,
- 	.clk		= "gpt10_ick",
--	.addr		= omap3xxx_timer10_addrs,
-+	.addr		= omap2_timer10_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1115,21 +1067,12 @@ static struct omap_hwmod_irq_info omap3xxx_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
- };
- 
--static struct omap_hwmod_addr_space omap3xxx_timer11_addrs[] = {
--	{
--		.pa_start	= 0x48088000,
--		.pa_end		= 0x48088000 + SZ_1K - 1,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer11 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_timer11_hwmod,
- 	.clk		= "gpt11_ick",
--	.addr		= omap3xxx_timer11_addrs,
-+	.addr		= omap2_timer11_addrs,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -1491,21 +1434,12 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_masters[] = {
- 	&omap3xxx_dss__l3,
- };
- 
--static struct omap_hwmod_addr_space omap3xxx_dss_addrs[] = {
--	{
--		.pa_start	= 0x48050000,
--		.pa_end		= 0x480503FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss */
- static struct omap_hwmod_ocp_if omap3430es1_l4_core__dss = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3430es1_dss_core_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap3xxx_dss_addrs,
-+	.addr		= omap2_dss_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3ES1_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1520,7 +1454,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_dss_core_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap3xxx_dss_addrs,
-+	.addr		= omap2_dss_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_CORE_REGION,
-@@ -1625,21 +1559,12 @@ static struct omap_hwmod_irq_info omap3xxx_dispc_irqs[] = {
- 	{ .irq = 25 },
- };
- 
--static struct omap_hwmod_addr_space omap3xxx_dss_dispc_addrs[] = {
--	{
--		.pa_start	= 0x48050400,
--		.pa_end		= 0x480507FF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dispc = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_dss_dispc_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap3xxx_dss_dispc_addrs,
-+	.addr		= omap2_dss_dispc_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_DISPC_REGION,
-@@ -1760,21 +1685,12 @@ static struct omap_hwmod_class omap3xxx_rfbi_hwmod_class = {
- 	.sysc = &omap3xxx_rfbi_sysc,
- };
- 
--static struct omap_hwmod_addr_space omap3xxx_dss_rfbi_addrs[] = {
--	{
--		.pa_start	= 0x48050800,
--		.pa_end		= 0x48050BFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_rfbi = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_dss_rfbi_hwmod,
- 	.clk		= "dss_ick",
--	.addr		= omap3xxx_dss_rfbi_addrs,
-+	.addr		= omap2_dss_rfbi_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_RFBI_REGION,
-@@ -1818,22 +1734,12 @@ static struct omap_hwmod_class omap3xxx_venc_hwmod_class = {
- 	.name = "venc",
- };
- 
--/* dss_venc */
--static struct omap_hwmod_addr_space omap3xxx_dss_venc_addrs[] = {
--	{
--		.pa_start	= 0x48050C00,
--		.pa_end		= 0x48050FFF,
--		.flags		= ADDR_TYPE_RT
--	},
--	{ }
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_venc = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap3xxx_dss_venc_hwmod,
- 	.clk		= "dss_tv_fck",
--	.addr		= omap3xxx_dss_venc_addrs,
-+	.addr		= omap2_dss_venc_addrs,
- 	.fw = {
- 		.omap2 = {
- 			.l4_fw_region  = OMAP3_L4_CORE_FW_DSS_VENC_REGION,
-@@ -3070,56 +2976,29 @@ static struct omap_hwmod omap3xxx_mailbox_hwmod = {
- };
- 
- /* l4 core -> mcspi1 interface */
--static struct omap_hwmod_addr_space omap34xx_mcspi1_addr_space[] = {
--	{
--		.pa_start	= 0x48098000,
--		.pa_end		= 0x480980ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi1 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap34xx_mcspi1,
- 	.clk		= "mcspi1_ick",
--	.addr		= omap34xx_mcspi1_addr_space,
-+	.addr		= omap2_mcspi1_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* l4 core -> mcspi2 interface */
--static struct omap_hwmod_addr_space omap34xx_mcspi2_addr_space[] = {
--	{
--		.pa_start	= 0x4809a000,
--		.pa_end		= 0x4809a0ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi2 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap34xx_mcspi2,
- 	.clk		= "mcspi2_ick",
--	.addr		= omap34xx_mcspi2_addr_space,
-+	.addr		= omap2_mcspi2_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
- /* l4 core -> mcspi3 interface */
--static struct omap_hwmod_addr_space omap34xx_mcspi3_addr_space[] = {
--	{
--		.pa_start	= 0x480b8000,
--		.pa_end		= 0x480b80ff,
--		.flags		= ADDR_TYPE_RT,
--	},
--	{ }
--};
--
- static struct omap_hwmod_ocp_if omap34xx_l4_core__mcspi3 = {
- 	.master		= &omap3xxx_l4_core_hwmod,
- 	.slave		= &omap34xx_mcspi3,
- 	.clk		= "mcspi3_ick",
--	.addr		= omap34xx_mcspi3_addr_space,
-+	.addr		= omap2430_mcspi3_addr_space,
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-index c34e98b..76a2f11 100644
---- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
-+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-@@ -1,10 +1,10 @@
- /*
-  * omap_hwmod_common_data.h - OMAP hwmod common macros and declarations
-  *
-- * Copyright (C) 2010 Nokia Corporation
-+ * Copyright (C) 2010-2011 Nokia Corporation
-  * Paul Walmsley
-  *
-- * Copyright (C) 2010 Texas Instruments, Inc.
-+ * Copyright (C) 2010-2011 Texas Instruments, Inc.
-  * Benoît Cousson
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -16,10 +16,44 @@
- 
- #include <plat/omap_hwmod.h>
- 
-+/* Common address space across OMAP2xxx */
-+extern struct omap_hwmod_addr_space omap2xxx_uart1_addr_space[];
-+extern struct omap_hwmod_addr_space omap2xxx_uart2_addr_space[];
-+extern struct omap_hwmod_addr_space omap2xxx_uart3_addr_space[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer2_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer3_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer4_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer5_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer6_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer7_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer8_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer9_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_timer12_addrs[];
-+extern struct omap_hwmod_addr_space omap2xxx_mcbsp2_addrs[];
-+
-+/* Common address space across OMAP2xxx/3xxx */
-+extern struct omap_hwmod_addr_space omap2_i2c1_addr_space[];
-+extern struct omap_hwmod_addr_space omap2_i2c2_addr_space[];
-+extern struct omap_hwmod_addr_space omap2_dss_addrs[];
-+extern struct omap_hwmod_addr_space omap2_dss_dispc_addrs[];
-+extern struct omap_hwmod_addr_space omap2_dss_rfbi_addrs[];
-+extern struct omap_hwmod_addr_space omap2_dss_venc_addrs[];
-+extern struct omap_hwmod_addr_space omap2_timer10_addrs[];
-+extern struct omap_hwmod_addr_space omap2_timer11_addrs[];
-+extern struct omap_hwmod_addr_space omap2430_mmc1_addr_space[];
-+extern struct omap_hwmod_addr_space omap2430_mmc2_addr_space[];
-+extern struct omap_hwmod_addr_space omap2_mcspi1_addr_space[];
-+extern struct omap_hwmod_addr_space omap2_mcspi2_addr_space[];
-+extern struct omap_hwmod_addr_space omap2430_mcspi3_addr_space[];
-+extern struct omap_hwmod_addr_space omap2_dma_system_addrs[];
-+extern struct omap_hwmod_addr_space omap2_mailbox_addrs[];
-+extern struct omap_hwmod_addr_space omap2_mcbsp1_addrs[];
-+
- /* OMAP hwmod classes - forward declarations */
- extern struct omap_hwmod_class l3_hwmod_class;
- extern struct omap_hwmod_class l4_hwmod_class;
- extern struct omap_hwmod_class mpu_hwmod_class;
- extern struct omap_hwmod_class iva_hwmod_class;
- 
-+
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0039-omap_hwmod-use-a-terminator-record-with-omap_hwmod_m.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0039-omap_hwmod-use-a-terminator-record-with-omap_hwmod_m.patch
deleted file mode 100644
index b83e6df..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0039-omap_hwmod-use-a-terminator-record-with-omap_hwmod_m.patch
+++ /dev/null
@@ -1,2904 +0,0 @@
-From 75a125341387435415e8390130066d56178291ef Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:06 -0600
-Subject: [PATCH 039/149] omap_hwmod: use a terminator record with omap_hwmod_mpu_irqs arrays
-
-Previously, struct omap_hwmod_mpu_irqs arrays were unterminated; and
-users of these arrays used the ARRAY_SIZE() macro to determine the
-length of the array.  However, ARRAY_SIZE() only works when the array
-is in the same scope as the macro user.
-
-So far this hasn't been a problem.  However, to reduce duplicated
-data, a subsequent patch will move common data to a separate, shared
-file.  When this is done, ARRAY_SIZE() will no longer be usable.
-
-This patch removes ARRAY_SIZE() usage for struct omap_hwmod_mpu_irqs
-arrays and uses a sentinel value (irq == -1) as the array terminator
-instead.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   30 ++++++-
- arch/arm/mach-omap2/omap_hwmod_2420_data.c   |   56 ++++++------
- arch/arm/mach-omap2/omap_hwmod_2430_data.c   |   72 +++++++-------
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c   |   92 +++++++++---------
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |  127 +++++++++++++-------------
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    8 +-
- 6 files changed, 205 insertions(+), 180 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 73599f0..b761968 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -679,6 +679,29 @@ static void _disable_optional_clocks(struct omap_hwmod *oh)
- }
- 
- /**
-+ * _count_mpu_irqs - count the number of MPU IRQ lines associated with @oh
-+ * @oh: struct omap_hwmod *oh
-+ *
-+ * Count and return the number of MPU IRQs associated with the hwmod
-+ * @oh.  Used to allocate struct resource data.  Returns 0 if @oh is
-+ * NULL.
-+ */
-+static int _count_mpu_irqs(struct omap_hwmod *oh)
-+{
-+	struct omap_hwmod_irq_info *ohii;
-+	int i = 0;
-+
-+	if (!oh || !oh->mpu_irqs)
-+		return 0;
-+
-+	do {
-+		ohii = &oh->mpu_irqs[i++];
-+	} while (ohii->irq != -1);
-+
-+	return i;
-+}
-+
-+/**
-  * _count_ocp_if_addr_spaces - count the number of address space entries for @oh
-  * @oh: struct omap_hwmod *oh
-  *
-@@ -1984,7 +2007,7 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh)
- {
- 	int ret, i;
- 
--	ret = oh->mpu_irqs_cnt + oh->sdma_reqs_cnt;
-+	ret = _count_mpu_irqs(oh) + oh->sdma_reqs_cnt;
- 
- 	for (i = 0; i < oh->slaves_cnt; i++)
- 		ret += _count_ocp_if_addr_spaces(oh->slaves[i]);
-@@ -2004,12 +2027,13 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh)
-  */
- int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res)
- {
--	int i, j;
-+	int i, j, mpu_irqs_cnt;
- 	int r = 0;
- 
- 	/* For each IRQ, DMA, memory area, fill in array.*/
- 
--	for (i = 0; i < oh->mpu_irqs_cnt; i++) {
-+	mpu_irqs_cnt = _count_mpu_irqs(oh);
-+	for (i = 0; i < mpu_irqs_cnt; i++) {
- 		(res + r)->name = (oh->mpu_irqs + i)->name;
- 		(res + r)->start = (oh->mpu_irqs + i)->irq;
- 		(res + r)->end = (oh->mpu_irqs + i)->irq;
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 3ec625c..04730d3 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -296,6 +296,7 @@ static struct omap_hwmod_class omap2420_timer_hwmod_class = {
- static struct omap_hwmod omap2420_timer1_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer1_mpu_irqs[] = {
- 	{ .irq = 37, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap2420_timer1_addrs[] = {
-@@ -325,7 +326,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer1_slaves[] = {
- static struct omap_hwmod omap2420_timer1_hwmod = {
- 	.name		= "timer1",
- 	.mpu_irqs	= omap2420_timer1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer1_mpu_irqs),
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -346,6 +346,7 @@ static struct omap_hwmod omap2420_timer1_hwmod = {
- static struct omap_hwmod omap2420_timer2_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer2_mpu_irqs[] = {
- 	{ .irq = 38, },
-+	{ .irq = -1 }
- };
- 
- 
-@@ -367,7 +368,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer2_slaves[] = {
- static struct omap_hwmod omap2420_timer2_hwmod = {
- 	.name		= "timer2",
- 	.mpu_irqs	= omap2420_timer2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer2_mpu_irqs),
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -388,6 +388,7 @@ static struct omap_hwmod omap2420_timer2_hwmod = {
- static struct omap_hwmod omap2420_timer3_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer3_mpu_irqs[] = {
- 	{ .irq = 39, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer3 */
-@@ -408,7 +409,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer3_slaves[] = {
- static struct omap_hwmod omap2420_timer3_hwmod = {
- 	.name		= "timer3",
- 	.mpu_irqs	= omap2420_timer3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer3_mpu_irqs),
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -429,6 +429,7 @@ static struct omap_hwmod omap2420_timer3_hwmod = {
- static struct omap_hwmod omap2420_timer4_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer4_mpu_irqs[] = {
- 	{ .irq = 40, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer4 */
-@@ -449,7 +450,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer4_slaves[] = {
- static struct omap_hwmod omap2420_timer4_hwmod = {
- 	.name		= "timer4",
- 	.mpu_irqs	= omap2420_timer4_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer4_mpu_irqs),
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -470,6 +470,7 @@ static struct omap_hwmod omap2420_timer4_hwmod = {
- static struct omap_hwmod omap2420_timer5_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer5_mpu_irqs[] = {
- 	{ .irq = 41, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer5 */
-@@ -490,7 +491,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer5_slaves[] = {
- static struct omap_hwmod omap2420_timer5_hwmod = {
- 	.name		= "timer5",
- 	.mpu_irqs	= omap2420_timer5_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer5_mpu_irqs),
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -512,6 +512,7 @@ static struct omap_hwmod omap2420_timer5_hwmod = {
- static struct omap_hwmod omap2420_timer6_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer6_mpu_irqs[] = {
- 	{ .irq = 42, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer6 */
-@@ -532,7 +533,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer6_slaves[] = {
- static struct omap_hwmod omap2420_timer6_hwmod = {
- 	.name		= "timer6",
- 	.mpu_irqs	= omap2420_timer6_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer6_mpu_irqs),
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -553,6 +553,7 @@ static struct omap_hwmod omap2420_timer6_hwmod = {
- static struct omap_hwmod omap2420_timer7_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer7_mpu_irqs[] = {
- 	{ .irq = 43, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer7 */
-@@ -573,7 +574,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer7_slaves[] = {
- static struct omap_hwmod omap2420_timer7_hwmod = {
- 	.name		= "timer7",
- 	.mpu_irqs	= omap2420_timer7_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer7_mpu_irqs),
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -594,6 +594,7 @@ static struct omap_hwmod omap2420_timer7_hwmod = {
- static struct omap_hwmod omap2420_timer8_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer8_mpu_irqs[] = {
- 	{ .irq = 44, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer8 */
-@@ -614,7 +615,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer8_slaves[] = {
- static struct omap_hwmod omap2420_timer8_hwmod = {
- 	.name		= "timer8",
- 	.mpu_irqs	= omap2420_timer8_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer8_mpu_irqs),
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -635,6 +635,7 @@ static struct omap_hwmod omap2420_timer8_hwmod = {
- static struct omap_hwmod omap2420_timer9_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer9_mpu_irqs[] = {
- 	{ .irq = 45, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer9 */
-@@ -655,7 +656,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer9_slaves[] = {
- static struct omap_hwmod omap2420_timer9_hwmod = {
- 	.name		= "timer9",
- 	.mpu_irqs	= omap2420_timer9_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer9_mpu_irqs),
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -676,6 +676,7 @@ static struct omap_hwmod omap2420_timer9_hwmod = {
- static struct omap_hwmod omap2420_timer10_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer10 */
-@@ -696,7 +697,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer10_slaves[] = {
- static struct omap_hwmod omap2420_timer10_hwmod = {
- 	.name		= "timer10",
- 	.mpu_irqs	= omap2420_timer10_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer10_mpu_irqs),
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -717,6 +717,7 @@ static struct omap_hwmod omap2420_timer10_hwmod = {
- static struct omap_hwmod omap2420_timer11_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer11 */
-@@ -737,7 +738,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer11_slaves[] = {
- static struct omap_hwmod omap2420_timer11_hwmod = {
- 	.name		= "timer11",
- 	.mpu_irqs	= omap2420_timer11_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer11_mpu_irqs),
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -758,6 +758,7 @@ static struct omap_hwmod omap2420_timer11_hwmod = {
- static struct omap_hwmod omap2420_timer12_hwmod;
- static struct omap_hwmod_irq_info omap2420_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer12 */
-@@ -778,7 +779,6 @@ static struct omap_hwmod_ocp_if *omap2420_timer12_slaves[] = {
- static struct omap_hwmod omap2420_timer12_hwmod = {
- 	.name		= "timer12",
- 	.mpu_irqs	= omap2420_timer12_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_timer12_mpu_irqs),
- 	.main_clk	= "gpt12_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -879,6 +879,7 @@ static struct omap_hwmod_class uart_class = {
- 
- static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
-@@ -893,7 +894,6 @@ static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
- static struct omap_hwmod omap2420_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= uart1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart1_mpu_irqs),
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -916,6 +916,7 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- 
- static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
-@@ -930,7 +931,6 @@ static struct omap_hwmod_ocp_if *omap2420_uart2_slaves[] = {
- static struct omap_hwmod omap2420_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= uart2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart2_mpu_irqs),
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -953,6 +953,7 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- 
- static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART3_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
-@@ -967,7 +968,6 @@ static struct omap_hwmod_ocp_if *omap2420_uart3_slaves[] = {
- static struct omap_hwmod omap2420_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= uart3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart3_mpu_irqs),
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1087,6 +1087,7 @@ static struct omap_hwmod_class omap2420_dispc_hwmod_class = {
- 
- static struct omap_hwmod_irq_info omap2420_dispc_irqs[] = {
- 	{ .irq = 25 },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1113,7 +1114,6 @@ static struct omap_hwmod omap2420_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap2420_dispc_hwmod_class,
- 	.mpu_irqs	= omap2420_dispc_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_dispc_irqs),
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1254,6 +1254,7 @@ static struct omap_i2c_dev_attr i2c_dev_attr;
- 
- static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
-@@ -1268,7 +1269,6 @@ static struct omap_hwmod_ocp_if *omap2420_i2c1_slaves[] = {
- static struct omap_hwmod omap2420_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= i2c1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c1_mpu_irqs),
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
-@@ -1293,6 +1293,7 @@ static struct omap_hwmod omap2420_i2c1_hwmod = {
- 
- static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
-@@ -1307,7 +1308,6 @@ static struct omap_hwmod_ocp_if *omap2420_i2c2_slaves[] = {
- static struct omap_hwmod omap2420_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= i2c2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c2_mpu_irqs),
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
-@@ -1430,6 +1430,7 @@ static struct omap_hwmod_class omap242x_gpio_hwmod_class = {
- /* gpio1 */
- static struct omap_hwmod_irq_info omap242x_gpio1_irqs[] = {
- 	{ .irq = 29 }, /* INT_24XX_GPIO_BANK1 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_gpio1_slaves[] = {
-@@ -1440,7 +1441,6 @@ static struct omap_hwmod omap2420_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap242x_gpio1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap242x_gpio1_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1461,6 +1461,7 @@ static struct omap_hwmod omap2420_gpio1_hwmod = {
- /* gpio2 */
- static struct omap_hwmod_irq_info omap242x_gpio2_irqs[] = {
- 	{ .irq = 30 }, /* INT_24XX_GPIO_BANK2 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_gpio2_slaves[] = {
-@@ -1471,7 +1472,6 @@ static struct omap_hwmod omap2420_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap242x_gpio2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap242x_gpio2_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1492,6 +1492,7 @@ static struct omap_hwmod omap2420_gpio2_hwmod = {
- /* gpio3 */
- static struct omap_hwmod_irq_info omap242x_gpio3_irqs[] = {
- 	{ .irq = 31 }, /* INT_24XX_GPIO_BANK3 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_gpio3_slaves[] = {
-@@ -1502,7 +1503,6 @@ static struct omap_hwmod omap2420_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap242x_gpio3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap242x_gpio3_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1523,6 +1523,7 @@ static struct omap_hwmod omap2420_gpio3_hwmod = {
- /* gpio4 */
- static struct omap_hwmod_irq_info omap242x_gpio4_irqs[] = {
- 	{ .irq = 32 }, /* INT_24XX_GPIO_BANK4 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_gpio4_slaves[] = {
-@@ -1533,7 +1534,6 @@ static struct omap_hwmod omap2420_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap242x_gpio4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap242x_gpio4_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1580,6 +1580,7 @@ static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
- 	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
- 	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
- 	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
-+	{ .irq = -1 }
- };
- 
- /* dma_system -> L3 */
-@@ -1613,7 +1614,6 @@ static struct omap_hwmod omap2420_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap2420_dma_hwmod_class,
- 	.mpu_irqs	= omap2420_dma_system_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_dma_system_irqs),
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2420_dma_system_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_dma_system_slaves),
-@@ -1650,6 +1650,7 @@ static struct omap_hwmod omap2420_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = {
- 	{ .name = "dsp", .irq = 26 },
- 	{ .name = "iva", .irq = 34 },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> mailbox */
-@@ -1669,7 +1670,6 @@ static struct omap_hwmod omap2420_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap2420_mailbox_hwmod_class,
- 	.mpu_irqs	= omap2420_mailbox_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mailbox_irqs),
- 	.main_clk	= "mailboxes_ick",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1711,6 +1711,7 @@ static struct omap_hwmod_class omap2420_mcspi_class = {
- /* mcspi1 */
- static struct omap_hwmod_irq_info omap2420_mcspi1_mpu_irqs[] = {
- 	{ .irq = 65 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2420_mcspi1_sdma_reqs[] = {
-@@ -1735,7 +1736,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap2420_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2420_mcspi1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mcspi1_mpu_irqs),
- 	.sdma_reqs	= omap2420_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -1758,6 +1758,7 @@ static struct omap_hwmod omap2420_mcspi1_hwmod = {
- /* mcspi2 */
- static struct omap_hwmod_irq_info omap2420_mcspi2_mpu_irqs[] = {
- 	{ .irq = 66 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2420_mcspi2_sdma_reqs[] = {
-@@ -1778,7 +1779,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap2420_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2420_mcspi2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mcspi2_mpu_irqs),
- 	.sdma_reqs	= omap2420_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-@@ -1811,6 +1811,7 @@ static struct omap_hwmod_class omap2420_mcbsp_hwmod_class = {
- static struct omap_hwmod_irq_info omap2420_mcbsp1_irqs[] = {
- 	{ .name = "tx", .irq = 59 },
- 	{ .name = "rx", .irq = 60 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2420_mcbsp1_sdma_chs[] = {
-@@ -1836,7 +1837,6 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mcbsp1_irqs),
- 	.sdma_reqs	= omap2420_mcbsp1_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
-@@ -1858,6 +1858,7 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod = {
- static struct omap_hwmod_irq_info omap2420_mcbsp2_irqs[] = {
- 	{ .name = "tx", .irq = 62 },
- 	{ .name = "rx", .irq = 63 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2420_mcbsp2_sdma_chs[] = {
-@@ -1883,7 +1884,6 @@ static struct omap_hwmod omap2420_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mcbsp2_irqs),
- 	.sdma_reqs	= omap2420_mcbsp2_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 9531ef2..2c28468 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -369,6 +369,7 @@ static struct omap_hwmod_class omap2430_timer_hwmod_class = {
- static struct omap_hwmod omap2430_timer1_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer1_mpu_irqs[] = {
- 	{ .irq = 37, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap2430_timer1_addrs[] = {
-@@ -398,7 +399,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer1_slaves[] = {
- static struct omap_hwmod omap2430_timer1_hwmod = {
- 	.name		= "timer1",
- 	.mpu_irqs	= omap2430_timer1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer1_mpu_irqs),
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -419,6 +419,7 @@ static struct omap_hwmod omap2430_timer1_hwmod = {
- static struct omap_hwmod omap2430_timer2_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer2_mpu_irqs[] = {
- 	{ .irq = 38, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer2 */
-@@ -439,7 +440,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer2_slaves[] = {
- static struct omap_hwmod omap2430_timer2_hwmod = {
- 	.name		= "timer2",
- 	.mpu_irqs	= omap2430_timer2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer2_mpu_irqs),
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -460,6 +460,7 @@ static struct omap_hwmod omap2430_timer2_hwmod = {
- static struct omap_hwmod omap2430_timer3_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer3_mpu_irqs[] = {
- 	{ .irq = 39, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer3 */
-@@ -480,7 +481,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer3_slaves[] = {
- static struct omap_hwmod omap2430_timer3_hwmod = {
- 	.name		= "timer3",
- 	.mpu_irqs	= omap2430_timer3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer3_mpu_irqs),
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -501,6 +501,7 @@ static struct omap_hwmod omap2430_timer3_hwmod = {
- static struct omap_hwmod omap2430_timer4_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer4_mpu_irqs[] = {
- 	{ .irq = 40, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer4 */
-@@ -521,7 +522,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer4_slaves[] = {
- static struct omap_hwmod omap2430_timer4_hwmod = {
- 	.name		= "timer4",
- 	.mpu_irqs	= omap2430_timer4_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer4_mpu_irqs),
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -542,6 +542,7 @@ static struct omap_hwmod omap2430_timer4_hwmod = {
- static struct omap_hwmod omap2430_timer5_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer5_mpu_irqs[] = {
- 	{ .irq = 41, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer5 */
-@@ -562,7 +563,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer5_slaves[] = {
- static struct omap_hwmod omap2430_timer5_hwmod = {
- 	.name		= "timer5",
- 	.mpu_irqs	= omap2430_timer5_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer5_mpu_irqs),
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -583,6 +583,7 @@ static struct omap_hwmod omap2430_timer5_hwmod = {
- static struct omap_hwmod omap2430_timer6_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer6_mpu_irqs[] = {
- 	{ .irq = 42, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer6 */
-@@ -603,7 +604,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer6_slaves[] = {
- static struct omap_hwmod omap2430_timer6_hwmod = {
- 	.name		= "timer6",
- 	.mpu_irqs	= omap2430_timer6_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer6_mpu_irqs),
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -624,6 +624,7 @@ static struct omap_hwmod omap2430_timer6_hwmod = {
- static struct omap_hwmod omap2430_timer7_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer7_mpu_irqs[] = {
- 	{ .irq = 43, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer7 */
-@@ -644,7 +645,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer7_slaves[] = {
- static struct omap_hwmod omap2430_timer7_hwmod = {
- 	.name		= "timer7",
- 	.mpu_irqs	= omap2430_timer7_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer7_mpu_irqs),
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -665,6 +665,7 @@ static struct omap_hwmod omap2430_timer7_hwmod = {
- static struct omap_hwmod omap2430_timer8_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer8_mpu_irqs[] = {
- 	{ .irq = 44, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer8 */
-@@ -685,7 +686,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer8_slaves[] = {
- static struct omap_hwmod omap2430_timer8_hwmod = {
- 	.name		= "timer8",
- 	.mpu_irqs	= omap2430_timer8_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer8_mpu_irqs),
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -706,6 +706,7 @@ static struct omap_hwmod omap2430_timer8_hwmod = {
- static struct omap_hwmod omap2430_timer9_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer9_mpu_irqs[] = {
- 	{ .irq = 45, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer9 */
-@@ -726,7 +727,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer9_slaves[] = {
- static struct omap_hwmod omap2430_timer9_hwmod = {
- 	.name		= "timer9",
- 	.mpu_irqs	= omap2430_timer9_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer9_mpu_irqs),
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -747,6 +747,7 @@ static struct omap_hwmod omap2430_timer9_hwmod = {
- static struct omap_hwmod omap2430_timer10_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer10 */
-@@ -767,7 +768,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer10_slaves[] = {
- static struct omap_hwmod omap2430_timer10_hwmod = {
- 	.name		= "timer10",
- 	.mpu_irqs	= omap2430_timer10_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer10_mpu_irqs),
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -788,6 +788,7 @@ static struct omap_hwmod omap2430_timer10_hwmod = {
- static struct omap_hwmod omap2430_timer11_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer11 */
-@@ -808,7 +809,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer11_slaves[] = {
- static struct omap_hwmod omap2430_timer11_hwmod = {
- 	.name		= "timer11",
- 	.mpu_irqs	= omap2430_timer11_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer11_mpu_irqs),
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -829,6 +829,7 @@ static struct omap_hwmod omap2430_timer11_hwmod = {
- static struct omap_hwmod omap2430_timer12_hwmod;
- static struct omap_hwmod_irq_info omap2430_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer12 */
-@@ -849,7 +850,6 @@ static struct omap_hwmod_ocp_if *omap2430_timer12_slaves[] = {
- static struct omap_hwmod omap2430_timer12_hwmod = {
- 	.name		= "timer12",
- 	.mpu_irqs	= omap2430_timer12_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_timer12_mpu_irqs),
- 	.main_clk	= "gpt12_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -950,6 +950,7 @@ static struct omap_hwmod_class uart_class = {
- 
- static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
-@@ -964,7 +965,6 @@ static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
- static struct omap_hwmod omap2430_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= uart1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart1_mpu_irqs),
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -987,6 +987,7 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- 
- static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
-@@ -1001,7 +1002,6 @@ static struct omap_hwmod_ocp_if *omap2430_uart2_slaves[] = {
- static struct omap_hwmod omap2430_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= uart2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart2_mpu_irqs),
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -1024,6 +1024,7 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- 
- static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART3_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
-@@ -1038,7 +1039,6 @@ static struct omap_hwmod_ocp_if *omap2430_uart3_slaves[] = {
- static struct omap_hwmod omap2430_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= uart3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart3_mpu_irqs),
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1152,6 +1152,7 @@ static struct omap_hwmod_class omap2430_dispc_hwmod_class = {
- 
- static struct omap_hwmod_irq_info omap2430_dispc_irqs[] = {
- 	{ .irq = 25 },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1172,7 +1173,6 @@ static struct omap_hwmod omap2430_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap2430_dispc_hwmod_class,
- 	.mpu_irqs	= omap2430_dispc_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_dispc_irqs),
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1304,6 +1304,7 @@ static struct omap_i2c_dev_attr i2c_dev_attr = {
- 
- static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
-@@ -1318,7 +1319,6 @@ static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
- static struct omap_hwmod omap2430_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= i2c1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c1_mpu_irqs),
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2chs1_fck",
-@@ -1350,6 +1350,7 @@ static struct omap_hwmod omap2430_i2c1_hwmod = {
- 
- static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
-@@ -1364,7 +1365,6 @@ static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
- static struct omap_hwmod omap2430_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= i2c2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c2_mpu_irqs),
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2chs2_fck",
-@@ -1504,6 +1504,7 @@ static struct omap_hwmod_class omap243x_gpio_hwmod_class = {
- /* gpio1 */
- static struct omap_hwmod_irq_info omap243x_gpio1_irqs[] = {
- 	{ .irq = 29 }, /* INT_24XX_GPIO_BANK1 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_gpio1_slaves[] = {
-@@ -1514,7 +1515,6 @@ static struct omap_hwmod omap2430_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap243x_gpio1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap243x_gpio1_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1535,6 +1535,7 @@ static struct omap_hwmod omap2430_gpio1_hwmod = {
- /* gpio2 */
- static struct omap_hwmod_irq_info omap243x_gpio2_irqs[] = {
- 	{ .irq = 30 }, /* INT_24XX_GPIO_BANK2 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_gpio2_slaves[] = {
-@@ -1545,7 +1546,6 @@ static struct omap_hwmod omap2430_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap243x_gpio2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap243x_gpio2_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1566,6 +1566,7 @@ static struct omap_hwmod omap2430_gpio2_hwmod = {
- /* gpio3 */
- static struct omap_hwmod_irq_info omap243x_gpio3_irqs[] = {
- 	{ .irq = 31 }, /* INT_24XX_GPIO_BANK3 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_gpio3_slaves[] = {
-@@ -1576,7 +1577,6 @@ static struct omap_hwmod omap2430_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap243x_gpio3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap243x_gpio3_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1597,6 +1597,7 @@ static struct omap_hwmod omap2430_gpio3_hwmod = {
- /* gpio4 */
- static struct omap_hwmod_irq_info omap243x_gpio4_irqs[] = {
- 	{ .irq = 32 }, /* INT_24XX_GPIO_BANK4 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_gpio4_slaves[] = {
-@@ -1607,7 +1608,6 @@ static struct omap_hwmod omap2430_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap243x_gpio4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap243x_gpio4_irqs),
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1628,6 +1628,7 @@ static struct omap_hwmod omap2430_gpio4_hwmod = {
- /* gpio5 */
- static struct omap_hwmod_irq_info omap243x_gpio5_irqs[] = {
- 	{ .irq = 33 }, /* INT_24XX_GPIO_BANK5 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_gpio5_slaves[] = {
-@@ -1638,7 +1639,6 @@ static struct omap_hwmod omap2430_gpio5_hwmod = {
- 	.name		= "gpio5",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap243x_gpio5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap243x_gpio5_irqs),
- 	.main_clk	= "gpio5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1685,6 +1685,7 @@ static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
- 	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
- 	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
- 	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
-+	{ .irq = -1 }
- };
- 
- /* dma_system -> L3 */
-@@ -1718,7 +1719,6 @@ static struct omap_hwmod omap2430_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap2430_dma_hwmod_class,
- 	.mpu_irqs	= omap2430_dma_system_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_dma_system_irqs),
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2430_dma_system_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_dma_system_slaves),
-@@ -1754,6 +1754,7 @@ static struct omap_hwmod_class omap2430_mailbox_hwmod_class = {
- static struct omap_hwmod omap2430_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = {
- 	{ .irq = 26 },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> mailbox */
-@@ -1773,7 +1774,6 @@ static struct omap_hwmod omap2430_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap2430_mailbox_hwmod_class,
- 	.mpu_irqs	= omap2430_mailbox_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mailbox_irqs),
- 	.main_clk	= "mailboxes_ick",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1815,6 +1815,7 @@ static struct omap_hwmod_class omap2430_mcspi_class = {
- /* mcspi1 */
- static struct omap_hwmod_irq_info omap2430_mcspi1_mpu_irqs[] = {
- 	{ .irq = 65 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcspi1_sdma_reqs[] = {
-@@ -1839,7 +1840,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap2430_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2430_mcspi1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcspi1_mpu_irqs),
- 	.sdma_reqs	= omap2430_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -1862,6 +1862,7 @@ static struct omap_hwmod omap2430_mcspi1_hwmod = {
- /* mcspi2 */
- static struct omap_hwmod_irq_info omap2430_mcspi2_mpu_irqs[] = {
- 	{ .irq = 66 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcspi2_sdma_reqs[] = {
-@@ -1882,7 +1883,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap2430_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2430_mcspi2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcspi2_mpu_irqs),
- 	.sdma_reqs	= omap2430_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-@@ -1905,6 +1905,7 @@ static struct omap_hwmod omap2430_mcspi2_hwmod = {
- /* mcspi3 */
- static struct omap_hwmod_irq_info omap2430_mcspi3_mpu_irqs[] = {
- 	{ .irq = 91 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcspi3_sdma_reqs[] = {
-@@ -1925,7 +1926,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi3_dev_attr = {
- static struct omap_hwmod omap2430_mcspi3_hwmod = {
- 	.name		= "mcspi3_hwmod",
- 	.mpu_irqs	= omap2430_mcspi3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcspi3_mpu_irqs),
- 	.sdma_reqs	= omap2430_mcspi3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
-@@ -1970,12 +1970,12 @@ static struct omap_hwmod_irq_info omap2430_usbhsotg_mpu_irqs[] = {
- 
- 	{ .name = "mc", .irq = 92 },
- 	{ .name = "dma", .irq = 93 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod omap2430_usbhsotg_hwmod = {
- 	.name		= "usb_otg_hs",
- 	.mpu_irqs	= omap2430_usbhsotg_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_usbhsotg_mpu_irqs),
- 	.main_clk	= "usbhs_ick",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2025,6 +2025,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp1_irqs[] = {
- 	{ .name = "rx",		.irq = 60 },
- 	{ .name = "ovr",	.irq = 61 },
- 	{ .name = "common",	.irq = 64 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcbsp1_sdma_chs[] = {
-@@ -2050,7 +2051,6 @@ static struct omap_hwmod omap2430_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcbsp1_irqs),
- 	.sdma_reqs	= omap2430_mcbsp1_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
-@@ -2073,6 +2073,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp2_irqs[] = {
- 	{ .name = "tx",		.irq = 62 },
- 	{ .name = "rx",		.irq = 63 },
- 	{ .name = "common",	.irq = 16 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcbsp2_sdma_chs[] = {
-@@ -2098,7 +2099,6 @@ static struct omap_hwmod omap2430_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcbsp2_irqs),
- 	.sdma_reqs	= omap2430_mcbsp2_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
-@@ -2121,6 +2121,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp3_irqs[] = {
- 	{ .name = "tx",		.irq = 89 },
- 	{ .name = "rx",		.irq = 90 },
- 	{ .name = "common",	.irq = 17 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcbsp3_sdma_chs[] = {
-@@ -2156,7 +2157,6 @@ static struct omap_hwmod omap2430_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcbsp3_irqs),
- 	.sdma_reqs	= omap2430_mcbsp3_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp3_sdma_chs),
- 	.main_clk	= "mcbsp3_fck",
-@@ -2179,6 +2179,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp4_irqs[] = {
- 	{ .name = "tx",		.irq = 54 },
- 	{ .name = "rx",		.irq = 55 },
- 	{ .name = "common",	.irq = 18 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcbsp4_sdma_chs[] = {
-@@ -2214,7 +2215,6 @@ static struct omap_hwmod omap2430_mcbsp4_hwmod = {
- 	.name		= "mcbsp4",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcbsp4_irqs),
- 	.sdma_reqs	= omap2430_mcbsp4_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp4_sdma_chs),
- 	.main_clk	= "mcbsp4_fck",
-@@ -2237,6 +2237,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp5_irqs[] = {
- 	{ .name = "tx",		.irq = 81 },
- 	{ .name = "rx",		.irq = 82 },
- 	{ .name = "common",	.irq = 19 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mcbsp5_sdma_chs[] = {
-@@ -2272,7 +2273,6 @@ static struct omap_hwmod omap2430_mcbsp5_hwmod = {
- 	.name		= "mcbsp5",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mcbsp5_irqs),
- 	.sdma_reqs	= omap2430_mcbsp5_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp5_sdma_chs),
- 	.main_clk	= "mcbsp5_fck",
-@@ -2312,6 +2312,7 @@ static struct omap_hwmod_class omap2430_mmc_class = {
- 
- static struct omap_hwmod_irq_info omap2430_mmc1_mpu_irqs[] = {
- 	{ .irq = 83 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mmc1_sdma_reqs[] = {
-@@ -2335,7 +2336,6 @@ static struct omap_hwmod omap2430_mmc1_hwmod = {
- 	.name		= "mmc1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap2430_mmc1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mmc1_mpu_irqs),
- 	.sdma_reqs	= omap2430_mmc1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mmc1_sdma_reqs),
- 	.opt_clks	= omap2430_mmc1_opt_clks,
-@@ -2361,6 +2361,7 @@ static struct omap_hwmod omap2430_mmc1_hwmod = {
- 
- static struct omap_hwmod_irq_info omap2430_mmc2_mpu_irqs[] = {
- 	{ .irq = 86 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap2430_mmc2_sdma_reqs[] = {
-@@ -2380,7 +2381,6 @@ static struct omap_hwmod omap2430_mmc2_hwmod = {
- 	.name		= "mmc2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap2430_mmc2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mmc2_mpu_irqs),
- 	.sdma_reqs	= omap2430_mmc2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mmc2_sdma_reqs),
- 	.opt_clks	= omap2430_mmc2_opt_clks,
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 791f9b2..cc178b5 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -103,6 +103,7 @@ static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_per = {
- static struct omap_hwmod_irq_info omap3xxx_l3_main_irqs[] = {
- 	{ .irq = INT_34XX_L3_DBG_IRQ },
- 	{ .irq = INT_34XX_L3_APP_IRQ },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_l3_main_addrs[] = {
-@@ -151,7 +152,6 @@ static struct omap_hwmod omap3xxx_l3_main_hwmod = {
- 	.name		= "l3_main",
- 	.class		= &l3_hwmod_class,
- 	.mpu_irqs       = omap3xxx_l3_main_irqs,
--	.mpu_irqs_cnt   = ARRAY_SIZE(omap3xxx_l3_main_irqs),
- 	.masters	= omap3xxx_l3_main_masters,
- 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l3_main_masters),
- 	.slaves		= omap3xxx_l3_main_slaves,
-@@ -574,6 +574,7 @@ static struct omap_hwmod_class omap3xxx_timer_hwmod_class = {
- static struct omap_hwmod omap3xxx_timer1_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer1_mpu_irqs[] = {
- 	{ .irq = 37, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer1_addrs[] = {
-@@ -603,7 +604,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer1_slaves[] = {
- static struct omap_hwmod omap3xxx_timer1_hwmod = {
- 	.name		= "timer1",
- 	.mpu_irqs	= omap3xxx_timer1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer1_mpu_irqs),
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -624,6 +624,7 @@ static struct omap_hwmod omap3xxx_timer1_hwmod = {
- static struct omap_hwmod omap3xxx_timer2_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer2_mpu_irqs[] = {
- 	{ .irq = 38, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer2_addrs[] = {
-@@ -653,7 +654,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer2_slaves[] = {
- static struct omap_hwmod omap3xxx_timer2_hwmod = {
- 	.name		= "timer2",
- 	.mpu_irqs	= omap3xxx_timer2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer2_mpu_irqs),
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -674,6 +674,7 @@ static struct omap_hwmod omap3xxx_timer2_hwmod = {
- static struct omap_hwmod omap3xxx_timer3_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer3_mpu_irqs[] = {
- 	{ .irq = 39, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer3_addrs[] = {
-@@ -703,7 +704,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer3_slaves[] = {
- static struct omap_hwmod omap3xxx_timer3_hwmod = {
- 	.name		= "timer3",
- 	.mpu_irqs	= omap3xxx_timer3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer3_mpu_irqs),
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -724,6 +724,7 @@ static struct omap_hwmod omap3xxx_timer3_hwmod = {
- static struct omap_hwmod omap3xxx_timer4_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer4_mpu_irqs[] = {
- 	{ .irq = 40, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer4_addrs[] = {
-@@ -753,7 +754,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer4_slaves[] = {
- static struct omap_hwmod omap3xxx_timer4_hwmod = {
- 	.name		= "timer4",
- 	.mpu_irqs	= omap3xxx_timer4_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer4_mpu_irqs),
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -774,6 +774,7 @@ static struct omap_hwmod omap3xxx_timer4_hwmod = {
- static struct omap_hwmod omap3xxx_timer5_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer5_mpu_irqs[] = {
- 	{ .irq = 41, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer5_addrs[] = {
-@@ -803,7 +804,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer5_slaves[] = {
- static struct omap_hwmod omap3xxx_timer5_hwmod = {
- 	.name		= "timer5",
- 	.mpu_irqs	= omap3xxx_timer5_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer5_mpu_irqs),
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -824,6 +824,7 @@ static struct omap_hwmod omap3xxx_timer5_hwmod = {
- static struct omap_hwmod omap3xxx_timer6_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer6_mpu_irqs[] = {
- 	{ .irq = 42, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer6_addrs[] = {
-@@ -853,7 +854,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer6_slaves[] = {
- static struct omap_hwmod omap3xxx_timer6_hwmod = {
- 	.name		= "timer6",
- 	.mpu_irqs	= omap3xxx_timer6_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer6_mpu_irqs),
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -874,6 +874,7 @@ static struct omap_hwmod omap3xxx_timer6_hwmod = {
- static struct omap_hwmod omap3xxx_timer7_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer7_mpu_irqs[] = {
- 	{ .irq = 43, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer7_addrs[] = {
-@@ -903,7 +904,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer7_slaves[] = {
- static struct omap_hwmod omap3xxx_timer7_hwmod = {
- 	.name		= "timer7",
- 	.mpu_irqs	= omap3xxx_timer7_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer7_mpu_irqs),
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -924,6 +924,7 @@ static struct omap_hwmod omap3xxx_timer7_hwmod = {
- static struct omap_hwmod omap3xxx_timer8_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer8_mpu_irqs[] = {
- 	{ .irq = 44, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer8_addrs[] = {
-@@ -953,7 +954,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer8_slaves[] = {
- static struct omap_hwmod omap3xxx_timer8_hwmod = {
- 	.name		= "timer8",
- 	.mpu_irqs	= omap3xxx_timer8_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer8_mpu_irqs),
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -974,6 +974,7 @@ static struct omap_hwmod omap3xxx_timer8_hwmod = {
- static struct omap_hwmod omap3xxx_timer9_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer9_mpu_irqs[] = {
- 	{ .irq = 45, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer9_addrs[] = {
-@@ -1003,7 +1004,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer9_slaves[] = {
- static struct omap_hwmod omap3xxx_timer9_hwmod = {
- 	.name		= "timer9",
- 	.mpu_irqs	= omap3xxx_timer9_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer9_mpu_irqs),
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1024,6 +1024,7 @@ static struct omap_hwmod omap3xxx_timer9_hwmod = {
- static struct omap_hwmod omap3xxx_timer10_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer10_mpu_irqs[] = {
- 	{ .irq = 46, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer10 */
-@@ -1044,7 +1045,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer10_slaves[] = {
- static struct omap_hwmod omap3xxx_timer10_hwmod = {
- 	.name		= "timer10",
- 	.mpu_irqs	= omap3xxx_timer10_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer10_mpu_irqs),
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1065,6 +1065,7 @@ static struct omap_hwmod omap3xxx_timer10_hwmod = {
- static struct omap_hwmod omap3xxx_timer11_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer11_mpu_irqs[] = {
- 	{ .irq = 47, },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> timer11 */
-@@ -1085,7 +1086,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer11_slaves[] = {
- static struct omap_hwmod omap3xxx_timer11_hwmod = {
- 	.name		= "timer11",
- 	.mpu_irqs	= omap3xxx_timer11_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer11_mpu_irqs),
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1106,6 +1106,7 @@ static struct omap_hwmod omap3xxx_timer11_hwmod = {
- static struct omap_hwmod omap3xxx_timer12_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_timer12_mpu_irqs[] = {
- 	{ .irq = 95, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_timer12_addrs[] = {
-@@ -1135,7 +1136,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer12_slaves[] = {
- static struct omap_hwmod omap3xxx_timer12_hwmod = {
- 	.name		= "timer12",
- 	.mpu_irqs	= omap3xxx_timer12_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_timer12_mpu_irqs),
- 	.main_clk	= "gpt12_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1256,6 +1256,7 @@ static struct omap_hwmod_class uart_class = {
- 
- static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
-@@ -1270,7 +1271,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
- static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= uart1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart1_mpu_irqs),
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -1293,6 +1293,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 
- static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
-@@ -1307,7 +1308,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {
- static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= uart2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart2_mpu_irqs),
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -1330,6 +1330,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 
- static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
- 	{ .irq = INT_24XX_UART3_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
-@@ -1344,7 +1345,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {
- static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= uart3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart3_mpu_irqs),
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1367,6 +1367,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 
- static struct omap_hwmod_irq_info uart4_mpu_irqs[] = {
- 	{ .irq = INT_36XX_UART4_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info uart4_sdma_reqs[] = {
-@@ -1381,7 +1382,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart4_slaves[] = {
- static struct omap_hwmod omap3xxx_uart4_hwmod = {
- 	.name		= "uart4",
- 	.mpu_irqs	= uart4_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(uart4_mpu_irqs),
- 	.sdma_reqs	= uart4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart4_sdma_reqs),
- 	.main_clk	= "uart4_fck",
-@@ -1557,6 +1557,7 @@ static struct omap_hwmod_class omap3xxx_dispc_hwmod_class = {
- 
- static struct omap_hwmod_irq_info omap3xxx_dispc_irqs[] = {
- 	{ .irq = 25 },
-+	{ .irq = -1 }
- };
- 
- /* l4_core -> dss_dispc */
-@@ -1584,7 +1585,6 @@ static struct omap_hwmod omap3xxx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap3xxx_dispc_hwmod_class,
- 	.mpu_irqs	= omap3xxx_dispc_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dispc_irqs),
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1612,6 +1612,7 @@ static struct omap_hwmod_class omap3xxx_dsi_hwmod_class = {
- 
- static struct omap_hwmod_irq_info omap3xxx_dsi1_irqs[] = {
- 	{ .irq = 25 },
-+	{ .irq = -1 }
- };
- 
- /* dss_dsi1 */
-@@ -1648,7 +1649,6 @@ static struct omap_hwmod omap3xxx_dss_dsi1_hwmod = {
- 	.name		= "dss_dsi1",
- 	.class		= &omap3xxx_dsi_hwmod_class,
- 	.mpu_irqs	= omap3xxx_dsi1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dsi1_irqs),
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1783,6 +1783,7 @@ static struct omap_i2c_dev_attr i2c1_dev_attr = {
- 
- static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C1_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
-@@ -1797,7 +1798,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
- static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= i2c1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c1_mpu_irqs),
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
-@@ -1825,6 +1825,7 @@ static struct omap_i2c_dev_attr i2c2_dev_attr = {
- 
- static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_I2C2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
-@@ -1839,7 +1840,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
- static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= i2c2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c2_mpu_irqs),
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
-@@ -1867,6 +1867,7 @@ static struct omap_i2c_dev_attr i2c3_dev_attr = {
- 
- static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
- 	{ .irq = INT_34XX_I2C3_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info i2c3_sdma_reqs[] = {
-@@ -1881,7 +1882,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c3_slaves[] = {
- static struct omap_hwmod omap3xxx_i2c3_hwmod = {
- 	.name		= "i2c3",
- 	.mpu_irqs	= i2c3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(i2c3_mpu_irqs),
- 	.sdma_reqs	= i2c3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c3_sdma_reqs),
- 	.main_clk	= "i2c3_fck",
-@@ -2034,6 +2034,7 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
- /* gpio1 */
- static struct omap_hwmod_irq_info omap3xxx_gpio1_irqs[] = {
- 	{ .irq = 29 }, /* INT_34XX_GPIO_BANK1 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {
-@@ -2048,7 +2049,6 @@ static struct omap_hwmod omap3xxx_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio1_irqs),
- 	.main_clk	= "gpio1_ick",
- 	.opt_clks	= gpio1_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio1_opt_clks),
-@@ -2071,6 +2071,7 @@ static struct omap_hwmod omap3xxx_gpio1_hwmod = {
- /* gpio2 */
- static struct omap_hwmod_irq_info omap3xxx_gpio2_irqs[] = {
- 	{ .irq = 30 }, /* INT_34XX_GPIO_BANK2 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio2_opt_clks[] = {
-@@ -2085,7 +2086,6 @@ static struct omap_hwmod omap3xxx_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio2_irqs),
- 	.main_clk	= "gpio2_ick",
- 	.opt_clks	= gpio2_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio2_opt_clks),
-@@ -2108,6 +2108,7 @@ static struct omap_hwmod omap3xxx_gpio2_hwmod = {
- /* gpio3 */
- static struct omap_hwmod_irq_info omap3xxx_gpio3_irqs[] = {
- 	{ .irq = 31 }, /* INT_34XX_GPIO_BANK3 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio3_opt_clks[] = {
-@@ -2122,7 +2123,6 @@ static struct omap_hwmod omap3xxx_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio3_irqs),
- 	.main_clk	= "gpio3_ick",
- 	.opt_clks	= gpio3_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio3_opt_clks),
-@@ -2145,6 +2145,7 @@ static struct omap_hwmod omap3xxx_gpio3_hwmod = {
- /* gpio4 */
- static struct omap_hwmod_irq_info omap3xxx_gpio4_irqs[] = {
- 	{ .irq = 32 }, /* INT_34XX_GPIO_BANK4 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio4_opt_clks[] = {
-@@ -2159,7 +2160,6 @@ static struct omap_hwmod omap3xxx_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio4_irqs),
- 	.main_clk	= "gpio4_ick",
- 	.opt_clks	= gpio4_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio4_opt_clks),
-@@ -2182,6 +2182,7 @@ static struct omap_hwmod omap3xxx_gpio4_hwmod = {
- /* gpio5 */
- static struct omap_hwmod_irq_info omap3xxx_gpio5_irqs[] = {
- 	{ .irq = 33 }, /* INT_34XX_GPIO_BANK5 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio5_opt_clks[] = {
-@@ -2196,7 +2197,6 @@ static struct omap_hwmod omap3xxx_gpio5_hwmod = {
- 	.name		= "gpio5",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio5_irqs),
- 	.main_clk	= "gpio5_ick",
- 	.opt_clks	= gpio5_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio5_opt_clks),
-@@ -2219,6 +2219,7 @@ static struct omap_hwmod omap3xxx_gpio5_hwmod = {
- /* gpio6 */
- static struct omap_hwmod_irq_info omap3xxx_gpio6_irqs[] = {
- 	{ .irq = 34 }, /* INT_34XX_GPIO_BANK6 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_opt_clk gpio6_opt_clks[] = {
-@@ -2233,7 +2234,6 @@ static struct omap_hwmod omap3xxx_gpio6_hwmod = {
- 	.name		= "gpio6",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap3xxx_gpio6_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_gpio6_irqs),
- 	.main_clk	= "gpio6_ick",
- 	.opt_clks	= gpio6_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio6_opt_clks),
-@@ -2292,6 +2292,7 @@ static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = {
- 	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
- 	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
- 	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
-@@ -2326,7 +2327,6 @@ static struct omap_hwmod omap3xxx_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap3xxx_dma_hwmod_class,
- 	.mpu_irqs	= omap3xxx_dma_system_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_dma_system_irqs),
- 	.main_clk	= "core_l3_ick",
- 	.prcm = {
- 		.omap2 = {
-@@ -2371,6 +2371,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp1_irqs[] = {
- 	{ .name = "irq", .irq = 16 },
- 	{ .name = "tx", .irq = 59 },
- 	{ .name = "rx", .irq = 60 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_mcbsp1_sdma_chs[] = {
-@@ -2406,7 +2407,6 @@ static struct omap_hwmod omap3xxx_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_irqs),
- 	.sdma_reqs	= omap3xxx_mcbsp1_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
-@@ -2429,6 +2429,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp2_irqs[] = {
- 	{ .name = "irq", .irq = 17 },
- 	{ .name = "tx", .irq = 62 },
- 	{ .name = "rx", .irq = 63 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_mcbsp2_sdma_chs[] = {
-@@ -2469,7 +2470,6 @@ static struct omap_hwmod omap3xxx_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_irqs),
- 	.sdma_reqs	= omap3xxx_mcbsp2_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
-@@ -2493,6 +2493,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp3_irqs[] = {
- 	{ .name = "irq", .irq = 22 },
- 	{ .name = "tx", .irq = 89 },
- 	{ .name = "rx", .irq = 90 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_mcbsp3_sdma_chs[] = {
-@@ -2532,7 +2533,6 @@ static struct omap_hwmod omap3xxx_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_irqs),
- 	.sdma_reqs	= omap3xxx_mcbsp3_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sdma_chs),
- 	.main_clk	= "mcbsp3_fck",
-@@ -2556,6 +2556,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp4_irqs[] = {
- 	{ .name = "irq", .irq = 23 },
- 	{ .name = "tx", .irq = 54 },
- 	{ .name = "rx", .irq = 55 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_mcbsp4_sdma_chs[] = {
-@@ -2591,7 +2592,6 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod = {
- 	.name		= "mcbsp4",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_irqs),
- 	.sdma_reqs	= omap3xxx_mcbsp4_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_sdma_chs),
- 	.main_clk	= "mcbsp4_fck",
-@@ -2614,6 +2614,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp5_irqs[] = {
- 	{ .name = "irq", .irq = 27 },
- 	{ .name = "tx", .irq = 81 },
- 	{ .name = "rx", .irq = 82 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_mcbsp5_sdma_chs[] = {
-@@ -2649,7 +2650,6 @@ static struct omap_hwmod omap3xxx_mcbsp5_hwmod = {
- 	.name		= "mcbsp5",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_irqs),
- 	.sdma_reqs	= omap3xxx_mcbsp5_sdma_chs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_sdma_chs),
- 	.main_clk	= "mcbsp5_fck",
-@@ -2682,6 +2682,7 @@ static struct omap_hwmod_class omap3xxx_mcbsp_sidetone_hwmod_class = {
- /* mcbsp2_sidetone */
- static struct omap_hwmod_irq_info omap3xxx_mcbsp2_sidetone_irqs[] = {
- 	{ .name = "irq", .irq = 4 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp2_sidetone_addrs[] = {
-@@ -2712,7 +2713,6 @@ static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod = {
- 	.name		= "mcbsp2_sidetone",
- 	.class		= &omap3xxx_mcbsp_sidetone_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp2_sidetone_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sidetone_irqs),
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2731,6 +2731,7 @@ static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod = {
- /* mcbsp3_sidetone */
- static struct omap_hwmod_irq_info omap3xxx_mcbsp3_sidetone_irqs[] = {
- 	{ .name = "irq", .irq = 5 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp3_sidetone_addrs[] = {
-@@ -2761,7 +2762,6 @@ static struct omap_hwmod omap3xxx_mcbsp3_sidetone_hwmod = {
- 	.name		= "mcbsp3_sidetone",
- 	.class		= &omap3xxx_mcbsp_sidetone_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp3_sidetone_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sidetone_irqs),
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2931,6 +2931,7 @@ static struct omap_hwmod_class omap3xxx_mailbox_hwmod_class = {
- static struct omap_hwmod omap3xxx_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap3xxx_mailbox_irqs[] = {
- 	{ .irq = 26 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mailbox_addrs[] = {
-@@ -2959,7 +2960,6 @@ static struct omap_hwmod omap3xxx_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap3xxx_mailbox_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mailbox_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mailbox_irqs),
- 	.main_clk	= "mailboxes_ick",
- 	.prcm		= {
- 		.omap2 = {
-@@ -3046,6 +3046,7 @@ static struct omap_hwmod_class omap34xx_mcspi_class = {
- /* mcspi1 */
- static struct omap_hwmod_irq_info omap34xx_mcspi1_mpu_irqs[] = {
- 	{ .name = "irq", .irq = 65 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mcspi1_sdma_reqs[] = {
-@@ -3070,7 +3071,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi1 = {
- 	.name		= "mcspi1",
- 	.mpu_irqs	= omap34xx_mcspi1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -3093,6 +3093,7 @@ static struct omap_hwmod omap34xx_mcspi1 = {
- /* mcspi2 */
- static struct omap_hwmod_irq_info omap34xx_mcspi2_mpu_irqs[] = {
- 	{ .name = "irq", .irq = 66 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mcspi2_sdma_reqs[] = {
-@@ -3113,7 +3114,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi2 = {
- 	.name		= "mcspi2",
- 	.mpu_irqs	= omap34xx_mcspi2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-@@ -3136,6 +3136,7 @@ static struct omap_hwmod omap34xx_mcspi2 = {
- /* mcspi3 */
- static struct omap_hwmod_irq_info omap34xx_mcspi3_mpu_irqs[] = {
- 	{ .name = "irq", .irq = 91 }, /* 91 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mcspi3_sdma_reqs[] = {
-@@ -3156,7 +3157,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi3_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi3 = {
- 	.name		= "mcspi3",
- 	.mpu_irqs	= omap34xx_mcspi3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi3_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mcspi3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
-@@ -3179,6 +3179,7 @@ static struct omap_hwmod omap34xx_mcspi3 = {
- /* SPI4 */
- static struct omap_hwmod_irq_info omap34xx_mcspi4_mpu_irqs[] = {
- 	{ .name = "irq", .irq = INT_34XX_SPI4_IRQ }, /* 48 */
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mcspi4_sdma_reqs[] = {
-@@ -3197,7 +3198,6 @@ static struct omap2_mcspi_dev_attr omap_mcspi4_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi4 = {
- 	.name		= "mcspi4",
- 	.mpu_irqs	= omap34xx_mcspi4_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mcspi4_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mcspi4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi4_sdma_reqs),
- 	.main_clk	= "mcspi4_fck",
-@@ -3241,12 +3241,12 @@ static struct omap_hwmod_irq_info omap3xxx_usbhsotg_mpu_irqs[] = {
- 
- 	{ .name = "mc", .irq = 92 },
- 	{ .name = "dma", .irq = 93 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod omap3xxx_usbhsotg_hwmod = {
- 	.name		= "usb_otg_hs",
- 	.mpu_irqs	= omap3xxx_usbhsotg_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_usbhsotg_mpu_irqs),
- 	.main_clk	= "hsotgusb_ick",
- 	.prcm		= {
- 		.omap2 = {
-@@ -3278,6 +3278,7 @@ static struct omap_hwmod omap3xxx_usbhsotg_hwmod = {
- static struct omap_hwmod_irq_info am35xx_usbhsotg_mpu_irqs[] = {
- 
- 	{ .name = "mc", .irq = 71 },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_class am35xx_usbotg_class = {
-@@ -3288,7 +3289,6 @@ static struct omap_hwmod_class am35xx_usbotg_class = {
- static struct omap_hwmod am35xx_usbhsotg_hwmod = {
- 	.name		= "am35x_otg_hs",
- 	.mpu_irqs	= am35xx_usbhsotg_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(am35xx_usbhsotg_mpu_irqs),
- 	.main_clk	= NULL,
- 	.prcm = {
- 		.omap2 = {
-@@ -3324,6 +3324,7 @@ static struct omap_hwmod_class omap34xx_mmc_class = {
- 
- static struct omap_hwmod_irq_info omap34xx_mmc1_mpu_irqs[] = {
- 	{ .irq = 83, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mmc1_sdma_reqs[] = {
-@@ -3346,7 +3347,6 @@ static struct omap_mmc_dev_attr mmc1_dev_attr = {
- static struct omap_hwmod omap3xxx_mmc1_hwmod = {
- 	.name		= "mmc1",
- 	.mpu_irqs	= omap34xx_mmc1_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc1_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mmc1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc1_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc1_opt_clks,
-@@ -3372,6 +3372,7 @@ static struct omap_hwmod omap3xxx_mmc1_hwmod = {
- 
- static struct omap_hwmod_irq_info omap34xx_mmc2_mpu_irqs[] = {
- 	{ .irq = INT_24XX_MMC2_IRQ, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mmc2_sdma_reqs[] = {
-@@ -3390,7 +3391,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_mmc2_slaves[] = {
- static struct omap_hwmod omap3xxx_mmc2_hwmod = {
- 	.name		= "mmc2",
- 	.mpu_irqs	= omap34xx_mmc2_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc2_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mmc2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc2_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc2_opt_clks,
-@@ -3415,6 +3415,7 @@ static struct omap_hwmod omap3xxx_mmc2_hwmod = {
- 
- static struct omap_hwmod_irq_info omap34xx_mmc3_mpu_irqs[] = {
- 	{ .irq = 94, },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap34xx_mmc3_sdma_reqs[] = {
-@@ -3433,7 +3434,6 @@ static struct omap_hwmod_ocp_if *omap3xxx_mmc3_slaves[] = {
- static struct omap_hwmod omap3xxx_mmc3_hwmod = {
- 	.name		= "mmc3",
- 	.mpu_irqs	= omap34xx_mmc3_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_mmc3_mpu_irqs),
- 	.sdma_reqs	= omap34xx_mmc3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc3_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc3_opt_clks,
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index f8ccc4a..f7ff937 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -115,6 +115,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dmm_slaves[] = {
- 
- static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = {
- 	{ .irq = 113 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod omap44xx_dmm_hwmod = {
-@@ -123,7 +124,6 @@ static struct omap_hwmod omap44xx_dmm_hwmod = {
- 	.slaves		= omap44xx_dmm_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dmm_slaves),
- 	.mpu_irqs	= omap44xx_dmm_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dmm_irqs),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -268,6 +268,7 @@ static struct omap_hwmod_ocp_if omap44xx_mmc2__l3_main_1 = {
- static struct omap_hwmod_irq_info omap44xx_l3_targ_irqs[] = {
- 	{ .irq = 9  + OMAP44XX_IRQ_GIC_START },
- 	{ .irq = 10 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_l3_main_1_addrs[] = {
-@@ -303,7 +304,6 @@ static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.name		= "l3_main_1",
- 	.class		= &omap44xx_l3_hwmod_class,
- 	.mpu_irqs	= omap44xx_l3_targ_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_l3_targ_irqs),
- 	.slaves		= omap44xx_l3_main_1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -673,6 +673,7 @@ static struct omap_hwmod_class omap44xx_aess_hwmod_class = {
- /* aess */
- static struct omap_hwmod_irq_info omap44xx_aess_irqs[] = {
- 	{ .irq = 99 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = {
-@@ -737,7 +738,6 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.name		= "aess",
- 	.class		= &omap44xx_aess_hwmod_class,
- 	.mpu_irqs	= omap44xx_aess_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_aess_irqs),
- 	.sdma_reqs	= omap44xx_aess_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_aess_sdma_reqs),
- 	.main_clk	= "aess_fck",
-@@ -876,6 +876,7 @@ static struct omap_hwmod_irq_info omap44xx_dma_system_irqs[] = {
- 	{ .name = "1", .irq = 13 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "2", .irq = 14 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "3", .irq = 15 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- /* dma_system master ports */
-@@ -910,7 +911,6 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {
- 	.name		= "dma_system",
- 	.class		= &omap44xx_dma_hwmod_class,
- 	.mpu_irqs	= omap44xx_dma_system_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dma_system_irqs),
- 	.main_clk	= "l3_div_ck",
- 	.prcm = {
- 		.omap4 = {
-@@ -949,6 +949,7 @@ static struct omap_hwmod_class omap44xx_dmic_hwmod_class = {
- static struct omap_hwmod omap44xx_dmic_hwmod;
- static struct omap_hwmod_irq_info omap44xx_dmic_irqs[] = {
- 	{ .irq = 114 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_dmic_sdma_reqs[] = {
-@@ -1001,7 +1002,6 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.name		= "dmic",
- 	.class		= &omap44xx_dmic_hwmod_class,
- 	.mpu_irqs	= omap44xx_dmic_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dmic_irqs),
- 	.sdma_reqs	= omap44xx_dmic_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dmic_sdma_reqs),
- 	.main_clk	= "dmic_fck",
-@@ -1027,6 +1027,7 @@ static struct omap_hwmod_class omap44xx_dsp_hwmod_class = {
- /* dsp */
- static struct omap_hwmod_irq_info omap44xx_dsp_irqs[] = {
- 	{ .irq = 28 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_rst_info omap44xx_dsp_resets[] = {
-@@ -1083,7 +1084,6 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
- 	.name		= "dsp",
- 	.class		= &omap44xx_dsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_dsp_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dsp_irqs),
- 	.rst_lines	= omap44xx_dsp_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_dsp_resets),
- 	.main_clk	= "dsp_fck",
-@@ -1216,6 +1216,7 @@ static struct omap_hwmod_class omap44xx_dispc_hwmod_class = {
- static struct omap_hwmod omap44xx_dss_dispc_hwmod;
- static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = {
- 	{ .irq = 25 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = {
-@@ -1268,7 +1269,6 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap44xx_dispc_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_irqs),
- 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_sdma_reqs),
- 	.main_clk	= "dss_fck",
-@@ -1307,6 +1307,7 @@ static struct omap_hwmod_class omap44xx_dsi_hwmod_class = {
- static struct omap_hwmod omap44xx_dss_dsi1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = {
- 	{ .irq = 53 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = {
-@@ -1359,7 +1360,6 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.name		= "dss_dsi1",
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_irqs),
- 	.sdma_reqs	= omap44xx_dss_dsi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_sdma_reqs),
- 	.main_clk	= "dss_fck",
-@@ -1377,6 +1377,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- static struct omap_hwmod omap44xx_dss_dsi2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = {
- 	{ .irq = 84 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = {
-@@ -1429,7 +1430,6 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.name		= "dss_dsi2",
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_irqs),
- 	.sdma_reqs	= omap44xx_dss_dsi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_sdma_reqs),
- 	.main_clk	= "dss_fck",
-@@ -1467,6 +1467,7 @@ static struct omap_hwmod_class omap44xx_hdmi_hwmod_class = {
- static struct omap_hwmod omap44xx_dss_hdmi_hwmod;
- static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = {
- 	{ .irq = 101 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = {
-@@ -1519,7 +1520,6 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.name		= "dss_hdmi",
- 	.class		= &omap44xx_hdmi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_hdmi_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_irqs),
- 	.sdma_reqs	= omap44xx_dss_hdmi_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_sdma_reqs),
- 	.main_clk	= "dss_fck",
-@@ -1717,6 +1717,7 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
- static struct omap_hwmod omap44xx_gpio1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio1_irqs[] = {
- 	{ .irq = 29 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio1_addrs[] = {
-@@ -1750,7 +1751,6 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.mpu_irqs	= omap44xx_gpio1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio1_irqs),
- 	.main_clk	= "gpio1_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -1769,6 +1769,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
- static struct omap_hwmod omap44xx_gpio2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio2_irqs[] = {
- 	{ .irq = 30 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio2_addrs[] = {
-@@ -1803,7 +1804,6 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio2_irqs),
- 	.main_clk	= "gpio2_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -1822,6 +1822,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
- static struct omap_hwmod omap44xx_gpio3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio3_irqs[] = {
- 	{ .irq = 31 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio3_addrs[] = {
-@@ -1856,7 +1857,6 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio3_irqs),
- 	.main_clk	= "gpio3_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -1875,6 +1875,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
- static struct omap_hwmod omap44xx_gpio4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio4_irqs[] = {
- 	{ .irq = 32 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio4_addrs[] = {
-@@ -1909,7 +1910,6 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio4_irqs),
- 	.main_clk	= "gpio4_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -1928,6 +1928,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
- static struct omap_hwmod omap44xx_gpio5_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio5_irqs[] = {
- 	{ .irq = 33 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio5_addrs[] = {
-@@ -1962,7 +1963,6 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio5_irqs),
- 	.main_clk	= "gpio5_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -1981,6 +1981,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
- static struct omap_hwmod omap44xx_gpio6_hwmod;
- static struct omap_hwmod_irq_info omap44xx_gpio6_irqs[] = {
- 	{ .irq = 34 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_gpio6_addrs[] = {
-@@ -2015,7 +2016,6 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {
- 	.class		= &omap44xx_gpio_hwmod_class,
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio6_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_gpio6_irqs),
- 	.main_clk	= "gpio6_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -2059,6 +2059,7 @@ static struct omap_hwmod_irq_info omap44xx_hsi_irqs[] = {
- 	{ .name = "mpu_p1", .irq = 67 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "mpu_p2", .irq = 68 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "mpu_dma", .irq = 71 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- /* hsi master ports */
-@@ -2093,7 +2094,6 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
- 	.name		= "hsi",
- 	.class		= &omap44xx_hsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_hsi_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_hsi_irqs),
- 	.main_clk	= "hsi_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -2132,6 +2132,7 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
- static struct omap_hwmod omap44xx_i2c1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {
- 	{ .irq = 56 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_i2c1_sdma_reqs[] = {
-@@ -2167,7 +2168,6 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.class		= &omap44xx_i2c_hwmod_class,
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c1_irqs),
- 	.sdma_reqs	= omap44xx_i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
-@@ -2185,6 +2185,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- static struct omap_hwmod omap44xx_i2c2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_i2c2_irqs[] = {
- 	{ .irq = 57 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_i2c2_sdma_reqs[] = {
-@@ -2220,7 +2221,6 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.class		= &omap44xx_i2c_hwmod_class,
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c2_irqs),
- 	.sdma_reqs	= omap44xx_i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
-@@ -2238,6 +2238,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- static struct omap_hwmod omap44xx_i2c3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_i2c3_irqs[] = {
- 	{ .irq = 61 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_i2c3_sdma_reqs[] = {
-@@ -2273,7 +2274,6 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.class		= &omap44xx_i2c_hwmod_class,
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c3_irqs),
- 	.sdma_reqs	= omap44xx_i2c3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c3_sdma_reqs),
- 	.main_clk	= "i2c3_fck",
-@@ -2291,6 +2291,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- static struct omap_hwmod omap44xx_i2c4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_i2c4_irqs[] = {
- 	{ .irq = 62 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_i2c4_sdma_reqs[] = {
-@@ -2326,7 +2327,6 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.class		= &omap44xx_i2c_hwmod_class,
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_i2c4_irqs),
- 	.sdma_reqs	= omap44xx_i2c4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c4_sdma_reqs),
- 	.main_clk	= "i2c4_fck",
-@@ -2352,6 +2352,7 @@ static struct omap_hwmod_class omap44xx_ipu_hwmod_class = {
- /* ipu */
- static struct omap_hwmod_irq_info omap44xx_ipu_irqs[] = {
- 	{ .irq = 100 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_rst_info omap44xx_ipu_c0_resets[] = {
-@@ -2418,7 +2419,6 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 	.name		= "ipu",
- 	.class		= &omap44xx_ipu_hwmod_class,
- 	.mpu_irqs	= omap44xx_ipu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_ipu_irqs),
- 	.rst_lines	= omap44xx_ipu_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_resets),
- 	.main_clk	= "ipu_fck",
-@@ -2459,6 +2459,7 @@ static struct omap_hwmod_class omap44xx_iss_hwmod_class = {
- /* iss */
- static struct omap_hwmod_irq_info omap44xx_iss_irqs[] = {
- 	{ .irq = 24 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_iss_sdma_reqs[] = {
-@@ -2504,7 +2505,6 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.name		= "iss",
- 	.class		= &omap44xx_iss_hwmod_class,
- 	.mpu_irqs	= omap44xx_iss_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_iss_irqs),
- 	.sdma_reqs	= omap44xx_iss_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_iss_sdma_reqs),
- 	.main_clk	= "iss_fck",
-@@ -2536,6 +2536,7 @@ static struct omap_hwmod_irq_info omap44xx_iva_irqs[] = {
- 	{ .name = "sync_1", .irq = 103 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "sync_0", .irq = 104 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "mailbox_0", .irq = 107 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_rst_info omap44xx_iva_resets[] = {
-@@ -2614,7 +2615,6 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
- 	.name		= "iva",
- 	.class		= &omap44xx_iva_hwmod_class,
- 	.mpu_irqs	= omap44xx_iva_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_iva_irqs),
- 	.rst_lines	= omap44xx_iva_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_resets),
- 	.main_clk	= "iva_fck",
-@@ -2657,6 +2657,7 @@ static struct omap_hwmod_class omap44xx_kbd_hwmod_class = {
- static struct omap_hwmod omap44xx_kbd_hwmod;
- static struct omap_hwmod_irq_info omap44xx_kbd_irqs[] = {
- 	{ .irq = 120 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_kbd_addrs[] = {
-@@ -2686,7 +2687,6 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
- 	.name		= "kbd",
- 	.class		= &omap44xx_kbd_hwmod_class,
- 	.mpu_irqs	= omap44xx_kbd_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_kbd_irqs),
- 	.main_clk	= "kbd_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -2722,6 +2722,7 @@ static struct omap_hwmod_class omap44xx_mailbox_hwmod_class = {
- static struct omap_hwmod omap44xx_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mailbox_irqs[] = {
- 	{ .irq = 26 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mailbox_addrs[] = {
-@@ -2751,7 +2752,6 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap44xx_mailbox_hwmod_class,
- 	.mpu_irqs	= omap44xx_mailbox_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mailbox_irqs),
- 	.prcm		= {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4CFG_MAILBOX_CLKCTRL,
-@@ -2785,6 +2785,7 @@ static struct omap_hwmod_class omap44xx_mcbsp_hwmod_class = {
- static struct omap_hwmod omap44xx_mcbsp1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcbsp1_irqs[] = {
- 	{ .irq = 17 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcbsp1_sdma_reqs[] = {
-@@ -2840,7 +2841,6 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_irqs),
- 	.sdma_reqs	= omap44xx_mcbsp1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_sdma_reqs),
- 	.main_clk	= "mcbsp1_fck",
-@@ -2858,6 +2858,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- static struct omap_hwmod omap44xx_mcbsp2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcbsp2_irqs[] = {
- 	{ .irq = 22 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcbsp2_sdma_reqs[] = {
-@@ -2913,7 +2914,6 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_irqs),
- 	.sdma_reqs	= omap44xx_mcbsp2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_sdma_reqs),
- 	.main_clk	= "mcbsp2_fck",
-@@ -2931,6 +2931,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- static struct omap_hwmod omap44xx_mcbsp3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcbsp3_irqs[] = {
- 	{ .irq = 23 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcbsp3_sdma_reqs[] = {
-@@ -2986,7 +2987,6 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_irqs),
- 	.sdma_reqs	= omap44xx_mcbsp3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_sdma_reqs),
- 	.main_clk	= "mcbsp3_fck",
-@@ -3004,6 +3004,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- static struct omap_hwmod omap44xx_mcbsp4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcbsp4_irqs[] = {
- 	{ .irq = 16 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcbsp4_sdma_reqs[] = {
-@@ -3038,7 +3039,6 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 	.name		= "mcbsp4",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_irqs),
- 	.sdma_reqs	= omap44xx_mcbsp4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_sdma_reqs),
- 	.main_clk	= "mcbsp4_fck",
-@@ -3077,6 +3077,7 @@ static struct omap_hwmod_class omap44xx_mcpdm_hwmod_class = {
- static struct omap_hwmod omap44xx_mcpdm_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcpdm_irqs[] = {
- 	{ .irq = 112 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcpdm_sdma_reqs[] = {
-@@ -3130,7 +3131,6 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.name		= "mcpdm",
- 	.class		= &omap44xx_mcpdm_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcpdm_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcpdm_irqs),
- 	.sdma_reqs	= omap44xx_mcpdm_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcpdm_sdma_reqs),
- 	.main_clk	= "mcpdm_fck",
-@@ -3170,6 +3170,7 @@ static struct omap_hwmod_class omap44xx_mcspi_hwmod_class = {
- static struct omap_hwmod omap44xx_mcspi1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcspi1_irqs[] = {
- 	{ .irq = 65 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = {
-@@ -3215,7 +3216,6 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 	.name		= "mcspi1",
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi1_irqs),
- 	.sdma_reqs	= omap44xx_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -3234,6 +3234,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- static struct omap_hwmod omap44xx_mcspi2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcspi2_irqs[] = {
- 	{ .irq = 66 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = {
-@@ -3275,7 +3276,6 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 	.name		= "mcspi2",
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi2_irqs),
- 	.sdma_reqs	= omap44xx_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-@@ -3294,6 +3294,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- static struct omap_hwmod omap44xx_mcspi3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcspi3_irqs[] = {
- 	{ .irq = 91 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = {
-@@ -3335,7 +3336,6 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 	.name		= "mcspi3",
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi3_irqs),
- 	.sdma_reqs	= omap44xx_mcspi3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
-@@ -3354,6 +3354,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- static struct omap_hwmod omap44xx_mcspi4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mcspi4_irqs[] = {
- 	{ .irq = 48 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mcspi4_sdma_reqs[] = {
-@@ -3393,7 +3394,6 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 	.name		= "mcspi4",
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mcspi4_irqs),
- 	.sdma_reqs	= omap44xx_mcspi4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi4_sdma_reqs),
- 	.main_clk	= "mcspi4_fck",
-@@ -3434,6 +3434,7 @@ static struct omap_hwmod_class omap44xx_mmc_hwmod_class = {
- 
- static struct omap_hwmod_irq_info omap44xx_mmc1_irqs[] = {
- 	{ .irq = 83 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mmc1_sdma_reqs[] = {
-@@ -3478,7 +3479,6 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.name		= "mmc1",
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc1_irqs),
- 	.sdma_reqs	= omap44xx_mmc1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc1_sdma_reqs),
- 	.main_clk	= "mmc1_fck",
-@@ -3498,6 +3498,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- /* mmc2 */
- static struct omap_hwmod_irq_info omap44xx_mmc2_irqs[] = {
- 	{ .irq = 86 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mmc2_sdma_reqs[] = {
-@@ -3537,7 +3538,6 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.name		= "mmc2",
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc2_irqs),
- 	.sdma_reqs	= omap44xx_mmc2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc2_sdma_reqs),
- 	.main_clk	= "mmc2_fck",
-@@ -3557,6 +3557,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- static struct omap_hwmod omap44xx_mmc3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mmc3_irqs[] = {
- 	{ .irq = 94 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mmc3_sdma_reqs[] = {
-@@ -3591,7 +3592,6 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.name		= "mmc3",
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc3_irqs),
- 	.sdma_reqs	= omap44xx_mmc3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc3_sdma_reqs),
- 	.main_clk	= "mmc3_fck",
-@@ -3609,6 +3609,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- static struct omap_hwmod omap44xx_mmc4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mmc4_irqs[] = {
- 	{ .irq = 96 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mmc4_sdma_reqs[] = {
-@@ -3643,7 +3644,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 	.name		= "mmc4",
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc4_irqs),
-+
- 	.sdma_reqs	= omap44xx_mmc4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc4_sdma_reqs),
- 	.main_clk	= "mmc4_fck",
-@@ -3661,6 +3662,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- static struct omap_hwmod omap44xx_mmc5_hwmod;
- static struct omap_hwmod_irq_info omap44xx_mmc5_irqs[] = {
- 	{ .irq = 59 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_mmc5_sdma_reqs[] = {
-@@ -3695,7 +3697,6 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.name		= "mmc5",
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mmc5_irqs),
- 	.sdma_reqs	= omap44xx_mmc5_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc5_sdma_reqs),
- 	.main_clk	= "mmc5_fck",
-@@ -3723,6 +3724,7 @@ static struct omap_hwmod_irq_info omap44xx_mpu_irqs[] = {
- 	{ .name = "pl310", .irq = 0 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "cti0", .irq = 1 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "cti1", .irq = 2 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- /* mpu master ports */
-@@ -3737,7 +3739,6 @@ static struct omap_hwmod omap44xx_mpu_hwmod = {
- 	.class		= &omap44xx_mpu_hwmod_class,
- 	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
- 	.mpu_irqs	= omap44xx_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_mpu_irqs),
- 	.main_clk	= "dpll_mpu_m2_ck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3779,6 +3780,7 @@ static struct omap_hwmod_class omap44xx_smartreflex_hwmod_class = {
- static struct omap_hwmod omap44xx_smartreflex_core_hwmod;
- static struct omap_hwmod_irq_info omap44xx_smartreflex_core_irqs[] = {
- 	{ .irq = 19 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_smartreflex_core_addrs[] = {
-@@ -3808,7 +3810,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- 	.name		= "smartreflex_core",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
- 	.mpu_irqs	= omap44xx_smartreflex_core_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_core_irqs),
-+
- 	.main_clk	= "smartreflex_core_fck",
- 	.vdd_name	= "core",
- 	.prcm = {
-@@ -3825,6 +3827,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- static struct omap_hwmod omap44xx_smartreflex_iva_hwmod;
- static struct omap_hwmod_irq_info omap44xx_smartreflex_iva_irqs[] = {
- 	{ .irq = 102 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_smartreflex_iva_addrs[] = {
-@@ -3854,7 +3857,6 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- 	.name		= "smartreflex_iva",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
- 	.mpu_irqs	= omap44xx_smartreflex_iva_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_iva_irqs),
- 	.main_clk	= "smartreflex_iva_fck",
- 	.vdd_name	= "iva",
- 	.prcm = {
-@@ -3871,6 +3873,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod;
- static struct omap_hwmod_irq_info omap44xx_smartreflex_mpu_irqs[] = {
- 	{ .irq = 18 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_smartreflex_mpu_addrs[] = {
-@@ -3900,7 +3903,6 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
- 	.name		= "smartreflex_mpu",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
- 	.mpu_irqs	= omap44xx_smartreflex_mpu_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_smartreflex_mpu_irqs),
- 	.main_clk	= "smartreflex_mpu_fck",
- 	.vdd_name	= "mpu",
- 	.prcm = {
-@@ -4016,6 +4018,7 @@ static struct omap_hwmod_class omap44xx_timer_hwmod_class = {
- static struct omap_hwmod omap44xx_timer1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer1_irqs[] = {
- 	{ .irq = 37 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer1_addrs[] = {
-@@ -4045,7 +4048,6 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
- 	.name		= "timer1",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer1_irqs),
- 	.main_clk	= "timer1_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4061,6 +4063,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
- static struct omap_hwmod omap44xx_timer2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer2_irqs[] = {
- 	{ .irq = 38 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer2_addrs[] = {
-@@ -4090,7 +4093,6 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
- 	.name		= "timer2",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer2_irqs),
- 	.main_clk	= "timer2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4106,6 +4108,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
- static struct omap_hwmod omap44xx_timer3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer3_irqs[] = {
- 	{ .irq = 39 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer3_addrs[] = {
-@@ -4135,7 +4138,6 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
- 	.name		= "timer3",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer3_irqs),
- 	.main_clk	= "timer3_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4151,6 +4153,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
- static struct omap_hwmod omap44xx_timer4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer4_irqs[] = {
- 	{ .irq = 40 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer4_addrs[] = {
-@@ -4180,7 +4183,6 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
- 	.name		= "timer4",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer4_irqs),
- 	.main_clk	= "timer4_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4196,6 +4198,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
- static struct omap_hwmod omap44xx_timer5_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer5_irqs[] = {
- 	{ .irq = 41 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer5_addrs[] = {
-@@ -4244,7 +4247,6 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
- 	.name		= "timer5",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer5_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer5_irqs),
- 	.main_clk	= "timer5_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4260,6 +4262,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
- static struct omap_hwmod omap44xx_timer6_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer6_irqs[] = {
- 	{ .irq = 42 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer6_addrs[] = {
-@@ -4308,7 +4311,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
- 	.name		= "timer6",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer6_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer6_irqs),
-+
- 	.main_clk	= "timer6_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4324,6 +4327,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
- static struct omap_hwmod omap44xx_timer7_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer7_irqs[] = {
- 	{ .irq = 43 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer7_addrs[] = {
-@@ -4372,7 +4376,6 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
- 	.name		= "timer7",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer7_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer7_irqs),
- 	.main_clk	= "timer7_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4388,6 +4391,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
- static struct omap_hwmod omap44xx_timer8_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer8_irqs[] = {
- 	{ .irq = 44 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer8_addrs[] = {
-@@ -4436,7 +4440,6 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
- 	.name		= "timer8",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer8_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer8_irqs),
- 	.main_clk	= "timer8_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4452,6 +4455,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
- static struct omap_hwmod omap44xx_timer9_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer9_irqs[] = {
- 	{ .irq = 45 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer9_addrs[] = {
-@@ -4481,7 +4485,6 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
- 	.name		= "timer9",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer9_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer9_irqs),
- 	.main_clk	= "timer9_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4497,6 +4500,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
- static struct omap_hwmod omap44xx_timer10_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer10_irqs[] = {
- 	{ .irq = 46 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer10_addrs[] = {
-@@ -4526,7 +4530,6 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
- 	.name		= "timer10",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer10_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer10_irqs),
- 	.main_clk	= "timer10_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4542,6 +4545,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
- static struct omap_hwmod omap44xx_timer11_hwmod;
- static struct omap_hwmod_irq_info omap44xx_timer11_irqs[] = {
- 	{ .irq = 47 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_timer11_addrs[] = {
-@@ -4571,7 +4575,6 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {
- 	.name		= "timer11",
- 	.class		= &omap44xx_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_timer11_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_timer11_irqs),
- 	.main_clk	= "timer11_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4609,6 +4612,7 @@ static struct omap_hwmod_class omap44xx_uart_hwmod_class = {
- static struct omap_hwmod omap44xx_uart1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_uart1_irqs[] = {
- 	{ .irq = 72 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_uart1_sdma_reqs[] = {
-@@ -4643,7 +4647,6 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- 	.name		= "uart1",
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart1_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart1_irqs),
- 	.sdma_reqs	= omap44xx_uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -4661,6 +4664,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- static struct omap_hwmod omap44xx_uart2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_uart2_irqs[] = {
- 	{ .irq = 73 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_uart2_sdma_reqs[] = {
-@@ -4695,7 +4699,6 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- 	.name		= "uart2",
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart2_irqs),
- 	.sdma_reqs	= omap44xx_uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -4713,6 +4716,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- static struct omap_hwmod omap44xx_uart3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_uart3_irqs[] = {
- 	{ .irq = 74 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_uart3_sdma_reqs[] = {
-@@ -4748,7 +4752,6 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
- 	.mpu_irqs	= omap44xx_uart3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart3_irqs),
- 	.sdma_reqs	= omap44xx_uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -4766,6 +4769,7 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- static struct omap_hwmod omap44xx_uart4_hwmod;
- static struct omap_hwmod_irq_info omap44xx_uart4_irqs[] = {
- 	{ .irq = 70 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_dma_info omap44xx_uart4_sdma_reqs[] = {
-@@ -4800,7 +4804,6 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
- 	.name		= "uart4",
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart4_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_uart4_irqs),
- 	.sdma_reqs	= omap44xx_uart4_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart4_sdma_reqs),
- 	.main_clk	= "uart4_fck",
-@@ -4841,6 +4844,7 @@ static struct omap_hwmod_class omap44xx_usb_otg_hs_hwmod_class = {
- static struct omap_hwmod_irq_info omap44xx_usb_otg_hs_irqs[] = {
- 	{ .name = "mc", .irq = 92 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "dma", .irq = 93 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- /* usb_otg_hs master ports */
-@@ -4880,7 +4884,6 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 	.class		= &omap44xx_usb_otg_hs_hwmod_class,
- 	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
- 	.mpu_irqs	= omap44xx_usb_otg_hs_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_irqs),
- 	.main_clk	= "usb_otg_hs_ick",
- 	.prcm = {
- 		.omap4 = {
-@@ -4923,6 +4926,7 @@ static struct omap_hwmod_class omap44xx_wd_timer_hwmod_class = {
- static struct omap_hwmod omap44xx_wd_timer2_hwmod;
- static struct omap_hwmod_irq_info omap44xx_wd_timer2_irqs[] = {
- 	{ .irq = 80 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_wd_timer2_addrs[] = {
-@@ -4952,7 +4956,6 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- 	.name		= "wd_timer2",
- 	.class		= &omap44xx_wd_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_wd_timer2_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_wd_timer2_irqs),
- 	.main_clk	= "wd_timer2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4968,6 +4971,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- static struct omap_hwmod omap44xx_wd_timer3_hwmod;
- static struct omap_hwmod_irq_info omap44xx_wd_timer3_irqs[] = {
- 	{ .irq = 36 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_wd_timer3_addrs[] = {
-@@ -5016,7 +5020,6 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
- 	.name		= "wd_timer3",
- 	.class		= &omap44xx_wd_timer_hwmod_class,
- 	.mpu_irqs	= omap44xx_wd_timer3_irqs,
--	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_wd_timer3_irqs),
- 	.main_clk	= "wd_timer3_fck",
- 	.prcm = {
- 		.omap4 = {
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index f3a3bff..b8385e2 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -97,7 +97,7 @@ struct omap_hwmod_mux_info {
- /**
-  * struct omap_hwmod_irq_info - MPU IRQs used by the hwmod
-  * @name: name of the IRQ channel (module local name)
-- * @irq_ch: IRQ channel ID
-+ * @irq: IRQ channel ID (should be non-negative except -1 = terminator)
-  *
-  * @name should be something short, e.g., "tx" or "rx".  It is for use
-  * by platform_get_resource_byname().  It is defined locally to the
-@@ -105,7 +105,7 @@ struct omap_hwmod_mux_info {
-  */
- struct omap_hwmod_irq_info {
- 	const char	*name;
--	u16		irq;
-+	s16		irq;
- };
- 
- /**
-@@ -466,7 +466,7 @@ struct omap_hwmod_class {
-  * @name: name of the hwmod
-  * @class: struct omap_hwmod_class * to the class of this hwmod
-  * @od: struct omap_device currently associated with this hwmod (internal use)
-- * @mpu_irqs: ptr to an array of MPU IRQs (see also mpu_irqs_cnt)
-+ * @mpu_irqs: ptr to an array of MPU IRQs
-  * @sdma_reqs: ptr to an array of System DMA request IDs (see sdma_reqs_cnt)
-  * @prcm: PRCM data pertaining to this hwmod
-  * @main_clk: main clock: OMAP clock name
-@@ -480,7 +480,6 @@ struct omap_hwmod_class {
-  * @_sysc_cache: internal-use hwmod flags
-  * @_mpu_rt_va: cached register target start address (internal use)
-  * @_mpu_port_index: cached MPU register target slave ID (internal use)
-- * @mpu_irqs_cnt: number of @mpu_irqs
-  * @sdma_reqs_cnt: number of @sdma_reqs
-  * @opt_clks_cnt: number of @opt_clks
-  * @master_cnt: number of @master entries
-@@ -529,7 +528,6 @@ struct omap_hwmod {
- 	u16				flags;
- 	u8				_mpu_port_index;
- 	u8				response_lat;
--	u8				mpu_irqs_cnt;
- 	u8				sdma_reqs_cnt;
- 	u8				rst_lines_cnt;
- 	u8				opt_clks_cnt;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0040-omap_hwmod-share-identical-omap_hwmod_mpu_irqs-array.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0040-omap_hwmod-share-identical-omap_hwmod_mpu_irqs-array.patch
deleted file mode 100644
index fabe223..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0040-omap_hwmod-share-identical-omap_hwmod_mpu_irqs-array.patch
+++ /dev/null
@@ -1,1815 +0,0 @@
-From 5cd00a6a7afe6757255da2256157ce5504cf4b1a Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:07 -0600
-Subject: [PATCH 040/149] omap_hwmod: share identical omap_hwmod_mpu_irqs arrays
-
-To reduce kernel source file data duplication, share struct
-omap_hwmod_mpu_irqs arrays across OMAP2xxx and 3xxx hwmod data files.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/Makefile                       |   11 +-
- arch/arm/mach-omap2/omap_hwmod_2420_data.c         |  167 +++-----------------
- arch/arm/mach-omap2/omap_hwmod_2430_data.c         |  166 +++-----------------
- .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c |  142 +++++++++++++++++
- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c |   21 +++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |  162 +++----------------
- arch/arm/mach-omap2/omap_hwmod_common_data.h       |   29 ++++
- 7 files changed, 275 insertions(+), 423 deletions(-)
- create mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
- create mode 100644 arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 8a75d17..f343365 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -145,13 +145,18 @@ obj-$(CONFIG_SOC_OMAP2420)		+= opp2420_data.o
- obj-$(CONFIG_SOC_OMAP2430)		+= opp2430_data.o
- 
- # hwmod data
--obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_interconnect_data.o \
-+obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_ipblock_data.o \
-+					   omap_hwmod_2xxx_3xxx_ipblock_data.o \
-+					   omap_hwmod_2xxx_interconnect_data.o \
- 					   omap_hwmod_2xxx_3xxx_interconnect_data.o \
- 					   omap_hwmod_2420_data.o
--obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_interconnect_data.o \
-+obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_ipblock_data.o \
-+					   omap_hwmod_2xxx_3xxx_ipblock_data.o \
-+					   omap_hwmod_2xxx_interconnect_data.o \
- 					   omap_hwmod_2xxx_3xxx_interconnect_data.o \
- 					   omap_hwmod_2430_data.o
--obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_interconnect_data.o \
-+obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o \
-+					   omap_hwmod_2xxx_3xxx_interconnect_data.o \
- 					   omap_hwmod_3xxx_data.o
- obj-$(CONFIG_ARCH_OMAP4)		+= omap_hwmod_44xx_data.o
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 04730d3..73157ee 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -294,10 +294,6 @@ static struct omap_hwmod_class omap2420_timer_hwmod_class = {
- 
- /* timer1 */
- static struct omap_hwmod omap2420_timer1_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer1_mpu_irqs[] = {
--	{ .irq = 37, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap2420_timer1_addrs[] = {
- 	{
-@@ -325,7 +321,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer1_slaves[] = {
- /* timer1 hwmod */
- static struct omap_hwmod omap2420_timer1_hwmod = {
- 	.name		= "timer1",
--	.mpu_irqs	= omap2420_timer1_mpu_irqs,
-+	.mpu_irqs	= omap2_timer1_mpu_irqs,
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -344,11 +340,6 @@ static struct omap_hwmod omap2420_timer1_hwmod = {
- 
- /* timer2 */
- static struct omap_hwmod omap2420_timer2_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer2_mpu_irqs[] = {
--	{ .irq = 38, },
--	{ .irq = -1 }
--};
--
- 
- /* l4_core -> timer2 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer2 = {
-@@ -367,7 +358,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer2_slaves[] = {
- /* timer2 hwmod */
- static struct omap_hwmod omap2420_timer2_hwmod = {
- 	.name		= "timer2",
--	.mpu_irqs	= omap2420_timer2_mpu_irqs,
-+	.mpu_irqs	= omap2_timer2_mpu_irqs,
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -386,10 +377,6 @@ static struct omap_hwmod omap2420_timer2_hwmod = {
- 
- /* timer3 */
- static struct omap_hwmod omap2420_timer3_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer3_mpu_irqs[] = {
--	{ .irq = 39, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer3 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer3 = {
-@@ -408,7 +395,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer3_slaves[] = {
- /* timer3 hwmod */
- static struct omap_hwmod omap2420_timer3_hwmod = {
- 	.name		= "timer3",
--	.mpu_irqs	= omap2420_timer3_mpu_irqs,
-+	.mpu_irqs	= omap2_timer3_mpu_irqs,
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -427,10 +414,6 @@ static struct omap_hwmod omap2420_timer3_hwmod = {
- 
- /* timer4 */
- static struct omap_hwmod omap2420_timer4_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer4_mpu_irqs[] = {
--	{ .irq = 40, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer4 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer4 = {
-@@ -449,7 +432,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer4_slaves[] = {
- /* timer4 hwmod */
- static struct omap_hwmod omap2420_timer4_hwmod = {
- 	.name		= "timer4",
--	.mpu_irqs	= omap2420_timer4_mpu_irqs,
-+	.mpu_irqs	= omap2_timer4_mpu_irqs,
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -468,10 +451,6 @@ static struct omap_hwmod omap2420_timer4_hwmod = {
- 
- /* timer5 */
- static struct omap_hwmod omap2420_timer5_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer5_mpu_irqs[] = {
--	{ .irq = 41, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer5 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer5 = {
-@@ -490,7 +469,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer5_slaves[] = {
- /* timer5 hwmod */
- static struct omap_hwmod omap2420_timer5_hwmod = {
- 	.name		= "timer5",
--	.mpu_irqs	= omap2420_timer5_mpu_irqs,
-+	.mpu_irqs	= omap2_timer5_mpu_irqs,
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -510,10 +489,6 @@ static struct omap_hwmod omap2420_timer5_hwmod = {
- 
- /* timer6 */
- static struct omap_hwmod omap2420_timer6_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer6_mpu_irqs[] = {
--	{ .irq = 42, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer6 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer6 = {
-@@ -532,7 +507,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer6_slaves[] = {
- /* timer6 hwmod */
- static struct omap_hwmod omap2420_timer6_hwmod = {
- 	.name		= "timer6",
--	.mpu_irqs	= omap2420_timer6_mpu_irqs,
-+	.mpu_irqs	= omap2_timer6_mpu_irqs,
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -551,10 +526,6 @@ static struct omap_hwmod omap2420_timer6_hwmod = {
- 
- /* timer7 */
- static struct omap_hwmod omap2420_timer7_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer7_mpu_irqs[] = {
--	{ .irq = 43, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer7 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer7 = {
-@@ -573,7 +544,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer7_slaves[] = {
- /* timer7 hwmod */
- static struct omap_hwmod omap2420_timer7_hwmod = {
- 	.name		= "timer7",
--	.mpu_irqs	= omap2420_timer7_mpu_irqs,
-+	.mpu_irqs	= omap2_timer7_mpu_irqs,
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -592,10 +563,6 @@ static struct omap_hwmod omap2420_timer7_hwmod = {
- 
- /* timer8 */
- static struct omap_hwmod omap2420_timer8_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer8_mpu_irqs[] = {
--	{ .irq = 44, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer8 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer8 = {
-@@ -614,7 +581,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer8_slaves[] = {
- /* timer8 hwmod */
- static struct omap_hwmod omap2420_timer8_hwmod = {
- 	.name		= "timer8",
--	.mpu_irqs	= omap2420_timer8_mpu_irqs,
-+	.mpu_irqs	= omap2_timer8_mpu_irqs,
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -633,10 +600,6 @@ static struct omap_hwmod omap2420_timer8_hwmod = {
- 
- /* timer9 */
- static struct omap_hwmod omap2420_timer9_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer9_mpu_irqs[] = {
--	{ .irq = 45, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer9 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer9 = {
-@@ -655,7 +618,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer9_slaves[] = {
- /* timer9 hwmod */
- static struct omap_hwmod omap2420_timer9_hwmod = {
- 	.name		= "timer9",
--	.mpu_irqs	= omap2420_timer9_mpu_irqs,
-+	.mpu_irqs	= omap2_timer9_mpu_irqs,
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -674,10 +637,6 @@ static struct omap_hwmod omap2420_timer9_hwmod = {
- 
- /* timer10 */
- static struct omap_hwmod omap2420_timer10_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer10_mpu_irqs[] = {
--	{ .irq = 46, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer10 = {
-@@ -696,7 +655,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer10_slaves[] = {
- /* timer10 hwmod */
- static struct omap_hwmod omap2420_timer10_hwmod = {
- 	.name		= "timer10",
--	.mpu_irqs	= omap2420_timer10_mpu_irqs,
-+	.mpu_irqs	= omap2_timer10_mpu_irqs,
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -715,10 +674,6 @@ static struct omap_hwmod omap2420_timer10_hwmod = {
- 
- /* timer11 */
- static struct omap_hwmod omap2420_timer11_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer11_mpu_irqs[] = {
--	{ .irq = 47, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer11 = {
-@@ -737,7 +692,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer11_slaves[] = {
- /* timer11 hwmod */
- static struct omap_hwmod omap2420_timer11_hwmod = {
- 	.name		= "timer11",
--	.mpu_irqs	= omap2420_timer11_mpu_irqs,
-+	.mpu_irqs	= omap2_timer11_mpu_irqs,
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -756,10 +711,6 @@ static struct omap_hwmod omap2420_timer11_hwmod = {
- 
- /* timer12 */
- static struct omap_hwmod omap2420_timer12_hwmod;
--static struct omap_hwmod_irq_info omap2420_timer12_mpu_irqs[] = {
--	{ .irq = 48, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer12 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__timer12 = {
-@@ -778,7 +729,7 @@ static struct omap_hwmod_ocp_if *omap2420_timer12_slaves[] = {
- /* timer12 hwmod */
- static struct omap_hwmod omap2420_timer12_hwmod = {
- 	.name		= "timer12",
--	.mpu_irqs	= omap2420_timer12_mpu_irqs,
-+	.mpu_irqs	= omap2xxx_timer12_mpu_irqs,
- 	.main_clk	= "gpt12_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -877,11 +828,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
-@@ -893,7 +839,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
- 
- static struct omap_hwmod omap2420_uart1_hwmod = {
- 	.name		= "uart1",
--	.mpu_irqs	= uart1_mpu_irqs,
-+	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -914,11 +860,6 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
-@@ -930,7 +871,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart2_slaves[] = {
- 
- static struct omap_hwmod omap2420_uart2_hwmod = {
- 	.name		= "uart2",
--	.mpu_irqs	= uart2_mpu_irqs,
-+	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -951,11 +892,6 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART3_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
-@@ -967,7 +903,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart3_slaves[] = {
- 
- static struct omap_hwmod omap2420_uart3_hwmod = {
- 	.name		= "uart3",
--	.mpu_irqs	= uart3_mpu_irqs,
-+	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1085,11 +1021,6 @@ static struct omap_hwmod_class omap2420_dispc_hwmod_class = {
- 	.sysc = &omap2420_dispc_sysc,
- };
- 
--static struct omap_hwmod_irq_info omap2420_dispc_irqs[] = {
--	{ .irq = 25 },
--	{ .irq = -1 }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_dispc = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1113,7 +1044,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_dispc_slaves[] = {
- static struct omap_hwmod omap2420_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap2420_dispc_hwmod_class,
--	.mpu_irqs	= omap2420_dispc_irqs,
-+	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1252,11 +1183,6 @@ static struct omap_i2c_dev_attr i2c_dev_attr;
- 
- /* I2C1 */
- 
--static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-@@ -1268,7 +1194,7 @@ static struct omap_hwmod_ocp_if *omap2420_i2c1_slaves[] = {
- 
- static struct omap_hwmod omap2420_i2c1_hwmod = {
- 	.name		= "i2c1",
--	.mpu_irqs	= i2c1_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
-@@ -1291,11 +1217,6 @@ static struct omap_hwmod omap2420_i2c1_hwmod = {
- 
- /* I2C2 */
- 
--static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-@@ -1307,7 +1228,7 @@ static struct omap_hwmod_ocp_if *omap2420_i2c2_slaves[] = {
- 
- static struct omap_hwmod omap2420_i2c2_hwmod = {
- 	.name		= "i2c2",
--	.mpu_irqs	= i2c2_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
-@@ -1428,11 +1349,6 @@ static struct omap_hwmod_class omap242x_gpio_hwmod_class = {
- };
- 
- /* gpio1 */
--static struct omap_hwmod_irq_info omap242x_gpio1_irqs[] = {
--	{ .irq = 29 }, /* INT_24XX_GPIO_BANK1 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_gpio1_slaves[] = {
- 	&omap2420_l4_wkup__gpio1,
- };
-@@ -1440,7 +1356,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio1_slaves[] = {
- static struct omap_hwmod omap2420_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap242x_gpio1_irqs,
-+	.mpu_irqs	= omap2_gpio1_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1459,11 +1375,6 @@ static struct omap_hwmod omap2420_gpio1_hwmod = {
- };
- 
- /* gpio2 */
--static struct omap_hwmod_irq_info omap242x_gpio2_irqs[] = {
--	{ .irq = 30 }, /* INT_24XX_GPIO_BANK2 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_gpio2_slaves[] = {
- 	&omap2420_l4_wkup__gpio2,
- };
-@@ -1471,7 +1382,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio2_slaves[] = {
- static struct omap_hwmod omap2420_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap242x_gpio2_irqs,
-+	.mpu_irqs	= omap2_gpio2_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1490,11 +1401,6 @@ static struct omap_hwmod omap2420_gpio2_hwmod = {
- };
- 
- /* gpio3 */
--static struct omap_hwmod_irq_info omap242x_gpio3_irqs[] = {
--	{ .irq = 31 }, /* INT_24XX_GPIO_BANK3 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_gpio3_slaves[] = {
- 	&omap2420_l4_wkup__gpio3,
- };
-@@ -1502,7 +1408,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio3_slaves[] = {
- static struct omap_hwmod omap2420_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap242x_gpio3_irqs,
-+	.mpu_irqs	= omap2_gpio3_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1521,11 +1427,6 @@ static struct omap_hwmod omap2420_gpio3_hwmod = {
- };
- 
- /* gpio4 */
--static struct omap_hwmod_irq_info omap242x_gpio4_irqs[] = {
--	{ .irq = 32 }, /* INT_24XX_GPIO_BANK4 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_gpio4_slaves[] = {
- 	&omap2420_l4_wkup__gpio4,
- };
-@@ -1533,7 +1434,7 @@ static struct omap_hwmod_ocp_if *omap2420_gpio4_slaves[] = {
- static struct omap_hwmod omap2420_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap242x_gpio4_irqs,
-+	.mpu_irqs	= omap2_gpio4_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1575,14 +1476,6 @@ static struct omap_dma_dev_attr dma_dev_attr = {
- 	.lch_count = 32,
- };
- 
--static struct omap_hwmod_irq_info omap2420_dma_system_irqs[] = {
--	{ .name = "0", .irq = 12 }, /* INT_24XX_SDMA_IRQ0 */
--	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
--	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
--	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
--	{ .irq = -1 }
--};
--
- /* dma_system -> L3 */
- static struct omap_hwmod_ocp_if omap2420_dma_system__l3 = {
- 	.master		= &omap2420_dma_system_hwmod,
-@@ -1613,7 +1506,7 @@ static struct omap_hwmod_ocp_if *omap2420_dma_system_slaves[] = {
- static struct omap_hwmod omap2420_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap2420_dma_hwmod_class,
--	.mpu_irqs	= omap2420_dma_system_irqs,
-+	.mpu_irqs	= omap2_dma_system_irqs,
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2420_dma_system_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_dma_system_slaves),
-@@ -1709,11 +1602,6 @@ static struct omap_hwmod_class omap2420_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_irq_info omap2420_mcspi1_mpu_irqs[] = {
--	{ .irq = 65 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap2420_mcspi1_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
- 	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
-@@ -1735,7 +1623,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- 
- static struct omap_hwmod omap2420_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
--	.mpu_irqs	= omap2420_mcspi1_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap2420_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -1756,11 +1644,6 @@ static struct omap_hwmod omap2420_mcspi1_hwmod = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_irq_info omap2420_mcspi2_mpu_irqs[] = {
--	{ .irq = 66 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap2420_mcspi2_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
- 	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
-@@ -1778,7 +1661,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- 
- static struct omap_hwmod omap2420_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
--	.mpu_irqs	= omap2420_mcspi2_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap2420_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 2c28468..62ecc68 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -367,10 +367,6 @@ static struct omap_hwmod_class omap2430_timer_hwmod_class = {
- 
- /* timer1 */
- static struct omap_hwmod omap2430_timer1_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer1_mpu_irqs[] = {
--	{ .irq = 37, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap2430_timer1_addrs[] = {
- 	{
-@@ -398,7 +394,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer1_slaves[] = {
- /* timer1 hwmod */
- static struct omap_hwmod omap2430_timer1_hwmod = {
- 	.name		= "timer1",
--	.mpu_irqs	= omap2430_timer1_mpu_irqs,
-+	.mpu_irqs	= omap2_timer1_mpu_irqs,
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -417,10 +413,6 @@ static struct omap_hwmod omap2430_timer1_hwmod = {
- 
- /* timer2 */
- static struct omap_hwmod omap2430_timer2_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer2_mpu_irqs[] = {
--	{ .irq = 38, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer2 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer2 = {
-@@ -439,7 +431,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer2_slaves[] = {
- /* timer2 hwmod */
- static struct omap_hwmod omap2430_timer2_hwmod = {
- 	.name		= "timer2",
--	.mpu_irqs	= omap2430_timer2_mpu_irqs,
-+	.mpu_irqs	= omap2_timer2_mpu_irqs,
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -458,10 +450,6 @@ static struct omap_hwmod omap2430_timer2_hwmod = {
- 
- /* timer3 */
- static struct omap_hwmod omap2430_timer3_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer3_mpu_irqs[] = {
--	{ .irq = 39, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer3 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer3 = {
-@@ -480,7 +468,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer3_slaves[] = {
- /* timer3 hwmod */
- static struct omap_hwmod omap2430_timer3_hwmod = {
- 	.name		= "timer3",
--	.mpu_irqs	= omap2430_timer3_mpu_irqs,
-+	.mpu_irqs	= omap2_timer3_mpu_irqs,
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -499,10 +487,6 @@ static struct omap_hwmod omap2430_timer3_hwmod = {
- 
- /* timer4 */
- static struct omap_hwmod omap2430_timer4_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer4_mpu_irqs[] = {
--	{ .irq = 40, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer4 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer4 = {
-@@ -521,7 +505,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer4_slaves[] = {
- /* timer4 hwmod */
- static struct omap_hwmod omap2430_timer4_hwmod = {
- 	.name		= "timer4",
--	.mpu_irqs	= omap2430_timer4_mpu_irqs,
-+	.mpu_irqs	= omap2_timer4_mpu_irqs,
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -540,10 +524,6 @@ static struct omap_hwmod omap2430_timer4_hwmod = {
- 
- /* timer5 */
- static struct omap_hwmod omap2430_timer5_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer5_mpu_irqs[] = {
--	{ .irq = 41, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer5 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer5 = {
-@@ -562,7 +542,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer5_slaves[] = {
- /* timer5 hwmod */
- static struct omap_hwmod omap2430_timer5_hwmod = {
- 	.name		= "timer5",
--	.mpu_irqs	= omap2430_timer5_mpu_irqs,
-+	.mpu_irqs	= omap2_timer5_mpu_irqs,
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -581,10 +561,6 @@ static struct omap_hwmod omap2430_timer5_hwmod = {
- 
- /* timer6 */
- static struct omap_hwmod omap2430_timer6_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer6_mpu_irqs[] = {
--	{ .irq = 42, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer6 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer6 = {
-@@ -603,7 +579,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer6_slaves[] = {
- /* timer6 hwmod */
- static struct omap_hwmod omap2430_timer6_hwmod = {
- 	.name		= "timer6",
--	.mpu_irqs	= omap2430_timer6_mpu_irqs,
-+	.mpu_irqs	= omap2_timer6_mpu_irqs,
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -622,10 +598,6 @@ static struct omap_hwmod omap2430_timer6_hwmod = {
- 
- /* timer7 */
- static struct omap_hwmod omap2430_timer7_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer7_mpu_irqs[] = {
--	{ .irq = 43, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer7 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer7 = {
-@@ -644,7 +616,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer7_slaves[] = {
- /* timer7 hwmod */
- static struct omap_hwmod omap2430_timer7_hwmod = {
- 	.name		= "timer7",
--	.mpu_irqs	= omap2430_timer7_mpu_irqs,
-+	.mpu_irqs	= omap2_timer7_mpu_irqs,
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -663,10 +635,6 @@ static struct omap_hwmod omap2430_timer7_hwmod = {
- 
- /* timer8 */
- static struct omap_hwmod omap2430_timer8_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer8_mpu_irqs[] = {
--	{ .irq = 44, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer8 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer8 = {
-@@ -685,7 +653,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer8_slaves[] = {
- /* timer8 hwmod */
- static struct omap_hwmod omap2430_timer8_hwmod = {
- 	.name		= "timer8",
--	.mpu_irqs	= omap2430_timer8_mpu_irqs,
-+	.mpu_irqs	= omap2_timer8_mpu_irqs,
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -704,10 +672,6 @@ static struct omap_hwmod omap2430_timer8_hwmod = {
- 
- /* timer9 */
- static struct omap_hwmod omap2430_timer9_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer9_mpu_irqs[] = {
--	{ .irq = 45, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer9 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer9 = {
-@@ -726,7 +690,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer9_slaves[] = {
- /* timer9 hwmod */
- static struct omap_hwmod omap2430_timer9_hwmod = {
- 	.name		= "timer9",
--	.mpu_irqs	= omap2430_timer9_mpu_irqs,
-+	.mpu_irqs	= omap2_timer9_mpu_irqs,
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -745,10 +709,6 @@ static struct omap_hwmod omap2430_timer9_hwmod = {
- 
- /* timer10 */
- static struct omap_hwmod omap2430_timer10_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer10_mpu_irqs[] = {
--	{ .irq = 46, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer10 = {
-@@ -767,7 +727,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer10_slaves[] = {
- /* timer10 hwmod */
- static struct omap_hwmod omap2430_timer10_hwmod = {
- 	.name		= "timer10",
--	.mpu_irqs	= omap2430_timer10_mpu_irqs,
-+	.mpu_irqs	= omap2_timer10_mpu_irqs,
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -786,10 +746,6 @@ static struct omap_hwmod omap2430_timer10_hwmod = {
- 
- /* timer11 */
- static struct omap_hwmod omap2430_timer11_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer11_mpu_irqs[] = {
--	{ .irq = 47, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer11 = {
-@@ -808,7 +764,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer11_slaves[] = {
- /* timer11 hwmod */
- static struct omap_hwmod omap2430_timer11_hwmod = {
- 	.name		= "timer11",
--	.mpu_irqs	= omap2430_timer11_mpu_irqs,
-+	.mpu_irqs	= omap2_timer11_mpu_irqs,
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -827,10 +783,6 @@ static struct omap_hwmod omap2430_timer11_hwmod = {
- 
- /* timer12 */
- static struct omap_hwmod omap2430_timer12_hwmod;
--static struct omap_hwmod_irq_info omap2430_timer12_mpu_irqs[] = {
--	{ .irq = 48, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer12 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__timer12 = {
-@@ -849,7 +801,7 @@ static struct omap_hwmod_ocp_if *omap2430_timer12_slaves[] = {
- /* timer12 hwmod */
- static struct omap_hwmod omap2430_timer12_hwmod = {
- 	.name		= "timer12",
--	.mpu_irqs	= omap2430_timer12_mpu_irqs,
-+	.mpu_irqs	= omap2xxx_timer12_mpu_irqs,
- 	.main_clk	= "gpt12_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -948,11 +900,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
-@@ -964,7 +911,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
- 
- static struct omap_hwmod omap2430_uart1_hwmod = {
- 	.name		= "uart1",
--	.mpu_irqs	= uart1_mpu_irqs,
-+	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -985,11 +932,6 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
-@@ -1001,7 +943,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart2_slaves[] = {
- 
- static struct omap_hwmod omap2430_uart2_hwmod = {
- 	.name		= "uart2",
--	.mpu_irqs	= uart2_mpu_irqs,
-+	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -1022,11 +964,6 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART3_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
-@@ -1038,7 +975,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart3_slaves[] = {
- 
- static struct omap_hwmod omap2430_uart3_hwmod = {
- 	.name		= "uart3",
--	.mpu_irqs	= uart3_mpu_irqs,
-+	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1150,11 +1087,6 @@ static struct omap_hwmod_class omap2430_dispc_hwmod_class = {
- 	.sysc = &omap2430_dispc_sysc,
- };
- 
--static struct omap_hwmod_irq_info omap2430_dispc_irqs[] = {
--	{ .irq = 25 },
--	{ .irq = -1 }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_dispc = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1172,7 +1104,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_dispc_slaves[] = {
- static struct omap_hwmod omap2430_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap2430_dispc_hwmod_class,
--	.mpu_irqs	= omap2430_dispc_irqs,
-+	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1302,11 +1234,6 @@ static struct omap_i2c_dev_attr i2c_dev_attr = {
- 
- /* I2C1 */
- 
--static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-@@ -1318,7 +1245,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
- 
- static struct omap_hwmod omap2430_i2c1_hwmod = {
- 	.name		= "i2c1",
--	.mpu_irqs	= i2c1_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2chs1_fck",
-@@ -1348,11 +1275,6 @@ static struct omap_hwmod omap2430_i2c1_hwmod = {
- 
- /* I2C2 */
- 
--static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-@@ -1364,7 +1286,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
- 
- static struct omap_hwmod omap2430_i2c2_hwmod = {
- 	.name		= "i2c2",
--	.mpu_irqs	= i2c2_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2chs2_fck",
-@@ -1502,11 +1424,6 @@ static struct omap_hwmod_class omap243x_gpio_hwmod_class = {
- };
- 
- /* gpio1 */
--static struct omap_hwmod_irq_info omap243x_gpio1_irqs[] = {
--	{ .irq = 29 }, /* INT_24XX_GPIO_BANK1 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_gpio1_slaves[] = {
- 	&omap2430_l4_wkup__gpio1,
- };
-@@ -1514,7 +1431,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio1_slaves[] = {
- static struct omap_hwmod omap2430_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap243x_gpio1_irqs,
-+	.mpu_irqs	= omap2_gpio1_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1533,11 +1450,6 @@ static struct omap_hwmod omap2430_gpio1_hwmod = {
- };
- 
- /* gpio2 */
--static struct omap_hwmod_irq_info omap243x_gpio2_irqs[] = {
--	{ .irq = 30 }, /* INT_24XX_GPIO_BANK2 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_gpio2_slaves[] = {
- 	&omap2430_l4_wkup__gpio2,
- };
-@@ -1545,7 +1457,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio2_slaves[] = {
- static struct omap_hwmod omap2430_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap243x_gpio2_irqs,
-+	.mpu_irqs	= omap2_gpio2_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1564,11 +1476,6 @@ static struct omap_hwmod omap2430_gpio2_hwmod = {
- };
- 
- /* gpio3 */
--static struct omap_hwmod_irq_info omap243x_gpio3_irqs[] = {
--	{ .irq = 31 }, /* INT_24XX_GPIO_BANK3 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_gpio3_slaves[] = {
- 	&omap2430_l4_wkup__gpio3,
- };
-@@ -1576,7 +1483,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio3_slaves[] = {
- static struct omap_hwmod omap2430_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap243x_gpio3_irqs,
-+	.mpu_irqs	= omap2_gpio3_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1595,11 +1502,6 @@ static struct omap_hwmod omap2430_gpio3_hwmod = {
- };
- 
- /* gpio4 */
--static struct omap_hwmod_irq_info omap243x_gpio4_irqs[] = {
--	{ .irq = 32 }, /* INT_24XX_GPIO_BANK4 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_gpio4_slaves[] = {
- 	&omap2430_l4_wkup__gpio4,
- };
-@@ -1607,7 +1509,7 @@ static struct omap_hwmod_ocp_if *omap2430_gpio4_slaves[] = {
- static struct omap_hwmod omap2430_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap243x_gpio4_irqs,
-+	.mpu_irqs	= omap2_gpio4_irqs,
- 	.main_clk	= "gpios_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1680,14 +1582,6 @@ static struct omap_dma_dev_attr dma_dev_attr = {
- 	.lch_count = 32,
- };
- 
--static struct omap_hwmod_irq_info omap2430_dma_system_irqs[] = {
--	{ .name = "0", .irq = 12 }, /* INT_24XX_SDMA_IRQ0 */
--	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
--	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
--	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
--	{ .irq = -1 }
--};
--
- /* dma_system -> L3 */
- static struct omap_hwmod_ocp_if omap2430_dma_system__l3 = {
- 	.master		= &omap2430_dma_system_hwmod,
-@@ -1718,7 +1612,7 @@ static struct omap_hwmod_ocp_if *omap2430_dma_system_slaves[] = {
- static struct omap_hwmod omap2430_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap2430_dma_hwmod_class,
--	.mpu_irqs	= omap2430_dma_system_irqs,
-+	.mpu_irqs	= omap2_dma_system_irqs,
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2430_dma_system_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_dma_system_slaves),
-@@ -1813,11 +1707,6 @@ static struct omap_hwmod_class omap2430_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_irq_info omap2430_mcspi1_mpu_irqs[] = {
--	{ .irq = 65 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap2430_mcspi1_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
- 	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
-@@ -1839,7 +1728,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- 
- static struct omap_hwmod omap2430_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
--	.mpu_irqs	= omap2430_mcspi1_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap2430_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -1860,11 +1749,6 @@ static struct omap_hwmod omap2430_mcspi1_hwmod = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_irq_info omap2430_mcspi2_mpu_irqs[] = {
--	{ .irq = 66 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap2430_mcspi2_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
- 	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
-@@ -1882,7 +1766,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- 
- static struct omap_hwmod omap2430_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
--	.mpu_irqs	= omap2430_mcspi2_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap2430_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-new file mode 100644
-index 0000000..245294b
---- /dev/null
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-@@ -0,0 +1,142 @@
-+/*
-+ * omap_hwmod_2xxx_3xxx_ipblock_data.c - common IP block data for OMAP2/3
-+ *
-+ * Copyright (C) 2011 Nokia Corporation
-+ * Paul Walmsley
-+ *
-+ * 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 <plat/omap_hwmod.h>
-+#include <plat/serial.h>
-+
-+#include <mach/irqs.h>
-+
-+#include "omap_hwmod_common_data.h"
-+
-+struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[] = {
-+	{ .irq = 37, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer2_mpu_irqs[] = {
-+	{ .irq = 38, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer3_mpu_irqs[] = {
-+	{ .irq = 39, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer4_mpu_irqs[] = {
-+	{ .irq = 40, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer5_mpu_irqs[] = {
-+	{ .irq = 41, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer6_mpu_irqs[] = {
-+	{ .irq = 42, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer7_mpu_irqs[] = {
-+	{ .irq = 43, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer8_mpu_irqs[] = {
-+	{ .irq = 44, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer9_mpu_irqs[] = {
-+	{ .irq = 45, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer10_mpu_irqs[] = {
-+	{ .irq = 46, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_timer11_mpu_irqs[] = {
-+	{ .irq = 47, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[] = {
-+	{ .irq = INT_24XX_UART1_IRQ, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_uart2_mpu_irqs[] = {
-+	{ .irq = INT_24XX_UART2_IRQ, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_uart3_mpu_irqs[] = {
-+	{ .irq = INT_24XX_UART3_IRQ, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_dispc_irqs[] = {
-+	{ .irq = 25 },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_i2c1_mpu_irqs[] = {
-+	{ .irq = INT_24XX_I2C1_IRQ, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_i2c2_mpu_irqs[] = {
-+	{ .irq = INT_24XX_I2C2_IRQ, },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_gpio1_irqs[] = {
-+	{ .irq = 29 }, /* INT_24XX_GPIO_BANK1 */
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_gpio2_irqs[] = {
-+	{ .irq = 30 }, /* INT_24XX_GPIO_BANK2 */
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_gpio3_irqs[] = {
-+	{ .irq = 31 }, /* INT_24XX_GPIO_BANK3 */
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_gpio4_irqs[] = {
-+	{ .irq = 32 }, /* INT_24XX_GPIO_BANK4 */
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_dma_system_irqs[] = {
-+	{ .name = "0", .irq = 12 }, /* INT_24XX_SDMA_IRQ0 */
-+	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
-+	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
-+	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_mcspi1_mpu_irqs[] = {
-+	{ .irq = 65 },
-+	{ .irq = -1 }
-+};
-+
-+struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[] = {
-+	{ .irq = 66 },
-+	{ .irq = -1 }
-+};
-+
-+
-+
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-new file mode 100644
-index 0000000..5a078a6
---- /dev/null
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-@@ -0,0 +1,21 @@
-+/*
-+ * omap_hwmod_2xxx_ipblock_data.c - common IP block data for OMAP2xxx
-+ *
-+ * Copyright (C) 2011 Nokia Corporation
-+ * Paul Walmsley
-+ *
-+ * 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 <plat/omap_hwmod.h>
-+#include <plat/serial.h>
-+
-+#include <mach/irqs.h>
-+
-+#include "omap_hwmod_common_data.h"
-+
-+struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
-+	{ .irq = 48, },
-+	{ .irq = -1 }
-+};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index cc178b5..6bac4bb 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -151,7 +151,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_l3_main_masters[] = {
- static struct omap_hwmod omap3xxx_l3_main_hwmod = {
- 	.name		= "l3_main",
- 	.class		= &l3_hwmod_class,
--	.mpu_irqs       = omap3xxx_l3_main_irqs,
-+	.mpu_irqs	= omap3xxx_l3_main_irqs,
- 	.masters	= omap3xxx_l3_main_masters,
- 	.masters_cnt	= ARRAY_SIZE(omap3xxx_l3_main_masters),
- 	.slaves		= omap3xxx_l3_main_slaves,
-@@ -572,10 +572,6 @@ static struct omap_hwmod_class omap3xxx_timer_hwmod_class = {
- 
- /* timer1 */
- static struct omap_hwmod omap3xxx_timer1_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer1_mpu_irqs[] = {
--	{ .irq = 37, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer1_addrs[] = {
- 	{
-@@ -603,7 +599,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer1_slaves[] = {
- /* timer1 hwmod */
- static struct omap_hwmod omap3xxx_timer1_hwmod = {
- 	.name		= "timer1",
--	.mpu_irqs	= omap3xxx_timer1_mpu_irqs,
-+	.mpu_irqs	= omap2_timer1_mpu_irqs,
- 	.main_clk	= "gpt1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -622,10 +618,6 @@ static struct omap_hwmod omap3xxx_timer1_hwmod = {
- 
- /* timer2 */
- static struct omap_hwmod omap3xxx_timer2_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer2_mpu_irqs[] = {
--	{ .irq = 38, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer2_addrs[] = {
- 	{
-@@ -653,7 +645,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer2_slaves[] = {
- /* timer2 hwmod */
- static struct omap_hwmod omap3xxx_timer2_hwmod = {
- 	.name		= "timer2",
--	.mpu_irqs	= omap3xxx_timer2_mpu_irqs,
-+	.mpu_irqs	= omap2_timer2_mpu_irqs,
- 	.main_clk	= "gpt2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -672,10 +664,6 @@ static struct omap_hwmod omap3xxx_timer2_hwmod = {
- 
- /* timer3 */
- static struct omap_hwmod omap3xxx_timer3_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer3_mpu_irqs[] = {
--	{ .irq = 39, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer3_addrs[] = {
- 	{
-@@ -703,7 +691,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer3_slaves[] = {
- /* timer3 hwmod */
- static struct omap_hwmod omap3xxx_timer3_hwmod = {
- 	.name		= "timer3",
--	.mpu_irqs	= omap3xxx_timer3_mpu_irqs,
-+	.mpu_irqs	= omap2_timer3_mpu_irqs,
- 	.main_clk	= "gpt3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -722,10 +710,6 @@ static struct omap_hwmod omap3xxx_timer3_hwmod = {
- 
- /* timer4 */
- static struct omap_hwmod omap3xxx_timer4_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer4_mpu_irqs[] = {
--	{ .irq = 40, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer4_addrs[] = {
- 	{
-@@ -753,7 +737,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer4_slaves[] = {
- /* timer4 hwmod */
- static struct omap_hwmod omap3xxx_timer4_hwmod = {
- 	.name		= "timer4",
--	.mpu_irqs	= omap3xxx_timer4_mpu_irqs,
-+	.mpu_irqs	= omap2_timer4_mpu_irqs,
- 	.main_clk	= "gpt4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -772,10 +756,6 @@ static struct omap_hwmod omap3xxx_timer4_hwmod = {
- 
- /* timer5 */
- static struct omap_hwmod omap3xxx_timer5_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer5_mpu_irqs[] = {
--	{ .irq = 41, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer5_addrs[] = {
- 	{
-@@ -803,7 +783,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer5_slaves[] = {
- /* timer5 hwmod */
- static struct omap_hwmod omap3xxx_timer5_hwmod = {
- 	.name		= "timer5",
--	.mpu_irqs	= omap3xxx_timer5_mpu_irqs,
-+	.mpu_irqs	= omap2_timer5_mpu_irqs,
- 	.main_clk	= "gpt5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -822,10 +802,6 @@ static struct omap_hwmod omap3xxx_timer5_hwmod = {
- 
- /* timer6 */
- static struct omap_hwmod omap3xxx_timer6_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer6_mpu_irqs[] = {
--	{ .irq = 42, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer6_addrs[] = {
- 	{
-@@ -853,7 +829,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer6_slaves[] = {
- /* timer6 hwmod */
- static struct omap_hwmod omap3xxx_timer6_hwmod = {
- 	.name		= "timer6",
--	.mpu_irqs	= omap3xxx_timer6_mpu_irqs,
-+	.mpu_irqs	= omap2_timer6_mpu_irqs,
- 	.main_clk	= "gpt6_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -872,10 +848,6 @@ static struct omap_hwmod omap3xxx_timer6_hwmod = {
- 
- /* timer7 */
- static struct omap_hwmod omap3xxx_timer7_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer7_mpu_irqs[] = {
--	{ .irq = 43, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer7_addrs[] = {
- 	{
-@@ -903,7 +875,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer7_slaves[] = {
- /* timer7 hwmod */
- static struct omap_hwmod omap3xxx_timer7_hwmod = {
- 	.name		= "timer7",
--	.mpu_irqs	= omap3xxx_timer7_mpu_irqs,
-+	.mpu_irqs	= omap2_timer7_mpu_irqs,
- 	.main_clk	= "gpt7_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -922,10 +894,6 @@ static struct omap_hwmod omap3xxx_timer7_hwmod = {
- 
- /* timer8 */
- static struct omap_hwmod omap3xxx_timer8_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer8_mpu_irqs[] = {
--	{ .irq = 44, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer8_addrs[] = {
- 	{
-@@ -953,7 +921,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer8_slaves[] = {
- /* timer8 hwmod */
- static struct omap_hwmod omap3xxx_timer8_hwmod = {
- 	.name		= "timer8",
--	.mpu_irqs	= omap3xxx_timer8_mpu_irqs,
-+	.mpu_irqs	= omap2_timer8_mpu_irqs,
- 	.main_clk	= "gpt8_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -972,10 +940,6 @@ static struct omap_hwmod omap3xxx_timer8_hwmod = {
- 
- /* timer9 */
- static struct omap_hwmod omap3xxx_timer9_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer9_mpu_irqs[] = {
--	{ .irq = 45, },
--	{ .irq = -1 }
--};
- 
- static struct omap_hwmod_addr_space omap3xxx_timer9_addrs[] = {
- 	{
-@@ -1003,7 +967,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer9_slaves[] = {
- /* timer9 hwmod */
- static struct omap_hwmod omap3xxx_timer9_hwmod = {
- 	.name		= "timer9",
--	.mpu_irqs	= omap3xxx_timer9_mpu_irqs,
-+	.mpu_irqs	= omap2_timer9_mpu_irqs,
- 	.main_clk	= "gpt9_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1022,10 +986,6 @@ static struct omap_hwmod omap3xxx_timer9_hwmod = {
- 
- /* timer10 */
- static struct omap_hwmod omap3xxx_timer10_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer10_mpu_irqs[] = {
--	{ .irq = 46, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer10 */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer10 = {
-@@ -1044,7 +1004,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer10_slaves[] = {
- /* timer10 hwmod */
- static struct omap_hwmod omap3xxx_timer10_hwmod = {
- 	.name		= "timer10",
--	.mpu_irqs	= omap3xxx_timer10_mpu_irqs,
-+	.mpu_irqs	= omap2_timer10_mpu_irqs,
- 	.main_clk	= "gpt10_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1063,10 +1023,6 @@ static struct omap_hwmod omap3xxx_timer10_hwmod = {
- 
- /* timer11 */
- static struct omap_hwmod omap3xxx_timer11_hwmod;
--static struct omap_hwmod_irq_info omap3xxx_timer11_mpu_irqs[] = {
--	{ .irq = 47, },
--	{ .irq = -1 }
--};
- 
- /* l4_core -> timer11 */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__timer11 = {
-@@ -1085,7 +1041,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_timer11_slaves[] = {
- /* timer11 hwmod */
- static struct omap_hwmod omap3xxx_timer11_hwmod = {
- 	.name		= "timer11",
--	.mpu_irqs	= omap3xxx_timer11_mpu_irqs,
-+	.mpu_irqs	= omap2_timer11_mpu_irqs,
- 	.main_clk	= "gpt11_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1254,11 +1210,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_irq_info uart1_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
-@@ -1270,7 +1221,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 	.name		= "uart1",
--	.mpu_irqs	= uart1_mpu_irqs,
-+	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
-@@ -1291,11 +1242,6 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_irq_info uart2_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
-@@ -1307,7 +1253,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 	.name		= "uart2",
--	.mpu_irqs	= uart2_mpu_irqs,
-+	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
-@@ -1328,11 +1274,6 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_irq_info uart3_mpu_irqs[] = {
--	{ .irq = INT_24XX_UART3_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
-@@ -1344,7 +1285,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 	.name		= "uart3",
--	.mpu_irqs	= uart3_mpu_irqs,
-+	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
-@@ -1555,11 +1496,6 @@ static struct omap_hwmod_class omap3xxx_dispc_hwmod_class = {
- 	.sysc = &omap3xxx_dispc_sysc,
- };
- 
--static struct omap_hwmod_irq_info omap3xxx_dispc_irqs[] = {
--	{ .irq = 25 },
--	{ .irq = -1 }
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dispc = {
- 	.master		= &omap3xxx_l4_core_hwmod,
-@@ -1584,7 +1520,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_dispc_slaves[] = {
- static struct omap_hwmod omap3xxx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap3xxx_dispc_hwmod_class,
--	.mpu_irqs	= omap3xxx_dispc_irqs,
-+	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1781,11 +1717,6 @@ static struct omap_i2c_dev_attr i2c1_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
- };
- 
--static struct omap_hwmod_irq_info i2c1_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C1_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-@@ -1797,7 +1728,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 	.name		= "i2c1",
--	.mpu_irqs	= i2c1_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
-@@ -1823,11 +1754,6 @@ static struct omap_i2c_dev_attr i2c2_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
- };
- 
--static struct omap_hwmod_irq_info i2c2_mpu_irqs[] = {
--	{ .irq = INT_24XX_I2C2_IRQ, },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-@@ -1839,7 +1765,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 	.name		= "i2c2",
--	.mpu_irqs	= i2c2_mpu_irqs,
-+	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
-@@ -2032,11 +1958,6 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
- };
- 
- /* gpio1 */
--static struct omap_hwmod_irq_info omap3xxx_gpio1_irqs[] = {
--	{ .irq = 29 }, /* INT_34XX_GPIO_BANK1 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {
- 	{ .role = "dbclk", .clk = "gpio1_dbck", },
- };
-@@ -2048,7 +1969,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio1_slaves[] = {
- static struct omap_hwmod omap3xxx_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap3xxx_gpio1_irqs,
-+	.mpu_irqs	= omap2_gpio1_irqs,
- 	.main_clk	= "gpio1_ick",
- 	.opt_clks	= gpio1_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio1_opt_clks),
-@@ -2069,11 +1990,6 @@ static struct omap_hwmod omap3xxx_gpio1_hwmod = {
- };
- 
- /* gpio2 */
--static struct omap_hwmod_irq_info omap3xxx_gpio2_irqs[] = {
--	{ .irq = 30 }, /* INT_34XX_GPIO_BANK2 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_opt_clk gpio2_opt_clks[] = {
- 	{ .role = "dbclk", .clk = "gpio2_dbck", },
- };
-@@ -2085,7 +2001,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio2_slaves[] = {
- static struct omap_hwmod omap3xxx_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap3xxx_gpio2_irqs,
-+	.mpu_irqs	= omap2_gpio2_irqs,
- 	.main_clk	= "gpio2_ick",
- 	.opt_clks	= gpio2_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio2_opt_clks),
-@@ -2106,11 +2022,6 @@ static struct omap_hwmod omap3xxx_gpio2_hwmod = {
- };
- 
- /* gpio3 */
--static struct omap_hwmod_irq_info omap3xxx_gpio3_irqs[] = {
--	{ .irq = 31 }, /* INT_34XX_GPIO_BANK3 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_opt_clk gpio3_opt_clks[] = {
- 	{ .role = "dbclk", .clk = "gpio3_dbck", },
- };
-@@ -2122,7 +2033,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio3_slaves[] = {
- static struct omap_hwmod omap3xxx_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap3xxx_gpio3_irqs,
-+	.mpu_irqs	= omap2_gpio3_irqs,
- 	.main_clk	= "gpio3_ick",
- 	.opt_clks	= gpio3_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio3_opt_clks),
-@@ -2143,11 +2054,6 @@ static struct omap_hwmod omap3xxx_gpio3_hwmod = {
- };
- 
- /* gpio4 */
--static struct omap_hwmod_irq_info omap3xxx_gpio4_irqs[] = {
--	{ .irq = 32 }, /* INT_34XX_GPIO_BANK4 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_opt_clk gpio4_opt_clks[] = {
- 	{ .role = "dbclk", .clk = "gpio4_dbck", },
- };
-@@ -2159,7 +2065,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_gpio4_slaves[] = {
- static struct omap_hwmod omap3xxx_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
--	.mpu_irqs	= omap3xxx_gpio4_irqs,
-+	.mpu_irqs	= omap2_gpio4_irqs,
- 	.main_clk	= "gpio4_ick",
- 	.opt_clks	= gpio4_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(gpio4_opt_clks),
-@@ -2287,14 +2193,6 @@ static struct omap_hwmod_class omap3xxx_dma_hwmod_class = {
- };
- 
- /* dma_system */
--static struct omap_hwmod_irq_info omap3xxx_dma_system_irqs[] = {
--	{ .name = "0", .irq = 12 }, /* INT_24XX_SDMA_IRQ0 */
--	{ .name = "1", .irq = 13 }, /* INT_24XX_SDMA_IRQ1 */
--	{ .name = "2", .irq = 14 }, /* INT_24XX_SDMA_IRQ2 */
--	{ .name = "3", .irq = 15 }, /* INT_24XX_SDMA_IRQ3 */
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_addr_space omap3xxx_dma_system_addrs[] = {
- 	{
- 		.pa_start	= 0x48056000,
-@@ -2326,7 +2224,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dma_system_slaves[] = {
- static struct omap_hwmod omap3xxx_dma_system_hwmod = {
- 	.name		= "dma",
- 	.class		= &omap3xxx_dma_hwmod_class,
--	.mpu_irqs	= omap3xxx_dma_system_irqs,
-+	.mpu_irqs	= omap2_dma_system_irqs,
- 	.main_clk	= "core_l3_ick",
- 	.prcm = {
- 		.omap2 = {
-@@ -3044,11 +2942,6 @@ static struct omap_hwmod_class omap34xx_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_irq_info omap34xx_mcspi1_mpu_irqs[] = {
--	{ .name = "irq", .irq = 65 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap34xx_mcspi1_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 35 },
- 	{ .name = "rx0", .dma_req = 36 },
-@@ -3070,7 +2963,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- 
- static struct omap_hwmod omap34xx_mcspi1 = {
- 	.name		= "mcspi1",
--	.mpu_irqs	= omap34xx_mcspi1_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi1_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
-@@ -3091,11 +2984,6 @@ static struct omap_hwmod omap34xx_mcspi1 = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_irq_info omap34xx_mcspi2_mpu_irqs[] = {
--	{ .name = "irq", .irq = 66 },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_dma_info omap34xx_mcspi2_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 43 },
- 	{ .name = "rx0", .dma_req = 44 },
-@@ -3113,7 +3001,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- 
- static struct omap_hwmod omap34xx_mcspi2 = {
- 	.name		= "mcspi2",
--	.mpu_irqs	= omap34xx_mcspi2_mpu_irqs,
-+	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi2_sdma_reqs,
- 	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-index 76a2f11..1ac878c 100644
---- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
-+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-@@ -49,6 +49,35 @@ extern struct omap_hwmod_addr_space omap2_dma_system_addrs[];
- extern struct omap_hwmod_addr_space omap2_mailbox_addrs[];
- extern struct omap_hwmod_addr_space omap2_mcbsp1_addrs[];
- 
-+/* Common IP block data across OMAP2xxx */
-+extern struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[];
-+
-+/* Common IP block data across OMAP2/3 */
-+extern struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer2_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer3_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer4_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer5_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer6_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer7_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer8_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer9_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer10_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_timer11_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_uart1_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_uart2_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_uart3_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_dispc_irqs[];
-+extern struct omap_hwmod_irq_info omap2_i2c1_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_i2c2_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_gpio1_irqs[];
-+extern struct omap_hwmod_irq_info omap2_gpio2_irqs[];
-+extern struct omap_hwmod_irq_info omap2_gpio3_irqs[];
-+extern struct omap_hwmod_irq_info omap2_gpio4_irqs[];
-+extern struct omap_hwmod_irq_info omap2_dma_system_irqs[];
-+extern struct omap_hwmod_irq_info omap2_mcspi1_mpu_irqs[];
-+extern struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[];
-+
- /* OMAP hwmod classes - forward declarations */
- extern struct omap_hwmod_class l3_hwmod_class;
- extern struct omap_hwmod_class l4_hwmod_class;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0041-omap_hwmod-use-a-terminator-record-with-omap_hwmod_d.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0041-omap_hwmod-use-a-terminator-record-with-omap_hwmod_d.patch
deleted file mode 100644
index b1722a2..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0041-omap_hwmod-use-a-terminator-record-with-omap_hwmod_d.patch
+++ /dev/null
@@ -1,1382 +0,0 @@
-From e890f701dbd58ecb9377097e1a565e34cbf73e4b Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:07 -0600
-Subject: [PATCH 041/149] omap_hwmod: use a terminator record with omap_hwmod_dma_info arrays
-
-Previously, struct omap_hwmod_dma_info arrays were unterminated; and
-users of these arrays used the ARRAY_SIZE() macro to determine the
-length of the array.  However, ARRAY_SIZE() only works when the array
-is in the same scope as the macro user.
-
-So far this hasn't been a problem.  However, to reduce duplicated
-data, a subsequent patch will move common data to a separate, shared
-file.  When this is done, ARRAY_SIZE() will no longer be usable.
-
-This patch removes ARRAY_SIZE() usage for struct omap_hwmod_dma_info
-arrays and uses a sentinel value (irq == -1) as the array terminator
-instead.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   30 ++++++++++++-
- arch/arm/mach-omap2/omap_hwmod_2420_data.c   |   20 ++++----
- arch/arm/mach-omap2/omap_hwmod_2430_data.c   |   32 +++++++-------
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c   |   43 +++++++++----------
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   60 +++++++++++++-------------
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    8 +--
- 6 files changed, 106 insertions(+), 87 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index b761968..7d242c9 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -702,6 +702,29 @@ static int _count_mpu_irqs(struct omap_hwmod *oh)
- }
- 
- /**
-+ * _count_sdma_reqs - count the number of SDMA request lines associated with @oh
-+ * @oh: struct omap_hwmod *oh
-+ *
-+ * Count and return the number of SDMA request lines associated with
-+ * the hwmod @oh.  Used to allocate struct resource data.  Returns 0
-+ * if @oh is NULL.
-+ */
-+static int _count_sdma_reqs(struct omap_hwmod *oh)
-+{
-+	struct omap_hwmod_dma_info *ohdi;
-+	int i = 0;
-+
-+	if (!oh || !oh->sdma_reqs)
-+		return 0;
-+
-+	do {
-+		ohdi = &oh->sdma_reqs[i++];
-+	} while (ohdi->dma_req != -1);
-+
-+	return i;
-+}
-+
-+/**
-  * _count_ocp_if_addr_spaces - count the number of address space entries for @oh
-  * @oh: struct omap_hwmod *oh
-  *
-@@ -2007,7 +2030,7 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh)
- {
- 	int ret, i;
- 
--	ret = _count_mpu_irqs(oh) + oh->sdma_reqs_cnt;
-+	ret = _count_mpu_irqs(oh) + _count_sdma_reqs(oh);
- 
- 	for (i = 0; i < oh->slaves_cnt; i++)
- 		ret += _count_ocp_if_addr_spaces(oh->slaves[i]);
-@@ -2027,7 +2050,7 @@ int omap_hwmod_count_resources(struct omap_hwmod *oh)
-  */
- int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res)
- {
--	int i, j, mpu_irqs_cnt;
-+	int i, j, mpu_irqs_cnt, sdma_reqs_cnt;
- 	int r = 0;
- 
- 	/* For each IRQ, DMA, memory area, fill in array.*/
-@@ -2041,7 +2064,8 @@ int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res)
- 		r++;
- 	}
- 
--	for (i = 0; i < oh->sdma_reqs_cnt; i++) {
-+	sdma_reqs_cnt = _count_sdma_reqs(oh);
-+	for (i = 0; i < sdma_reqs_cnt; i++) {
- 		(res + r)->name = (oh->sdma_reqs + i)->name;
- 		(res + r)->start = (oh->sdma_reqs + i)->dma_req;
- 		(res + r)->end = (oh->sdma_reqs + i)->dma_req;
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 73157ee..60c817e 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -831,6 +831,7 @@ static struct omap_hwmod_class uart_class = {
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
-@@ -841,7 +842,6 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -863,6 +863,7 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_uart2_slaves[] = {
-@@ -873,7 +874,6 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -895,6 +895,7 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_uart3_slaves[] = {
-@@ -905,7 +906,6 @@ static struct omap_hwmod omap2420_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -942,6 +942,7 @@ static struct omap_hwmod_class omap2420_dss_hwmod_class = {
- 
- static struct omap_hwmod_dma_info omap2420_dss_sdma_chs[] = {
- 	{ .name = "dispc", .dma_req = 5 },
-+	{ .dma_req = -1 }
- };
- 
- /* dss */
-@@ -980,7 +981,6 @@ static struct omap_hwmod omap2420_dss_core_hwmod = {
- 	.class		= &omap2420_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap2420_dss_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_dss_sdma_chs),
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1186,6 +1186,7 @@ static struct omap_i2c_dev_attr i2c_dev_attr;
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_i2c1_slaves[] = {
-@@ -1196,7 +1197,6 @@ static struct omap_hwmod omap2420_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1220,6 +1220,7 @@ static struct omap_hwmod omap2420_i2c1_hwmod = {
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_i2c2_slaves[] = {
-@@ -1230,7 +1231,6 @@ static struct omap_hwmod omap2420_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1611,6 +1611,7 @@ static struct omap_hwmod_dma_info omap2420_mcspi1_sdma_reqs[] = {
- 	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
- 	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
- 	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_mcspi1_slaves[] = {
-@@ -1625,7 +1626,6 @@ static struct omap_hwmod omap2420_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap2420_mcspi1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1649,6 +1649,7 @@ static struct omap_hwmod_dma_info omap2420_mcspi2_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
- 	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
- 	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2420_mcspi2_slaves[] = {
-@@ -1663,7 +1664,6 @@ static struct omap_hwmod omap2420_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap2420_mcspi2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1700,6 +1700,7 @@ static struct omap_hwmod_irq_info omap2420_mcbsp1_irqs[] = {
- static struct omap_hwmod_dma_info omap2420_mcbsp1_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 32 },
- 	{ .name = "tx", .dma_req = 31 },
-+	{ .dma_req = -1 }
- };
- 
- /* l4_core -> mcbsp1 */
-@@ -1721,7 +1722,6 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod = {
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp1_irqs,
- 	.sdma_reqs	= omap2420_mcbsp1_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1747,6 +1747,7 @@ static struct omap_hwmod_irq_info omap2420_mcbsp2_irqs[] = {
- static struct omap_hwmod_dma_info omap2420_mcbsp2_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 34 },
- 	{ .name = "tx", .dma_req = 33 },
-+	{ .dma_req = -1 }
- };
- 
- /* l4_core -> mcbsp2 */
-@@ -1768,7 +1769,6 @@ static struct omap_hwmod omap2420_mcbsp2_hwmod = {
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp2_irqs,
- 	.sdma_reqs	= omap2420_mcbsp2_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2420_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 62ecc68..af758b3 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -903,6 +903,7 @@ static struct omap_hwmod_class uart_class = {
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
-@@ -913,7 +914,6 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -935,6 +935,7 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_uart2_slaves[] = {
-@@ -945,7 +946,6 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -967,6 +967,7 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_uart3_slaves[] = {
-@@ -977,7 +978,6 @@ static struct omap_hwmod omap2430_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1014,6 +1014,7 @@ static struct omap_hwmod_class omap2430_dss_hwmod_class = {
- 
- static struct omap_hwmod_dma_info omap2430_dss_sdma_chs[] = {
- 	{ .name = "dispc", .dma_req = 5 },
-+	{ .dma_req = -1 }
- };
- 
- /* dss */
-@@ -1046,7 +1047,6 @@ static struct omap_hwmod omap2430_dss_core_hwmod = {
- 	.class		= &omap2430_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap2430_dss_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_dss_sdma_chs),
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1237,6 +1237,7 @@ static struct omap_i2c_dev_attr i2c_dev_attr = {
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
-@@ -1247,7 +1248,6 @@ static struct omap_hwmod omap2430_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2chs1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1278,6 +1278,7 @@ static struct omap_hwmod omap2430_i2c1_hwmod = {
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
-@@ -1288,7 +1289,6 @@ static struct omap_hwmod omap2430_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2chs2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1716,6 +1716,7 @@ static struct omap_hwmod_dma_info omap2430_mcspi1_sdma_reqs[] = {
- 	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
- 	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
- 	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_mcspi1_slaves[] = {
-@@ -1730,7 +1731,6 @@ static struct omap_hwmod omap2430_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap2430_mcspi1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1754,6 +1754,7 @@ static struct omap_hwmod_dma_info omap2430_mcspi2_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
- 	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
- 	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_mcspi2_slaves[] = {
-@@ -1768,7 +1769,6 @@ static struct omap_hwmod omap2430_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap2430_mcspi2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1797,6 +1797,7 @@ static struct omap_hwmod_dma_info omap2430_mcspi3_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 16 }, /* DMA_SPI3_RX0 */
- 	{ .name = "tx1", .dma_req = 23 }, /* DMA_SPI3_TX1 */
- 	{ .name = "rx1", .dma_req = 24 }, /* DMA_SPI3_RX1 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap2430_mcspi3_slaves[] = {
-@@ -1811,7 +1812,6 @@ static struct omap_hwmod omap2430_mcspi3_hwmod = {
- 	.name		= "mcspi3_hwmod",
- 	.mpu_irqs	= omap2430_mcspi3_mpu_irqs,
- 	.sdma_reqs	= omap2430_mcspi3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1915,6 +1915,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp1_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mcbsp1_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 32 },
- 	{ .name = "tx", .dma_req = 31 },
-+	{ .dma_req = -1 }
- };
- 
- /* l4_core -> mcbsp1 */
-@@ -1936,7 +1937,6 @@ static struct omap_hwmod omap2430_mcbsp1_hwmod = {
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp1_irqs,
- 	.sdma_reqs	= omap2430_mcbsp1_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1963,6 +1963,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp2_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mcbsp2_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 34 },
- 	{ .name = "tx", .dma_req = 33 },
-+	{ .dma_req = -1 }
- };
- 
- /* l4_core -> mcbsp2 */
-@@ -1984,7 +1985,6 @@ static struct omap_hwmod omap2430_mcbsp2_hwmod = {
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp2_irqs,
- 	.sdma_reqs	= omap2430_mcbsp2_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2011,6 +2011,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp3_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mcbsp3_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 18 },
- 	{ .name = "tx", .dma_req = 17 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap2430_mcbsp3_addrs[] = {
-@@ -2042,7 +2043,6 @@ static struct omap_hwmod omap2430_mcbsp3_hwmod = {
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp3_irqs,
- 	.sdma_reqs	= omap2430_mcbsp3_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp3_sdma_chs),
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2069,6 +2069,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp4_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mcbsp4_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 20 },
- 	{ .name = "tx", .dma_req = 19 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap2430_mcbsp4_addrs[] = {
-@@ -2100,7 +2101,6 @@ static struct omap_hwmod omap2430_mcbsp4_hwmod = {
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp4_irqs,
- 	.sdma_reqs	= omap2430_mcbsp4_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp4_sdma_chs),
- 	.main_clk	= "mcbsp4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2127,6 +2127,7 @@ static struct omap_hwmod_irq_info omap2430_mcbsp5_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mcbsp5_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 22 },
- 	{ .name = "tx", .dma_req = 21 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap2430_mcbsp5_addrs[] = {
-@@ -2158,7 +2159,6 @@ static struct omap_hwmod omap2430_mcbsp5_hwmod = {
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp5_irqs,
- 	.sdma_reqs	= omap2430_mcbsp5_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mcbsp5_sdma_chs),
- 	.main_clk	= "mcbsp5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2202,6 +2202,7 @@ static struct omap_hwmod_irq_info omap2430_mmc1_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mmc1_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = 61 }, /* DMA_MMC1_TX */
- 	{ .name = "rx",	.dma_req = 62 }, /* DMA_MMC1_RX */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_opt_clk omap2430_mmc1_opt_clks[] = {
-@@ -2221,7 +2222,6 @@ static struct omap_hwmod omap2430_mmc1_hwmod = {
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap2430_mmc1_mpu_irqs,
- 	.sdma_reqs	= omap2430_mmc1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mmc1_sdma_reqs),
- 	.opt_clks	= omap2430_mmc1_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(omap2430_mmc1_opt_clks),
- 	.main_clk	= "mmchs1_fck",
-@@ -2251,6 +2251,7 @@ static struct omap_hwmod_irq_info omap2430_mmc2_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap2430_mmc2_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = 47 }, /* DMA_MMC2_TX */
- 	{ .name = "rx",	.dma_req = 48 }, /* DMA_MMC2_RX */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_opt_clk omap2430_mmc2_opt_clks[] = {
-@@ -2266,7 +2267,6 @@ static struct omap_hwmod omap2430_mmc2_hwmod = {
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap2430_mmc2_mpu_irqs,
- 	.sdma_reqs	= omap2430_mmc2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap2430_mmc2_sdma_reqs),
- 	.opt_clks	= omap2430_mmc2_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(omap2430_mmc2_opt_clks),
- 	.main_clk	= "mmchs2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 6bac4bb..265f0b1 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1213,6 +1213,7 @@ static struct omap_hwmod_class uart_class = {
- static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
-@@ -1223,7 +1224,6 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
- 	.sdma_reqs	= uart1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1245,6 +1245,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {
-@@ -1255,7 +1256,6 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
- 	.sdma_reqs	= uart2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1277,6 +1277,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
- 	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {
-@@ -1287,7 +1288,6 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
- 	.sdma_reqs	= uart3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1314,6 +1314,7 @@ static struct omap_hwmod_irq_info uart4_mpu_irqs[] = {
- static struct omap_hwmod_dma_info uart4_sdma_reqs[] = {
- 	{ .name = "rx",	.dma_req = OMAP36XX_DMA_UART4_RX, },
- 	{ .name = "tx",	.dma_req = OMAP36XX_DMA_UART4_TX, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_uart4_slaves[] = {
-@@ -1324,7 +1325,6 @@ static struct omap_hwmod omap3xxx_uart4_hwmod = {
- 	.name		= "uart4",
- 	.mpu_irqs	= uart4_mpu_irqs,
- 	.sdma_reqs	= uart4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(uart4_sdma_reqs),
- 	.main_clk	= "uart4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1367,6 +1367,7 @@ static struct omap_hwmod_class omap3xxx_dss_hwmod_class = {
- static struct omap_hwmod_dma_info omap3xxx_dss_sdma_chs[] = {
- 	{ .name = "dispc", .dma_req = 5 },
- 	{ .name = "dsi1", .dma_req = 74 },
-+	{ .dma_req = -1 }
- };
- 
- /* dss */
-@@ -1426,8 +1427,6 @@ static struct omap_hwmod omap3430es1_dss_core_hwmod = {
- 	.class		= &omap3xxx_dss_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap3xxx_dss_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_dss_sdma_chs),
--
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1452,8 +1451,6 @@ static struct omap_hwmod omap3xxx_dss_core_hwmod = {
- 	.class		= &omap3xxx_dss_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap3xxx_dss_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_dss_sdma_chs),
--
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1720,6 +1717,7 @@ static struct omap_i2c_dev_attr i2c1_dev_attr = {
- static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
-@@ -1730,7 +1728,6 @@ static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= i2c1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1757,6 +1754,7 @@ static struct omap_i2c_dev_attr i2c2_dev_attr = {
- static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
- 	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
-@@ -1767,7 +1765,6 @@ static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= i2c2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1799,6 +1796,7 @@ static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
- static struct omap_hwmod_dma_info i2c3_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = OMAP34XX_DMA_I2C3_TX },
- 	{ .name = "rx", .dma_req = OMAP34XX_DMA_I2C3_RX },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_i2c3_slaves[] = {
-@@ -1809,7 +1807,6 @@ static struct omap_hwmod omap3xxx_i2c3_hwmod = {
- 	.name		= "i2c3",
- 	.mpu_irqs	= i2c3_mpu_irqs,
- 	.sdma_reqs	= i2c3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(i2c3_sdma_reqs),
- 	.main_clk	= "i2c3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2275,6 +2272,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp1_irqs[] = {
- static struct omap_hwmod_dma_info omap3xxx_mcbsp1_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 32 },
- 	{ .name = "tx", .dma_req = 31 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp1_addrs[] = {
-@@ -2306,7 +2304,6 @@ static struct omap_hwmod omap3xxx_mcbsp1_hwmod = {
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp1_irqs,
- 	.sdma_reqs	= omap3xxx_mcbsp1_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp1_sdma_chs),
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2333,6 +2330,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp2_irqs[] = {
- static struct omap_hwmod_dma_info omap3xxx_mcbsp2_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 34 },
- 	{ .name = "tx", .dma_req = 33 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp2_addrs[] = {
-@@ -2369,7 +2367,6 @@ static struct omap_hwmod omap3xxx_mcbsp2_hwmod = {
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp2_irqs,
- 	.sdma_reqs	= omap3xxx_mcbsp2_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp2_sdma_chs),
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2397,6 +2394,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp3_irqs[] = {
- static struct omap_hwmod_dma_info omap3xxx_mcbsp3_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 18 },
- 	{ .name = "tx", .dma_req = 17 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp3_addrs[] = {
-@@ -2432,7 +2430,6 @@ static struct omap_hwmod omap3xxx_mcbsp3_hwmod = {
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp3_irqs,
- 	.sdma_reqs	= omap3xxx_mcbsp3_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp3_sdma_chs),
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2460,6 +2457,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp4_irqs[] = {
- static struct omap_hwmod_dma_info omap3xxx_mcbsp4_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 20 },
- 	{ .name = "tx", .dma_req = 19 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp4_addrs[] = {
-@@ -2491,7 +2489,6 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod = {
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp4_irqs,
- 	.sdma_reqs	= omap3xxx_mcbsp4_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp4_sdma_chs),
- 	.main_clk	= "mcbsp4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2518,6 +2515,7 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp5_irqs[] = {
- static struct omap_hwmod_dma_info omap3xxx_mcbsp5_sdma_chs[] = {
- 	{ .name = "rx", .dma_req = 22 },
- 	{ .name = "tx", .dma_req = 21 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap3xxx_mcbsp5_addrs[] = {
-@@ -2549,7 +2547,6 @@ static struct omap_hwmod omap3xxx_mcbsp5_hwmod = {
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp5_irqs,
- 	.sdma_reqs	= omap3xxx_mcbsp5_sdma_chs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap3xxx_mcbsp5_sdma_chs),
- 	.main_clk	= "mcbsp5_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2951,6 +2948,7 @@ static struct omap_hwmod_dma_info omap34xx_mcspi1_sdma_reqs[] = {
- 	{ .name = "rx2", .dma_req = 40 },
- 	{ .name = "tx3", .dma_req = 41 },
- 	{ .name = "rx3", .dma_req = 42 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap34xx_mcspi1_slaves[] = {
-@@ -2965,7 +2963,6 @@ static struct omap_hwmod omap34xx_mcspi1 = {
- 	.name		= "mcspi1",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2989,6 +2986,7 @@ static struct omap_hwmod_dma_info omap34xx_mcspi2_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 44 },
- 	{ .name = "tx1", .dma_req = 45 },
- 	{ .name = "rx1", .dma_req = 46 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap34xx_mcspi2_slaves[] = {
-@@ -3003,7 +3001,6 @@ static struct omap_hwmod omap34xx_mcspi2 = {
- 	.name		= "mcspi2",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -3032,6 +3029,7 @@ static struct omap_hwmod_dma_info omap34xx_mcspi3_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 16 },
- 	{ .name = "tx1", .dma_req = 23 },
- 	{ .name = "rx1", .dma_req = 24 },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap34xx_mcspi3_slaves[] = {
-@@ -3046,7 +3044,6 @@ static struct omap_hwmod omap34xx_mcspi3 = {
- 	.name		= "mcspi3",
- 	.mpu_irqs	= omap34xx_mcspi3_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -3073,6 +3070,7 @@ static struct omap_hwmod_irq_info omap34xx_mcspi4_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap34xx_mcspi4_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 70 }, /* DMA_SPI4_TX0 */
- 	{ .name = "rx0", .dma_req = 71 }, /* DMA_SPI4_RX0 */
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_ocp_if *omap34xx_mcspi4_slaves[] = {
-@@ -3087,7 +3085,6 @@ static struct omap_hwmod omap34xx_mcspi4 = {
- 	.name		= "mcspi4",
- 	.mpu_irqs	= omap34xx_mcspi4_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mcspi4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mcspi4_sdma_reqs),
- 	.main_clk	= "mcspi4_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -3218,6 +3215,7 @@ static struct omap_hwmod_irq_info omap34xx_mmc1_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap34xx_mmc1_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = 61, },
- 	{ .name = "rx",	.dma_req = 62, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_opt_clk omap34xx_mmc1_opt_clks[] = {
-@@ -3236,7 +3234,6 @@ static struct omap_hwmod omap3xxx_mmc1_hwmod = {
- 	.name		= "mmc1",
- 	.mpu_irqs	= omap34xx_mmc1_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mmc1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc1_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc1_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc1_opt_clks),
- 	.main_clk	= "mmchs1_fck",
-@@ -3266,6 +3263,7 @@ static struct omap_hwmod_irq_info omap34xx_mmc2_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap34xx_mmc2_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = 47, },
- 	{ .name = "rx",	.dma_req = 48, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_opt_clk omap34xx_mmc2_opt_clks[] = {
-@@ -3280,7 +3278,6 @@ static struct omap_hwmod omap3xxx_mmc2_hwmod = {
- 	.name		= "mmc2",
- 	.mpu_irqs	= omap34xx_mmc2_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mmc2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc2_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc2_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc2_opt_clks),
- 	.main_clk	= "mmchs2_fck",
-@@ -3309,6 +3306,7 @@ static struct omap_hwmod_irq_info omap34xx_mmc3_mpu_irqs[] = {
- static struct omap_hwmod_dma_info omap34xx_mmc3_sdma_reqs[] = {
- 	{ .name = "tx",	.dma_req = 77, },
- 	{ .name = "rx",	.dma_req = 78, },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_opt_clk omap34xx_mmc3_opt_clks[] = {
-@@ -3323,7 +3321,6 @@ static struct omap_hwmod omap3xxx_mmc3_hwmod = {
- 	.name		= "mmc3",
- 	.mpu_irqs	= omap34xx_mmc3_mpu_irqs,
- 	.sdma_reqs	= omap34xx_mmc3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap34xx_mmc3_sdma_reqs),
- 	.opt_clks	= omap34xx_mmc3_opt_clks,
- 	.opt_clks_cnt	= ARRAY_SIZE(omap34xx_mmc3_opt_clks),
- 	.main_clk	= "mmchs3_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index f7ff937..316e922 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -685,6 +685,7 @@ static struct omap_hwmod_dma_info omap44xx_aess_sdma_reqs[] = {
- 	{ .name = "fifo5", .dma_req = 105 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "fifo6", .dma_req = 106 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "fifo7", .dma_req = 107 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- /* aess master ports */
-@@ -739,7 +740,6 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.class		= &omap44xx_aess_hwmod_class,
- 	.mpu_irqs	= omap44xx_aess_irqs,
- 	.sdma_reqs	= omap44xx_aess_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_aess_sdma_reqs),
- 	.main_clk	= "aess_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -954,6 +954,7 @@ static struct omap_hwmod_irq_info omap44xx_dmic_irqs[] = {
- 
- static struct omap_hwmod_dma_info omap44xx_dmic_sdma_reqs[] = {
- 	{ .dma_req = 66 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dmic_addrs[] = {
-@@ -1003,7 +1004,6 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.class		= &omap44xx_dmic_hwmod_class,
- 	.mpu_irqs	= omap44xx_dmic_irqs,
- 	.sdma_reqs	= omap44xx_dmic_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dmic_sdma_reqs),
- 	.main_clk	= "dmic_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -1221,6 +1221,7 @@ static struct omap_hwmod_irq_info omap44xx_dss_dispc_irqs[] = {
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dispc_sdma_reqs[] = {
- 	{ .dma_req = 5 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {
-@@ -1270,7 +1271,6 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.class		= &omap44xx_dispc_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
- 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_sdma_reqs),
- 	.main_clk	= "dss_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -1312,6 +1312,7 @@ static struct omap_hwmod_irq_info omap44xx_dss_dsi1_irqs[] = {
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dsi1_sdma_reqs[] = {
- 	{ .dma_req = 74 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {
-@@ -1361,7 +1362,6 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi1_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_sdma_reqs),
- 	.main_clk	= "dss_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -1382,6 +1382,7 @@ static struct omap_hwmod_irq_info omap44xx_dss_dsi2_irqs[] = {
- 
- static struct omap_hwmod_dma_info omap44xx_dss_dsi2_sdma_reqs[] = {
- 	{ .dma_req = 83 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {
-@@ -1431,7 +1432,6 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi2_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_sdma_reqs),
- 	.main_clk	= "dss_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -1472,6 +1472,7 @@ static struct omap_hwmod_irq_info omap44xx_dss_hdmi_irqs[] = {
- 
- static struct omap_hwmod_dma_info omap44xx_dss_hdmi_sdma_reqs[] = {
- 	{ .dma_req = 75 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {
-@@ -1521,7 +1522,6 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.class		= &omap44xx_hdmi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_hdmi_irqs,
- 	.sdma_reqs	= omap44xx_dss_hdmi_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_sdma_reqs),
- 	.main_clk	= "dss_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -1557,6 +1557,7 @@ static struct omap_hwmod_class omap44xx_rfbi_hwmod_class = {
- static struct omap_hwmod omap44xx_dss_rfbi_hwmod;
- static struct omap_hwmod_dma_info omap44xx_dss_rfbi_sdma_reqs[] = {
- 	{ .dma_req = 13 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {
-@@ -1605,7 +1606,6 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
- 	.class		= &omap44xx_rfbi_hwmod_class,
- 	.sdma_reqs	= omap44xx_dss_rfbi_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_sdma_reqs),
- 	.main_clk	= "dss_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2138,6 +2138,7 @@ static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_i2c1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 26 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 27 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_i2c1_addrs[] = {
-@@ -2169,7 +2170,6 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c1_irqs,
- 	.sdma_reqs	= omap44xx_i2c1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c1_sdma_reqs),
- 	.main_clk	= "i2c1_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2191,6 +2191,7 @@ static struct omap_hwmod_irq_info omap44xx_i2c2_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_i2c2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 28 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 29 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_i2c2_addrs[] = {
-@@ -2222,7 +2223,6 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c2_irqs,
- 	.sdma_reqs	= omap44xx_i2c2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c2_sdma_reqs),
- 	.main_clk	= "i2c2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2244,6 +2244,7 @@ static struct omap_hwmod_irq_info omap44xx_i2c3_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_i2c3_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 24 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 25 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_i2c3_addrs[] = {
-@@ -2275,7 +2276,6 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c3_irqs,
- 	.sdma_reqs	= omap44xx_i2c3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c3_sdma_reqs),
- 	.main_clk	= "i2c3_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2297,6 +2297,7 @@ static struct omap_hwmod_irq_info omap44xx_i2c4_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_i2c4_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 123 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 124 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_i2c4_addrs[] = {
-@@ -2328,7 +2329,6 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c4_irqs,
- 	.sdma_reqs	= omap44xx_i2c4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_i2c4_sdma_reqs),
- 	.main_clk	= "i2c4_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2467,6 +2467,7 @@ static struct omap_hwmod_dma_info omap44xx_iss_sdma_reqs[] = {
- 	{ .name = "2", .dma_req = 9 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "3", .dma_req = 11 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "4", .dma_req = 12 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- /* iss master ports */
-@@ -2506,7 +2507,6 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.class		= &omap44xx_iss_hwmod_class,
- 	.mpu_irqs	= omap44xx_iss_irqs,
- 	.sdma_reqs	= omap44xx_iss_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_iss_sdma_reqs),
- 	.main_clk	= "iss_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -2791,6 +2791,7 @@ static struct omap_hwmod_irq_info omap44xx_mcbsp1_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcbsp1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 32 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 33 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcbsp1_addrs[] = {
-@@ -2842,7 +2843,6 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp1_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp1_sdma_reqs),
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2864,6 +2864,7 @@ static struct omap_hwmod_irq_info omap44xx_mcbsp2_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcbsp2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 16 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 17 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcbsp2_addrs[] = {
-@@ -2915,7 +2916,6 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp2_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp2_sdma_reqs),
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -2937,6 +2937,7 @@ static struct omap_hwmod_irq_info omap44xx_mcbsp3_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcbsp3_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 18 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 19 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcbsp3_addrs[] = {
-@@ -2988,7 +2989,6 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp3_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp3_sdma_reqs),
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3010,6 +3010,7 @@ static struct omap_hwmod_irq_info omap44xx_mcbsp4_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcbsp4_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 30 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 31 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcbsp4_addrs[] = {
-@@ -3040,7 +3041,6 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 	.class		= &omap44xx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcbsp4_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcbsp4_sdma_reqs),
- 	.main_clk	= "mcbsp4_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3083,6 +3083,7 @@ static struct omap_hwmod_irq_info omap44xx_mcpdm_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcpdm_sdma_reqs[] = {
- 	{ .name = "up_link", .dma_req = 64 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "dn_link", .dma_req = 65 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcpdm_addrs[] = {
-@@ -3132,7 +3133,6 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.class		= &omap44xx_mcpdm_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcpdm_irqs,
- 	.sdma_reqs	= omap44xx_mcpdm_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcpdm_sdma_reqs),
- 	.main_clk	= "mcpdm_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -3182,6 +3182,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi1_sdma_reqs[] = {
- 	{ .name = "rx2", .dma_req = 39 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "tx3", .dma_req = 40 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx3", .dma_req = 41 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcspi1_addrs[] = {
-@@ -3217,7 +3218,6 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi1_irqs,
- 	.sdma_reqs	= omap44xx_mcspi1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi1_sdma_reqs),
- 	.main_clk	= "mcspi1_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3242,6 +3242,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi2_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 43 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "tx1", .dma_req = 44 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx1", .dma_req = 45 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcspi2_addrs[] = {
-@@ -3277,7 +3278,6 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi2_irqs,
- 	.sdma_reqs	= omap44xx_mcspi2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi2_sdma_reqs),
- 	.main_clk	= "mcspi2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3302,6 +3302,7 @@ static struct omap_hwmod_dma_info omap44xx_mcspi3_sdma_reqs[] = {
- 	{ .name = "rx0", .dma_req = 15 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "tx1", .dma_req = 22 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx1", .dma_req = 23 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcspi3_addrs[] = {
-@@ -3337,7 +3338,6 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi3_irqs,
- 	.sdma_reqs	= omap44xx_mcspi3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi3_sdma_reqs),
- 	.main_clk	= "mcspi3_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3360,6 +3360,7 @@ static struct omap_hwmod_irq_info omap44xx_mcspi4_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mcspi4_sdma_reqs[] = {
- 	{ .name = "tx0", .dma_req = 69 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx0", .dma_req = 70 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mcspi4_addrs[] = {
-@@ -3395,7 +3396,6 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 	.class		= &omap44xx_mcspi_hwmod_class,
- 	.mpu_irqs	= omap44xx_mcspi4_irqs,
- 	.sdma_reqs	= omap44xx_mcspi4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mcspi4_sdma_reqs),
- 	.main_clk	= "mcspi4_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -3440,6 +3440,7 @@ static struct omap_hwmod_irq_info omap44xx_mmc1_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mmc1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 60 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 61 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- /* mmc1 master ports */
-@@ -3480,7 +3481,6 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc1_irqs,
- 	.sdma_reqs	= omap44xx_mmc1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc1_sdma_reqs),
- 	.main_clk	= "mmc1_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -3504,6 +3504,7 @@ static struct omap_hwmod_irq_info omap44xx_mmc2_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mmc2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 46 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 47 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- /* mmc2 master ports */
-@@ -3539,7 +3540,6 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc2_irqs,
- 	.sdma_reqs	= omap44xx_mmc2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc2_sdma_reqs),
- 	.main_clk	= "mmc2_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -3563,6 +3563,7 @@ static struct omap_hwmod_irq_info omap44xx_mmc3_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mmc3_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 76 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 77 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mmc3_addrs[] = {
-@@ -3593,7 +3594,6 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc3_irqs,
- 	.sdma_reqs	= omap44xx_mmc3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc3_sdma_reqs),
- 	.main_clk	= "mmc3_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -3615,6 +3615,7 @@ static struct omap_hwmod_irq_info omap44xx_mmc4_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mmc4_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 56 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 57 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mmc4_addrs[] = {
-@@ -3646,7 +3647,6 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 	.mpu_irqs	= omap44xx_mmc4_irqs,
- 
- 	.sdma_reqs	= omap44xx_mmc4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc4_sdma_reqs),
- 	.main_clk	= "mmc4_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -3668,6 +3668,7 @@ static struct omap_hwmod_irq_info omap44xx_mmc5_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_mmc5_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 58 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 59 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_mmc5_addrs[] = {
-@@ -3698,7 +3699,6 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.class		= &omap44xx_mmc_hwmod_class,
- 	.mpu_irqs	= omap44xx_mmc5_irqs,
- 	.sdma_reqs	= omap44xx_mmc5_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_mmc5_sdma_reqs),
- 	.main_clk	= "mmc5_fck",
- 	.prcm		= {
- 		.omap4 = {
-@@ -4618,6 +4618,7 @@ static struct omap_hwmod_irq_info omap44xx_uart1_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_uart1_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 48 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 49 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_uart1_addrs[] = {
-@@ -4648,7 +4649,6 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart1_irqs,
- 	.sdma_reqs	= omap44xx_uart1_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart1_sdma_reqs),
- 	.main_clk	= "uart1_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4670,6 +4670,7 @@ static struct omap_hwmod_irq_info omap44xx_uart2_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_uart2_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 50 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 51 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_uart2_addrs[] = {
-@@ -4700,7 +4701,6 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart2_irqs,
- 	.sdma_reqs	= omap44xx_uart2_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart2_sdma_reqs),
- 	.main_clk	= "uart2_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4722,6 +4722,7 @@ static struct omap_hwmod_irq_info omap44xx_uart3_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_uart3_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 52 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 53 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_uart3_addrs[] = {
-@@ -4753,7 +4754,6 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
- 	.mpu_irqs	= omap44xx_uart3_irqs,
- 	.sdma_reqs	= omap44xx_uart3_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart3_sdma_reqs),
- 	.main_clk	= "uart3_fck",
- 	.prcm = {
- 		.omap4 = {
-@@ -4775,6 +4775,7 @@ static struct omap_hwmod_irq_info omap44xx_uart4_irqs[] = {
- static struct omap_hwmod_dma_info omap44xx_uart4_sdma_reqs[] = {
- 	{ .name = "tx", .dma_req = 54 + OMAP44XX_DMA_REQ_START },
- 	{ .name = "rx", .dma_req = 55 + OMAP44XX_DMA_REQ_START },
-+	{ .dma_req = -1 }
- };
- 
- static struct omap_hwmod_addr_space omap44xx_uart4_addrs[] = {
-@@ -4805,7 +4806,6 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
- 	.class		= &omap44xx_uart_hwmod_class,
- 	.mpu_irqs	= omap44xx_uart4_irqs,
- 	.sdma_reqs	= omap44xx_uart4_sdma_reqs,
--	.sdma_reqs_cnt	= ARRAY_SIZE(omap44xx_uart4_sdma_reqs),
- 	.main_clk	= "uart4_fck",
- 	.prcm = {
- 		.omap4 = {
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index b8385e2..ce06ac6 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -111,7 +111,7 @@ struct omap_hwmod_irq_info {
- /**
-  * struct omap_hwmod_dma_info - DMA channels used by the hwmod
-  * @name: name of the DMA channel (module local name)
-- * @dma_req: DMA request ID
-+ * @dma_req: DMA request ID (should be non-negative except -1 = terminator)
-  *
-  * @name should be something short, e.g., "tx" or "rx".  It is for use
-  * by platform_get_resource_byname().  It is defined locally to the
-@@ -119,7 +119,7 @@ struct omap_hwmod_irq_info {
-  */
- struct omap_hwmod_dma_info {
- 	const char	*name;
--	u16		dma_req;
-+	s16		dma_req;
- };
- 
- /**
-@@ -467,7 +467,7 @@ struct omap_hwmod_class {
-  * @class: struct omap_hwmod_class * to the class of this hwmod
-  * @od: struct omap_device currently associated with this hwmod (internal use)
-  * @mpu_irqs: ptr to an array of MPU IRQs
-- * @sdma_reqs: ptr to an array of System DMA request IDs (see sdma_reqs_cnt)
-+ * @sdma_reqs: ptr to an array of System DMA request IDs
-  * @prcm: PRCM data pertaining to this hwmod
-  * @main_clk: main clock: OMAP clock name
-  * @_clk: pointer to the main struct clk (filled in at runtime)
-@@ -480,7 +480,6 @@ struct omap_hwmod_class {
-  * @_sysc_cache: internal-use hwmod flags
-  * @_mpu_rt_va: cached register target start address (internal use)
-  * @_mpu_port_index: cached MPU register target slave ID (internal use)
-- * @sdma_reqs_cnt: number of @sdma_reqs
-  * @opt_clks_cnt: number of @opt_clks
-  * @master_cnt: number of @master entries
-  * @slaves_cnt: number of @slave entries
-@@ -528,7 +527,6 @@ struct omap_hwmod {
- 	u16				flags;
- 	u8				_mpu_port_index;
- 	u8				response_lat;
--	u8				sdma_reqs_cnt;
- 	u8				rst_lines_cnt;
- 	u8				opt_clks_cnt;
- 	u8				masters_cnt;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0042-omap_hwmod-share-identical-omap_hwmod_dma_info-array.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0042-omap_hwmod-share-identical-omap_hwmod_dma_info-array.patch
deleted file mode 100644
index 56bc227..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0042-omap_hwmod-share-identical-omap_hwmod_dma_info-array.patch
+++ /dev/null
@@ -1,935 +0,0 @@
-From 79a8b76e605e0930ef1c52c2a757eb523340cda1 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:07 -0600
-Subject: [PATCH 042/149] omap_hwmod: share identical omap_hwmod_dma_info arrays
-
-To reduce kernel source file data duplication, share struct
-omap_hwmod_dma_info arrays across OMAP2xxx and 3xxx hwmod data files.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_2420_data.c         |   87 ++----------------
- arch/arm/mach-omap2/omap_hwmod_2430_data.c         |   95 +++-----------------
- .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c |   92 +++++++++++++++++++
- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c |    6 ++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |   89 ++----------------
- arch/arm/mach-omap2/omap_hwmod_common_data.c       |   20 ----
- arch/arm/mach-omap2/omap_hwmod_common_data.h       |   15 +++
- 7 files changed, 144 insertions(+), 260 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 60c817e..6acc01f 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -828,12 +828,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
- 	&omap2_l4_core__uart1,
- };
-@@ -841,7 +835,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
- static struct omap_hwmod omap2420_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
--	.sdma_reqs	= uart1_sdma_reqs,
-+	.sdma_reqs	= omap2_uart1_sdma_reqs,
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -860,12 +854,6 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_uart2_slaves[] = {
- 	&omap2_l4_core__uart2,
- };
-@@ -873,7 +861,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart2_slaves[] = {
- static struct omap_hwmod omap2420_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
--	.sdma_reqs	= uart2_sdma_reqs,
-+	.sdma_reqs	= omap2_uart2_sdma_reqs,
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -892,12 +880,6 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_uart3_slaves[] = {
- 	&omap2_l4_core__uart3,
- };
-@@ -905,7 +887,7 @@ static struct omap_hwmod_ocp_if *omap2420_uart3_slaves[] = {
- static struct omap_hwmod omap2420_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
--	.sdma_reqs	= uart3_sdma_reqs,
-+	.sdma_reqs	= omap2_uart3_sdma_reqs,
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -940,11 +922,6 @@ static struct omap_hwmod_class omap2420_dss_hwmod_class = {
- 	.sysc = &omap2420_dss_sysc,
- };
- 
--static struct omap_hwmod_dma_info omap2420_dss_sdma_chs[] = {
--	{ .name = "dispc", .dma_req = 5 },
--	{ .dma_req = -1 }
--};
--
- /* dss */
- /* dss master ports */
- static struct omap_hwmod_ocp_if *omap2420_dss_masters[] = {
-@@ -980,7 +957,7 @@ static struct omap_hwmod omap2420_dss_core_hwmod = {
- 	.name		= "dss_core",
- 	.class		= &omap2420_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
--	.sdma_reqs	= omap2420_dss_sdma_chs,
-+	.sdma_reqs	= omap2xxx_dss_sdma_chs,
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1183,12 +1160,6 @@ static struct omap_i2c_dev_attr i2c_dev_attr;
- 
- /* I2C1 */
- 
--static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_i2c1_slaves[] = {
- 	&omap2420_l4_core__i2c1,
- };
-@@ -1196,7 +1167,7 @@ static struct omap_hwmod_ocp_if *omap2420_i2c1_slaves[] = {
- static struct omap_hwmod omap2420_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
--	.sdma_reqs	= i2c1_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c1_sdma_reqs,
- 	.main_clk	= "i2c1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1217,12 +1188,6 @@ static struct omap_hwmod omap2420_i2c1_hwmod = {
- 
- /* I2C2 */
- 
--static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_i2c2_slaves[] = {
- 	&omap2420_l4_core__i2c2,
- };
-@@ -1230,7 +1195,7 @@ static struct omap_hwmod_ocp_if *omap2420_i2c2_slaves[] = {
- static struct omap_hwmod omap2420_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
--	.sdma_reqs	= i2c2_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c2_sdma_reqs,
- 	.main_clk	= "i2c2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1602,18 +1567,6 @@ static struct omap_hwmod_class omap2420_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_dma_info omap2420_mcspi1_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
--	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
--	{ .name = "tx1", .dma_req = 37 }, /* DMA_SPI1_TX1 */
--	{ .name = "rx1", .dma_req = 38 }, /* DMA_SPI1_RX1 */
--	{ .name = "tx2", .dma_req = 39 }, /* DMA_SPI1_TX2 */
--	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
--	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
--	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_mcspi1_slaves[] = {
- 	&omap2420_l4_core__mcspi1,
- };
-@@ -1625,7 +1578,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap2420_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
--	.sdma_reqs	= omap2420_mcspi1_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi1_sdma_reqs,
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1644,14 +1597,6 @@ static struct omap_hwmod omap2420_mcspi1_hwmod = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_dma_info omap2420_mcspi2_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
--	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
--	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
--	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2420_mcspi2_slaves[] = {
- 	&omap2420_l4_core__mcspi2,
- };
-@@ -1663,7 +1608,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap2420_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
--	.sdma_reqs	= omap2420_mcspi2_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi2_sdma_reqs,
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1697,12 +1642,6 @@ static struct omap_hwmod_irq_info omap2420_mcbsp1_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap2420_mcbsp1_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 32 },
--	{ .name = "tx", .dma_req = 31 },
--	{ .dma_req = -1 }
--};
--
- /* l4_core -> mcbsp1 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp1 = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1721,7 +1660,7 @@ static struct omap_hwmod omap2420_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp1_irqs,
--	.sdma_reqs	= omap2420_mcbsp1_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp1_sdma_reqs,
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1744,12 +1683,6 @@ static struct omap_hwmod_irq_info omap2420_mcbsp2_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap2420_mcbsp2_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 34 },
--	{ .name = "tx", .dma_req = 33 },
--	{ .dma_req = -1 }
--};
--
- /* l4_core -> mcbsp2 */
- static struct omap_hwmod_ocp_if omap2420_l4_core__mcbsp2 = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1768,7 +1701,7 @@ static struct omap_hwmod omap2420_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap2420_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2420_mcbsp2_irqs,
--	.sdma_reqs	= omap2420_mcbsp2_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp2_sdma_reqs,
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index af758b3..639acd5 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -900,12 +900,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
- 	&omap2_l4_core__uart1,
- };
-@@ -913,7 +907,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
- static struct omap_hwmod omap2430_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
--	.sdma_reqs	= uart1_sdma_reqs,
-+	.sdma_reqs	= omap2_uart1_sdma_reqs,
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -932,12 +926,6 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_uart2_slaves[] = {
- 	&omap2_l4_core__uart2,
- };
-@@ -945,7 +933,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart2_slaves[] = {
- static struct omap_hwmod omap2430_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
--	.sdma_reqs	= uart2_sdma_reqs,
-+	.sdma_reqs	= omap2_uart2_sdma_reqs,
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -964,12 +952,6 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_uart3_slaves[] = {
- 	&omap2_l4_core__uart3,
- };
-@@ -977,7 +959,7 @@ static struct omap_hwmod_ocp_if *omap2430_uart3_slaves[] = {
- static struct omap_hwmod omap2430_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
--	.sdma_reqs	= uart3_sdma_reqs,
-+	.sdma_reqs	= omap2_uart3_sdma_reqs,
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1012,11 +994,6 @@ static struct omap_hwmod_class omap2430_dss_hwmod_class = {
- 	.sysc = &omap2430_dss_sysc,
- };
- 
--static struct omap_hwmod_dma_info omap2430_dss_sdma_chs[] = {
--	{ .name = "dispc", .dma_req = 5 },
--	{ .dma_req = -1 }
--};
--
- /* dss */
- /* dss master ports */
- static struct omap_hwmod_ocp_if *omap2430_dss_masters[] = {
-@@ -1046,7 +1023,7 @@ static struct omap_hwmod omap2430_dss_core_hwmod = {
- 	.name		= "dss_core",
- 	.class		= &omap2430_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
--	.sdma_reqs	= omap2430_dss_sdma_chs,
-+	.sdma_reqs	= omap2xxx_dss_sdma_chs,
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -1234,12 +1211,6 @@ static struct omap_i2c_dev_attr i2c_dev_attr = {
- 
- /* I2C1 */
- 
--static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
- 	&omap2430_l4_core__i2c1,
- };
-@@ -1247,7 +1218,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
- static struct omap_hwmod omap2430_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
--	.sdma_reqs	= i2c1_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c1_sdma_reqs,
- 	.main_clk	= "i2chs1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1275,12 +1246,6 @@ static struct omap_hwmod omap2430_i2c1_hwmod = {
- 
- /* I2C2 */
- 
--static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
- 	&omap2430_l4_core__i2c2,
- };
-@@ -1288,7 +1253,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
- static struct omap_hwmod omap2430_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
--	.sdma_reqs	= i2c2_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c2_sdma_reqs,
- 	.main_clk	= "i2chs2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1707,18 +1672,6 @@ static struct omap_hwmod_class omap2430_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_dma_info omap2430_mcspi1_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
--	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
--	{ .name = "tx1", .dma_req = 37 }, /* DMA_SPI1_TX1 */
--	{ .name = "rx1", .dma_req = 38 }, /* DMA_SPI1_RX1 */
--	{ .name = "tx2", .dma_req = 39 }, /* DMA_SPI1_TX2 */
--	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
--	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
--	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_mcspi1_slaves[] = {
- 	&omap2430_l4_core__mcspi1,
- };
-@@ -1730,7 +1683,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap2430_mcspi1_hwmod = {
- 	.name		= "mcspi1_hwmod",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
--	.sdma_reqs	= omap2430_mcspi1_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi1_sdma_reqs,
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1749,14 +1702,6 @@ static struct omap_hwmod omap2430_mcspi1_hwmod = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_dma_info omap2430_mcspi2_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
--	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
--	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
--	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap2430_mcspi2_slaves[] = {
- 	&omap2430_l4_core__mcspi2,
- };
-@@ -1768,7 +1713,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap2430_mcspi2_hwmod = {
- 	.name		= "mcspi2_hwmod",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
--	.sdma_reqs	= omap2430_mcspi2_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi2_sdma_reqs,
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1912,12 +1857,6 @@ static struct omap_hwmod_irq_info omap2430_mcbsp1_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap2430_mcbsp1_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 32 },
--	{ .name = "tx", .dma_req = 31 },
--	{ .dma_req = -1 }
--};
--
- /* l4_core -> mcbsp1 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp1 = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1936,7 +1875,7 @@ static struct omap_hwmod omap2430_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp1_irqs,
--	.sdma_reqs	= omap2430_mcbsp1_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp1_sdma_reqs,
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1960,12 +1899,6 @@ static struct omap_hwmod_irq_info omap2430_mcbsp2_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap2430_mcbsp2_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 34 },
--	{ .name = "tx", .dma_req = 33 },
--	{ .dma_req = -1 }
--};
--
- /* l4_core -> mcbsp2 */
- static struct omap_hwmod_ocp_if omap2430_l4_core__mcbsp2 = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1984,7 +1917,7 @@ static struct omap_hwmod omap2430_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp2_irqs,
--	.sdma_reqs	= omap2430_mcbsp2_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp2_sdma_reqs,
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2008,12 +1941,6 @@ static struct omap_hwmod_irq_info omap2430_mcbsp3_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap2430_mcbsp3_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 18 },
--	{ .name = "tx", .dma_req = 17 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_addr_space omap2430_mcbsp3_addrs[] = {
- 	{
- 		.name		= "mpu",
-@@ -2042,7 +1969,7 @@ static struct omap_hwmod omap2430_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap2430_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap2430_mcbsp3_irqs,
--	.sdma_reqs	= omap2430_mcbsp3_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp3_sdma_reqs,
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm		= {
- 		.omap2 = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-index 245294b..7c4f5ab 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-@@ -10,11 +10,35 @@
-  */
- #include <plat/omap_hwmod.h>
- #include <plat/serial.h>
-+#include <plat/dma.h>
- 
- #include <mach/irqs.h>
- 
- #include "omap_hwmod_common_data.h"
- 
-+
-+/*
-+ * omap_hwmod class data
-+ */
-+
-+struct omap_hwmod_class l3_hwmod_class = {
-+	.name = "l3"
-+};
-+
-+struct omap_hwmod_class l4_hwmod_class = {
-+	.name = "l4"
-+};
-+
-+struct omap_hwmod_class mpu_hwmod_class = {
-+	.name = "mpu"
-+};
-+
-+struct omap_hwmod_class iva_hwmod_class = {
-+	.name = "iva"
-+};
-+
-+/* Common MPU IRQ line data */
-+
- struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[] = {
- 	{ .irq = 37, },
- 	{ .irq = -1 }
-@@ -138,5 +162,73 @@ struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[] = {
- 	{ .irq = -1 }
- };
- 
-+/* Common DMA request line data */
-+struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART1_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART1_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART2_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART2_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART3_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART3_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[] = {
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[] = {
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcspi1_sdma_reqs[] = {
-+	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
-+	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
-+	{ .name = "tx1", .dma_req = 37 }, /* DMA_SPI1_TX1 */
-+	{ .name = "rx1", .dma_req = 38 }, /* DMA_SPI1_RX1 */
-+	{ .name = "tx2", .dma_req = 39 }, /* DMA_SPI1_TX2 */
-+	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
-+	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
-+	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcspi2_sdma_reqs[] = {
-+	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
-+	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
-+	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
-+	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp1_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 32 },
-+	{ .name = "tx", .dma_req = 31 },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp2_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 34 },
-+	{ .name = "tx", .dma_req = 33 },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 18 },
-+	{ .name = "tx", .dma_req = 17 },
-+	{ .dma_req = -1 }
-+};
- 
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-index 5a078a6..f5b63ef 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-@@ -10,6 +10,7 @@
-  */
- #include <plat/omap_hwmod.h>
- #include <plat/serial.h>
-+#include <plat/dma.h>
- 
- #include <mach/irqs.h>
- 
-@@ -19,3 +20,8 @@ struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
- 	{ .irq = -1 }
- };
-+
-+struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
-+	{ .name = "dispc", .dma_req = 5 },
-+	{ .dma_req = -1 }
-+};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 265f0b1..001f67b 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1210,12 +1210,6 @@ static struct omap_hwmod_class uart_class = {
- 
- /* UART1 */
- 
--static struct omap_hwmod_dma_info uart1_sdma_reqs[] = {
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART1_TX, },
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART1_RX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
- 	&omap3_l4_core__uart1,
- };
-@@ -1223,7 +1217,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
- static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 	.name		= "uart1",
- 	.mpu_irqs	= omap2_uart1_mpu_irqs,
--	.sdma_reqs	= uart1_sdma_reqs,
-+	.sdma_reqs	= omap2_uart1_sdma_reqs,
- 	.main_clk	= "uart1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1242,12 +1236,6 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 
- /* UART2 */
- 
--static struct omap_hwmod_dma_info uart2_sdma_reqs[] = {
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART2_TX, },
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART2_RX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {
- 	&omap3_l4_core__uart2,
- };
-@@ -1255,7 +1243,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart2_slaves[] = {
- static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 	.name		= "uart2",
- 	.mpu_irqs	= omap2_uart2_mpu_irqs,
--	.sdma_reqs	= uart2_sdma_reqs,
-+	.sdma_reqs	= omap2_uart2_sdma_reqs,
- 	.main_clk	= "uart2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1274,12 +1262,6 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 
- /* UART3 */
- 
--static struct omap_hwmod_dma_info uart3_sdma_reqs[] = {
--	{ .name = "tx",	.dma_req = OMAP24XX_DMA_UART3_TX, },
--	{ .name = "rx",	.dma_req = OMAP24XX_DMA_UART3_RX, },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {
- 	&omap3_l4_per__uart3,
- };
-@@ -1287,7 +1269,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_uart3_slaves[] = {
- static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 	.name		= "uart3",
- 	.mpu_irqs	= omap2_uart3_mpu_irqs,
--	.sdma_reqs	= uart3_sdma_reqs,
-+	.sdma_reqs	= omap2_uart3_sdma_reqs,
- 	.main_clk	= "uart3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1714,12 +1696,6 @@ static struct omap_i2c_dev_attr i2c1_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
- };
- 
--static struct omap_hwmod_dma_info i2c1_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
- 	&omap3_l4_core__i2c1,
- };
-@@ -1727,7 +1703,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
- static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
--	.sdma_reqs	= i2c1_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c1_sdma_reqs,
- 	.main_clk	= "i2c1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1751,12 +1727,6 @@ static struct omap_i2c_dev_attr i2c2_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
- };
- 
--static struct omap_hwmod_dma_info i2c2_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
- 	&omap3_l4_core__i2c2,
- };
-@@ -1764,7 +1734,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
- static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
--	.sdma_reqs	= i2c2_sdma_reqs,
-+	.sdma_reqs	= omap2_i2c2_sdma_reqs,
- 	.main_clk	= "i2c2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2269,12 +2239,6 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp1_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap3xxx_mcbsp1_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 32 },
--	{ .name = "tx", .dma_req = 31 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_addr_space omap3xxx_mcbsp1_addrs[] = {
- 	{
- 		.name		= "mpu",
-@@ -2303,7 +2267,7 @@ static struct omap_hwmod omap3xxx_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp1_irqs,
--	.sdma_reqs	= omap3xxx_mcbsp1_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp1_sdma_reqs,
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2327,12 +2291,6 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp2_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap3xxx_mcbsp2_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 34 },
--	{ .name = "tx", .dma_req = 33 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_addr_space omap3xxx_mcbsp2_addrs[] = {
- 	{
- 		.name		= "mpu",
-@@ -2349,7 +2307,6 @@ static struct omap_hwmod_ocp_if omap3xxx_l4_per__mcbsp2 = {
- 	.slave		= &omap3xxx_mcbsp2_hwmod,
- 	.clk		= "mcbsp2_ick",
- 	.addr		= omap3xxx_mcbsp2_addrs,
--
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
-@@ -2366,7 +2323,7 @@ static struct omap_hwmod omap3xxx_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp2_irqs,
--	.sdma_reqs	= omap3xxx_mcbsp2_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp2_sdma_reqs,
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2391,12 +2348,6 @@ static struct omap_hwmod_irq_info omap3xxx_mcbsp3_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--static struct omap_hwmod_dma_info omap3xxx_mcbsp3_sdma_chs[] = {
--	{ .name = "rx", .dma_req = 18 },
--	{ .name = "tx", .dma_req = 17 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_addr_space omap3xxx_mcbsp3_addrs[] = {
- 	{
- 		.name		= "mpu",
-@@ -2429,7 +2380,7 @@ static struct omap_hwmod omap3xxx_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap3xxx_mcbsp_hwmod_class,
- 	.mpu_irqs	= omap3xxx_mcbsp3_irqs,
--	.sdma_reqs	= omap3xxx_mcbsp3_sdma_chs,
-+	.sdma_reqs	= omap2_mcbsp3_sdma_reqs,
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2939,18 +2890,6 @@ static struct omap_hwmod_class omap34xx_mcspi_class = {
- };
- 
- /* mcspi1 */
--static struct omap_hwmod_dma_info omap34xx_mcspi1_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 35 },
--	{ .name = "rx0", .dma_req = 36 },
--	{ .name = "tx1", .dma_req = 37 },
--	{ .name = "rx1", .dma_req = 38 },
--	{ .name = "tx2", .dma_req = 39 },
--	{ .name = "rx2", .dma_req = 40 },
--	{ .name = "tx3", .dma_req = 41 },
--	{ .name = "rx3", .dma_req = 42 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap34xx_mcspi1_slaves[] = {
- 	&omap34xx_l4_core__mcspi1,
- };
-@@ -2962,7 +2901,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi1_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi1 = {
- 	.name		= "mcspi1",
- 	.mpu_irqs	= omap2_mcspi1_mpu_irqs,
--	.sdma_reqs	= omap34xx_mcspi1_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi1_sdma_reqs,
- 	.main_clk	= "mcspi1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -2981,14 +2920,6 @@ static struct omap_hwmod omap34xx_mcspi1 = {
- };
- 
- /* mcspi2 */
--static struct omap_hwmod_dma_info omap34xx_mcspi2_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 43 },
--	{ .name = "rx0", .dma_req = 44 },
--	{ .name = "tx1", .dma_req = 45 },
--	{ .name = "rx1", .dma_req = 46 },
--	{ .dma_req = -1 }
--};
--
- static struct omap_hwmod_ocp_if *omap34xx_mcspi2_slaves[] = {
- 	&omap34xx_l4_core__mcspi2,
- };
-@@ -3000,7 +2931,7 @@ static struct omap2_mcspi_dev_attr omap_mcspi2_dev_attr = {
- static struct omap_hwmod omap34xx_mcspi2 = {
- 	.name		= "mcspi2",
- 	.mpu_irqs	= omap2_mcspi2_mpu_irqs,
--	.sdma_reqs	= omap34xx_mcspi2_sdma_reqs,
-+	.sdma_reqs	= omap2_mcspi2_sdma_reqs,
- 	.main_clk	= "mcspi2_fck",
- 	.prcm		= {
- 		.omap2 = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.c b/arch/arm/mach-omap2/omap_hwmod_common_data.c
-index 08a1342..de832eb 100644
---- a/arch/arm/mach-omap2/omap_hwmod_common_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.c
-@@ -49,23 +49,3 @@ struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2 = {
- 	.srst_shift	= SYSC_TYPE2_SOFTRESET_SHIFT,
- };
- 
--
--/*
-- * omap_hwmod class data
-- */
--
--struct omap_hwmod_class l3_hwmod_class = {
--	.name = "l3"
--};
--
--struct omap_hwmod_class l4_hwmod_class = {
--	.name = "l4"
--};
--
--struct omap_hwmod_class mpu_hwmod_class = {
--	.name = "mpu"
--};
--
--struct omap_hwmod_class iva_hwmod_class = {
--	.name = "iva"
--};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-index 1ac878c..b636cf6 100644
---- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
-+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-@@ -51,6 +51,21 @@ extern struct omap_hwmod_addr_space omap2_mcbsp1_addrs[];
- 
- /* Common IP block data across OMAP2xxx */
- extern struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[];
-+extern struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[];
-+
-+/* Common IP block data */
-+extern struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_mcspi1_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_mcspi2_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_mcbsp1_sdma_reqs[];
-+extern struct omap_hwmod_dma_info omap2_mcbsp2_sdma_reqs[];
-+
-+/* Common IP block data on OMAP2430/OMAP3 */
-+extern struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[];
- 
- /* Common IP block data across OMAP2/3 */
- extern struct omap_hwmod_irq_info omap2_timer1_mpu_irqs[];
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0043-omap_hwmod-share-identical-omap_hwmod_class-omap_hwm.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0043-omap_hwmod-share-identical-omap_hwmod_class-omap_hwm.patch
deleted file mode 100644
index f4e644b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0043-omap_hwmod-share-identical-omap_hwmod_class-omap_hwm.patch
+++ /dev/null
@@ -1,1730 +0,0 @@
-From 7fb59da1fff606542858e006b001e1cb63e1d708 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sat, 9 Jul 2011 19:14:08 -0600
-Subject: [PATCH 043/149] omap_hwmod: share identical omap_hwmod_class, omap_hwmod_class_sysconfig arrays
-
-To reduce kernel source file data duplication, share struct
-omap_hwmod_class and omap_hwmod_class_sysconfig arrays across OMAP2xxx
-and 3xxx hwmod data files.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_2420_data.c         |  267 +++-----------------
- arch/arm/mach-omap2/omap_hwmod_2430_data.c         |  273 +++-----------------
- .../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c |  228 +++++++++++-----
- arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c |  123 +++++++++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c         |  105 +-------
- arch/arm/mach-omap2/omap_hwmod_common_data.h       |   11 +
- 6 files changed, 364 insertions(+), 643 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 6acc01f..f3901ab 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -274,24 +274,6 @@ static struct omap_hwmod omap2420_iva_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
--/* Timer Common */
--static struct omap_hwmod_class_sysconfig omap2420_timer_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
--			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_timer_hwmod_class = {
--	.name = "timer",
--	.sysc = &omap2420_timer_sysc,
--	.rev = OMAP_TIMER_IP_VERSION_1,
--};
--
- /* timer1 */
- static struct omap_hwmod omap2420_timer1_hwmod;
- 
-@@ -334,7 +316,7 @@ static struct omap_hwmod omap2420_timer1_hwmod = {
- 	},
- 	.slaves		= omap2420_timer1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer1_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -371,7 +353,7 @@ static struct omap_hwmod omap2420_timer2_hwmod = {
- 	},
- 	.slaves		= omap2420_timer2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer2_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -408,7 +390,7 @@ static struct omap_hwmod omap2420_timer3_hwmod = {
- 	},
- 	.slaves		= omap2420_timer3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer3_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -445,7 +427,7 @@ static struct omap_hwmod omap2420_timer4_hwmod = {
- 	},
- 	.slaves		= omap2420_timer4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer4_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -482,7 +464,7 @@ static struct omap_hwmod omap2420_timer5_hwmod = {
- 	},
- 	.slaves		= omap2420_timer5_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer5_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -520,7 +502,7 @@ static struct omap_hwmod omap2420_timer6_hwmod = {
- 	},
- 	.slaves		= omap2420_timer6_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer6_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -557,7 +539,7 @@ static struct omap_hwmod omap2420_timer7_hwmod = {
- 	},
- 	.slaves		= omap2420_timer7_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer7_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -594,7 +576,7 @@ static struct omap_hwmod omap2420_timer8_hwmod = {
- 	},
- 	.slaves		= omap2420_timer8_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer8_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -631,7 +613,7 @@ static struct omap_hwmod omap2420_timer9_hwmod = {
- 	},
- 	.slaves		= omap2420_timer9_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer9_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -668,7 +650,7 @@ static struct omap_hwmod omap2420_timer10_hwmod = {
- 	},
- 	.slaves		= omap2420_timer10_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer10_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -705,7 +687,7 @@ static struct omap_hwmod omap2420_timer11_hwmod = {
- 	},
- 	.slaves		= omap2420_timer11_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer11_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -742,7 +724,7 @@ static struct omap_hwmod omap2420_timer12_hwmod = {
- 	},
- 	.slaves		= omap2420_timer12_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_timer12_slaves),
--	.class		= &omap2420_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420)
- };
- 
-@@ -764,27 +746,6 @@ static struct omap_hwmod_ocp_if omap2420_l4_wkup__wd_timer2 = {
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
--/*
-- * 'wd_timer' class
-- * 32-bit watchdog upward counter that generates a pulse on the reset pin on
-- * overflow condition
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_wd_timer_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_wd_timer_hwmod_class = {
--	.name		= "wd_timer",
--	.sysc		= &omap2420_wd_timer_sysc,
--	.pre_shutdown	= &omap2_wd_timer_disable
--};
--
- /* wd_timer2 */
- static struct omap_hwmod_ocp_if *omap2420_wd_timer2_slaves[] = {
- 	&omap2420_l4_wkup__wd_timer2,
-@@ -792,7 +753,7 @@ static struct omap_hwmod_ocp_if *omap2420_wd_timer2_slaves[] = {
- 
- static struct omap_hwmod omap2420_wd_timer2_hwmod = {
- 	.name		= "wd_timer2",
--	.class		= &omap2420_wd_timer_hwmod_class,
-+	.class		= &omap2xxx_wd_timer_hwmod_class,
- 	.main_clk	= "mpu_wdt_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -808,24 +769,6 @@ static struct omap_hwmod omap2420_wd_timer2_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
--/* UART */
--
--static struct omap_hwmod_class_sysconfig uart_sysc = {
--	.rev_offs	= 0x50,
--	.sysc_offs	= 0x54,
--	.syss_offs	= 0x58,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class uart_class = {
--	.name = "uart",
--	.sysc = &uart_sysc,
--};
--
- /* UART1 */
- 
- static struct omap_hwmod_ocp_if *omap2420_uart1_slaves[] = {
-@@ -848,7 +791,7 @@ static struct omap_hwmod omap2420_uart1_hwmod = {
- 	},
- 	.slaves		= omap2420_uart1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_uart1_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
-@@ -874,7 +817,7 @@ static struct omap_hwmod omap2420_uart2_hwmod = {
- 	},
- 	.slaves		= omap2420_uart2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_uart2_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
-@@ -900,28 +843,10 @@ static struct omap_hwmod omap2420_uart3_hwmod = {
- 	},
- 	.slaves		= omap2420_uart3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_uart3_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
--/*
-- * 'dss' class
-- * display sub-system
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_dss_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_dss_hwmod_class = {
--	.name = "dss",
--	.sysc = &omap2420_dss_sysc,
--};
--
- /* dss */
- /* dss master ports */
- static struct omap_hwmod_ocp_if *omap2420_dss_masters[] = {
-@@ -955,7 +880,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
- 
- static struct omap_hwmod omap2420_dss_core_hwmod = {
- 	.name		= "dss_core",
--	.class		= &omap2420_dss_hwmod_class,
-+	.class		= &omap2_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap2xxx_dss_sdma_chs,
- 	.prcm		= {
-@@ -977,27 +902,6 @@ static struct omap_hwmod omap2420_dss_core_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'dispc' class
-- * display controller
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_dispc_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
--			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_dispc_hwmod_class = {
--	.name = "dispc",
--	.sysc = &omap2420_dispc_sysc,
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_dispc = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1020,7 +924,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_dispc_slaves[] = {
- 
- static struct omap_hwmod omap2420_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
--	.class		= &omap2420_dispc_hwmod_class,
-+	.class		= &omap2_dispc_hwmod_class,
- 	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
-@@ -1038,26 +942,6 @@ static struct omap_hwmod omap2420_dss_dispc_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'rfbi' class
-- * remote frame buffer interface
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_rfbi_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_rfbi_hwmod_class = {
--	.name = "rfbi",
--	.sysc = &omap2420_rfbi_sysc,
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_rfbi = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1080,7 +964,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_rfbi_slaves[] = {
- 
- static struct omap_hwmod omap2420_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
--	.class		= &omap2420_rfbi_hwmod_class,
-+	.class		= &omap2_rfbi_hwmod_class,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1095,15 +979,6 @@ static struct omap_hwmod omap2420_dss_rfbi_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'venc' class
-- * video encoder
-- */
--
--static struct omap_hwmod_class omap2420_venc_hwmod_class = {
--	.name = "venc",
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap2420_l4_core__dss_venc = {
- 	.master		= &omap2420_l4_core_hwmod,
-@@ -1127,7 +1002,7 @@ static struct omap_hwmod_ocp_if *omap2420_dss_venc_slaves[] = {
- 
- static struct omap_hwmod omap2420_dss_venc_hwmod = {
- 	.name		= "dss_venc",
--	.class		= &omap2420_venc_hwmod_class,
-+	.class		= &omap2_venc_hwmod_class,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1292,27 +1167,6 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
- 	.dbck_flag = false,
- };
- 
--static struct omap_hwmod_class_sysconfig omap242x_gpio_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
--			   SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--/*
-- * 'gpio' class
-- * general purpose io module
-- */
--static struct omap_hwmod_class omap242x_gpio_hwmod_class = {
--	.name = "gpio",
--	.sysc = &omap242x_gpio_sysc,
--	.rev = 0,
--};
--
- /* gpio1 */
- static struct omap_hwmod_ocp_if *omap2420_gpio1_slaves[] = {
- 	&omap2420_l4_wkup__gpio1,
-@@ -1334,7 +1188,7 @@ static struct omap_hwmod omap2420_gpio1_hwmod = {
- 	},
- 	.slaves		= omap2420_gpio1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_gpio1_slaves),
--	.class		= &omap242x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
-@@ -1360,7 +1214,7 @@ static struct omap_hwmod omap2420_gpio2_hwmod = {
- 	},
- 	.slaves		= omap2420_gpio2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_gpio2_slaves),
--	.class		= &omap242x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
-@@ -1386,7 +1240,7 @@ static struct omap_hwmod omap2420_gpio3_hwmod = {
- 	},
- 	.slaves		= omap2420_gpio3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_gpio3_slaves),
--	.class		= &omap242x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
-@@ -1412,28 +1266,11 @@ static struct omap_hwmod omap2420_gpio4_hwmod = {
- 	},
- 	.slaves		= omap2420_gpio4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_gpio4_slaves),
--	.class		= &omap242x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
--/* system dma */
--static struct omap_hwmod_class_sysconfig omap2420_dma_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x002c,
--	.syss_offs	= 0x0028,
--	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
--			   SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_dma_hwmod_class = {
--	.name = "dma",
--	.sysc = &omap2420_dma_sysc,
--};
--
- /* dma attributes */
- static struct omap_dma_dev_attr dma_dev_attr = {
- 	.dev_caps  = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-@@ -1470,7 +1307,7 @@ static struct omap_hwmod_ocp_if *omap2420_dma_system_slaves[] = {
- 
- static struct omap_hwmod omap2420_dma_system_hwmod = {
- 	.name		= "dma",
--	.class		= &omap2420_dma_hwmod_class,
-+	.class		= &omap2xxx_dma_hwmod_class,
- 	.mpu_irqs	= omap2_dma_system_irqs,
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2420_dma_system_slaves,
-@@ -1482,27 +1319,6 @@ static struct omap_hwmod omap2420_dma_system_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'mailbox' class
-- * mailbox module allowing communication between the on-chip processors
-- * using a queued mailbox-interrupt mechanism.
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_mailbox_sysc = {
--	.rev_offs	= 0x000,
--	.sysc_offs	= 0x010,
--	.syss_offs	= 0x014,
--	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_mailbox_hwmod_class = {
--	.name = "mailbox",
--	.sysc = &omap2420_mailbox_sysc,
--};
--
- /* mailbox */
- static struct omap_hwmod omap2420_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = {
-@@ -1526,7 +1342,7 @@ static struct omap_hwmod_ocp_if *omap2420_mailbox_slaves[] = {
- 
- static struct omap_hwmod omap2420_mailbox_hwmod = {
- 	.name		= "mailbox",
--	.class		= &omap2420_mailbox_hwmod_class,
-+	.class		= &omap2xxx_mailbox_hwmod_class,
- 	.mpu_irqs	= omap2420_mailbox_irqs,
- 	.main_clk	= "mailboxes_ick",
- 	.prcm		= {
-@@ -1543,29 +1359,6 @@ static struct omap_hwmod omap2420_mailbox_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
--/*
-- * 'mcspi' class
-- * multichannel serial port interface (mcspi) / master/slave synchronous serial
-- * bus
-- */
--
--static struct omap_hwmod_class_sysconfig omap2420_mcspi_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
--				SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--				SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2420_mcspi_class = {
--	.name = "mcspi",
--	.sysc = &omap2420_mcspi_sysc,
--	.rev = OMAP2_MCSPI_REV,
--};
--
- /* mcspi1 */
- static struct omap_hwmod_ocp_if *omap2420_mcspi1_slaves[] = {
- 	&omap2420_l4_core__mcspi1,
-@@ -1591,8 +1384,8 @@ static struct omap_hwmod omap2420_mcspi1_hwmod = {
- 	},
- 	.slaves		= omap2420_mcspi1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_mcspi1_slaves),
--	.class		= &omap2420_mcspi_class,
--	.dev_attr       = &omap_mcspi1_dev_attr,
-+	.class		= &omap2xxx_mcspi_class,
-+	.dev_attr	= &omap_mcspi1_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
-@@ -1621,8 +1414,8 @@ static struct omap_hwmod omap2420_mcspi2_hwmod = {
- 	},
- 	.slaves		= omap2420_mcspi2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2420_mcspi2_slaves),
--	.class		= &omap2420_mcspi_class,
--	.dev_attr       = &omap_mcspi2_dev_attr,
-+	.class		= &omap2xxx_mcspi_class,
-+	.dev_attr	= &omap_mcspi2_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 639acd5..2a52f02 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -347,24 +347,6 @@ static struct omap_hwmod omap2430_iva_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
--/* Timer Common */
--static struct omap_hwmod_class_sysconfig omap2430_timer_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
--			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_timer_hwmod_class = {
--	.name = "timer",
--	.sysc = &omap2430_timer_sysc,
--	.rev = OMAP_TIMER_IP_VERSION_1,
--};
--
- /* timer1 */
- static struct omap_hwmod omap2430_timer1_hwmod;
- 
-@@ -407,7 +389,7 @@ static struct omap_hwmod omap2430_timer1_hwmod = {
- 	},
- 	.slaves		= omap2430_timer1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer1_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -444,7 +426,7 @@ static struct omap_hwmod omap2430_timer2_hwmod = {
- 	},
- 	.slaves		= omap2430_timer2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer2_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -481,7 +463,7 @@ static struct omap_hwmod omap2430_timer3_hwmod = {
- 	},
- 	.slaves		= omap2430_timer3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer3_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -518,7 +500,7 @@ static struct omap_hwmod omap2430_timer4_hwmod = {
- 	},
- 	.slaves		= omap2430_timer4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer4_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -555,7 +537,7 @@ static struct omap_hwmod omap2430_timer5_hwmod = {
- 	},
- 	.slaves		= omap2430_timer5_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer5_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -592,7 +574,7 @@ static struct omap_hwmod omap2430_timer6_hwmod = {
- 	},
- 	.slaves		= omap2430_timer6_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer6_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -629,7 +611,7 @@ static struct omap_hwmod omap2430_timer7_hwmod = {
- 	},
- 	.slaves		= omap2430_timer7_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer7_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -666,7 +648,7 @@ static struct omap_hwmod omap2430_timer8_hwmod = {
- 	},
- 	.slaves		= omap2430_timer8_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer8_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -703,7 +685,7 @@ static struct omap_hwmod omap2430_timer9_hwmod = {
- 	},
- 	.slaves		= omap2430_timer9_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer9_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -740,7 +722,7 @@ static struct omap_hwmod omap2430_timer10_hwmod = {
- 	},
- 	.slaves		= omap2430_timer10_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer10_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -777,7 +759,7 @@ static struct omap_hwmod omap2430_timer11_hwmod = {
- 	},
- 	.slaves		= omap2430_timer11_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer11_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -814,7 +796,7 @@ static struct omap_hwmod omap2430_timer12_hwmod = {
- 	},
- 	.slaves		= omap2430_timer12_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_timer12_slaves),
--	.class		= &omap2430_timer_hwmod_class,
-+	.class		= &omap2xxx_timer_hwmod_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430)
- };
- 
-@@ -836,27 +818,6 @@ static struct omap_hwmod_ocp_if omap2430_l4_wkup__wd_timer2 = {
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
--/*
-- * 'wd_timer' class
-- * 32-bit watchdog upward counter that generates a pulse on the reset pin on
-- * overflow condition
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_wd_timer_sysc = {
--	.rev_offs	= 0x0,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_wd_timer_hwmod_class = {
--	.name		= "wd_timer",
--	.sysc		= &omap2430_wd_timer_sysc,
--	.pre_shutdown	= &omap2_wd_timer_disable
--};
--
- /* wd_timer2 */
- static struct omap_hwmod_ocp_if *omap2430_wd_timer2_slaves[] = {
- 	&omap2430_l4_wkup__wd_timer2,
-@@ -864,7 +825,7 @@ static struct omap_hwmod_ocp_if *omap2430_wd_timer2_slaves[] = {
- 
- static struct omap_hwmod omap2430_wd_timer2_hwmod = {
- 	.name		= "wd_timer2",
--	.class		= &omap2430_wd_timer_hwmod_class,
-+	.class		= &omap2xxx_wd_timer_hwmod_class,
- 	.main_clk	= "mpu_wdt_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -880,24 +841,6 @@ static struct omap_hwmod omap2430_wd_timer2_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
--/* UART */
--
--static struct omap_hwmod_class_sysconfig uart_sysc = {
--	.rev_offs	= 0x50,
--	.sysc_offs	= 0x54,
--	.syss_offs	= 0x58,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class uart_class = {
--	.name = "uart",
--	.sysc = &uart_sysc,
--};
--
- /* UART1 */
- 
- static struct omap_hwmod_ocp_if *omap2430_uart1_slaves[] = {
-@@ -920,7 +863,7 @@ static struct omap_hwmod omap2430_uart1_hwmod = {
- 	},
- 	.slaves		= omap2430_uart1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_uart1_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
-@@ -946,7 +889,7 @@ static struct omap_hwmod omap2430_uart2_hwmod = {
- 	},
- 	.slaves		= omap2430_uart2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_uart2_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
-@@ -972,28 +915,10 @@ static struct omap_hwmod omap2430_uart3_hwmod = {
- 	},
- 	.slaves		= omap2430_uart3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_uart3_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
--/*
-- * 'dss' class
-- * display sub-system
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_dss_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_dss_hwmod_class = {
--	.name = "dss",
--	.sysc = &omap2430_dss_sysc,
--};
--
- /* dss */
- /* dss master ports */
- static struct omap_hwmod_ocp_if *omap2430_dss_masters[] = {
-@@ -1021,7 +946,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
- 
- static struct omap_hwmod omap2430_dss_core_hwmod = {
- 	.name		= "dss_core",
--	.class		= &omap2430_dss_hwmod_class,
-+	.class		= &omap2_dss_hwmod_class,
- 	.main_clk	= "dss1_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap2xxx_dss_sdma_chs,
- 	.prcm		= {
-@@ -1043,27 +968,6 @@ static struct omap_hwmod omap2430_dss_core_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'dispc' class
-- * display controller
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_dispc_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
--			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_dispc_hwmod_class = {
--	.name = "dispc",
--	.sysc = &omap2430_dispc_sysc,
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_dispc = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1080,7 +984,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_dispc_slaves[] = {
- 
- static struct omap_hwmod omap2430_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
--	.class		= &omap2430_dispc_hwmod_class,
-+	.class		= &omap2_dispc_hwmod_class,
- 	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
-@@ -1098,26 +1002,6 @@ static struct omap_hwmod omap2430_dss_dispc_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'rfbi' class
-- * remote frame buffer interface
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_rfbi_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_rfbi_hwmod_class = {
--	.name = "rfbi",
--	.sysc = &omap2430_rfbi_sysc,
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_rfbi = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1134,7 +1018,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_rfbi_slaves[] = {
- 
- static struct omap_hwmod omap2430_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
--	.class		= &omap2430_rfbi_hwmod_class,
-+	.class		= &omap2_rfbi_hwmod_class,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1149,15 +1033,6 @@ static struct omap_hwmod omap2430_dss_rfbi_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'venc' class
-- * video encoder
-- */
--
--static struct omap_hwmod_class omap2430_venc_hwmod_class = {
--	.name = "venc",
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap2430_l4_core__dss_venc = {
- 	.master		= &omap2430_l4_core_hwmod,
-@@ -1175,7 +1050,7 @@ static struct omap_hwmod_ocp_if *omap2430_dss_venc_slaves[] = {
- 
- static struct omap_hwmod omap2430_dss_venc_hwmod = {
- 	.name		= "dss_venc",
--	.class		= &omap2430_venc_hwmod_class,
-+	.class		= &omap2_venc_hwmod_class,
- 	.main_clk	= "dss1_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1367,27 +1242,6 @@ static struct omap_gpio_dev_attr gpio_dev_attr = {
- 	.dbck_flag = false,
- };
- 
--static struct omap_hwmod_class_sysconfig omap243x_gpio_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
--			   SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--/*
-- * 'gpio' class
-- * general purpose io module
-- */
--static struct omap_hwmod_class omap243x_gpio_hwmod_class = {
--	.name = "gpio",
--	.sysc = &omap243x_gpio_sysc,
--	.rev = 0,
--};
--
- /* gpio1 */
- static struct omap_hwmod_ocp_if *omap2430_gpio1_slaves[] = {
- 	&omap2430_l4_wkup__gpio1,
-@@ -1409,7 +1263,7 @@ static struct omap_hwmod omap2430_gpio1_hwmod = {
- 	},
- 	.slaves		= omap2430_gpio1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_gpio1_slaves),
--	.class		= &omap243x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
-@@ -1435,7 +1289,7 @@ static struct omap_hwmod omap2430_gpio2_hwmod = {
- 	},
- 	.slaves		= omap2430_gpio2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_gpio2_slaves),
--	.class		= &omap243x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
-@@ -1461,7 +1315,7 @@ static struct omap_hwmod omap2430_gpio3_hwmod = {
- 	},
- 	.slaves		= omap2430_gpio3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_gpio3_slaves),
--	.class		= &omap243x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
-@@ -1487,7 +1341,7 @@ static struct omap_hwmod omap2430_gpio4_hwmod = {
- 	},
- 	.slaves		= omap2430_gpio4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_gpio4_slaves),
--	.class		= &omap243x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
-@@ -1518,28 +1372,11 @@ static struct omap_hwmod omap2430_gpio5_hwmod = {
- 	},
- 	.slaves		= omap2430_gpio5_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_gpio5_slaves),
--	.class		= &omap243x_gpio_hwmod_class,
-+	.class		= &omap2xxx_gpio_hwmod_class,
- 	.dev_attr	= &gpio_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
--/* dma_system */
--static struct omap_hwmod_class_sysconfig omap2430_dma_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x002c,
--	.syss_offs	= 0x0028,
--	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
--			   SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_dma_hwmod_class = {
--	.name = "dma",
--	.sysc = &omap2430_dma_sysc,
--};
--
- /* dma attributes */
- static struct omap_dma_dev_attr dma_dev_attr = {
- 	.dev_caps  = RESERVE_CHANNEL | DMA_LINKED_LCH | GLOBAL_PRIORITY |
-@@ -1576,7 +1413,7 @@ static struct omap_hwmod_ocp_if *omap2430_dma_system_slaves[] = {
- 
- static struct omap_hwmod omap2430_dma_system_hwmod = {
- 	.name		= "dma",
--	.class		= &omap2430_dma_hwmod_class,
-+	.class		= &omap2xxx_dma_hwmod_class,
- 	.mpu_irqs	= omap2_dma_system_irqs,
- 	.main_clk	= "core_l3_ck",
- 	.slaves		= omap2430_dma_system_slaves,
-@@ -1588,27 +1425,6 @@ static struct omap_hwmod omap2430_dma_system_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'mailbox' class
-- * mailbox module allowing communication between the on-chip processors
-- * using a queued mailbox-interrupt mechanism.
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_mailbox_sysc = {
--	.rev_offs	= 0x000,
--	.sysc_offs	= 0x010,
--	.syss_offs	= 0x014,
--	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
--				SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_mailbox_hwmod_class = {
--	.name = "mailbox",
--	.sysc = &omap2430_mailbox_sysc,
--};
--
- /* mailbox */
- static struct omap_hwmod omap2430_mailbox_hwmod;
- static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = {
-@@ -1631,7 +1447,7 @@ static struct omap_hwmod_ocp_if *omap2430_mailbox_slaves[] = {
- 
- static struct omap_hwmod omap2430_mailbox_hwmod = {
- 	.name		= "mailbox",
--	.class		= &omap2430_mailbox_hwmod_class,
-+	.class		= &omap2xxx_mailbox_hwmod_class,
- 	.mpu_irqs	= omap2430_mailbox_irqs,
- 	.main_clk	= "mailboxes_ick",
- 	.prcm		= {
-@@ -1648,29 +1464,6 @@ static struct omap_hwmod omap2430_mailbox_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
--/*
-- * 'mcspi' class
-- * multichannel serial port interface (mcspi) / master/slave synchronous serial
-- * bus
-- */
--
--static struct omap_hwmod_class_sysconfig omap2430_mcspi_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
--				SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--				SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap2430_mcspi_class = {
--	.name = "mcspi",
--	.sysc = &omap2430_mcspi_sysc,
--	.rev = OMAP2_MCSPI_REV,
--};
--
- /* mcspi1 */
- static struct omap_hwmod_ocp_if *omap2430_mcspi1_slaves[] = {
- 	&omap2430_l4_core__mcspi1,
-@@ -1696,8 +1489,8 @@ static struct omap_hwmod omap2430_mcspi1_hwmod = {
- 	},
- 	.slaves		= omap2430_mcspi1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_mcspi1_slaves),
--	.class		= &omap2430_mcspi_class,
--	.dev_attr       = &omap_mcspi1_dev_attr,
-+	.class		= &omap2xxx_mcspi_class,
-+	.dev_attr	= &omap_mcspi1_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
-@@ -1726,8 +1519,8 @@ static struct omap_hwmod omap2430_mcspi2_hwmod = {
- 	},
- 	.slaves		= omap2430_mcspi2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_mcspi2_slaves),
--	.class		= &omap2430_mcspi_class,
--	.dev_attr       = &omap_mcspi2_dev_attr,
-+	.class		= &omap2xxx_mcspi_class,
-+	.dev_attr	= &omap_mcspi2_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
-@@ -1769,8 +1562,8 @@ static struct omap_hwmod omap2430_mcspi3_hwmod = {
- 	},
- 	.slaves		= omap2430_mcspi3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap2430_mcspi3_slaves),
--	.class		= &omap2430_mcspi_class,
--	.dev_attr       = &omap_mcspi3_dev_attr,
-+	.class		= &omap2xxx_mcspi_class,
-+	.dev_attr	= &omap_mcspi3_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
- };
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-index 7c4f5ab..c451729 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c
-@@ -16,6 +16,164 @@
- 
- #include "omap_hwmod_common_data.h"
- 
-+/* UART */
-+
-+static struct omap_hwmod_class_sysconfig omap2_uart_sysc = {
-+	.rev_offs	= 0x50,
-+	.sysc_offs	= 0x54,
-+	.syss_offs	= 0x58,
-+	.sysc_flags	= (SYSC_HAS_SIDLEMODE |
-+			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
-+			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2_uart_class = {
-+	.name	= "uart",
-+	.sysc	= &omap2_uart_sysc,
-+};
-+
-+/*
-+ * 'dss' class
-+ * display sub-system
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2_dss_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2_dss_hwmod_class = {
-+	.name	= "dss",
-+	.sysc	= &omap2_dss_sysc,
-+};
-+
-+/*
-+ * 'dispc' class
-+ * display controller
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2_dispc_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_MIDLEMODE |
-+			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
-+			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2_dispc_hwmod_class = {
-+	.name	= "dispc",
-+	.sysc	= &omap2_dispc_sysc,
-+};
-+
-+/*
-+ * 'rfbi' class
-+ * remote frame buffer interface
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2_rfbi_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
-+			   SYSC_HAS_AUTOIDLE),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2_rfbi_hwmod_class = {
-+	.name	= "rfbi",
-+	.sysc	= &omap2_rfbi_sysc,
-+};
-+
-+/*
-+ * 'venc' class
-+ * video encoder
-+ */
-+
-+struct omap_hwmod_class omap2_venc_hwmod_class = {
-+	.name = "venc",
-+};
-+
-+
-+/* Common DMA request line data */
-+struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART1_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART1_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART2_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART2_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART3_RX, },
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART3_TX, },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[] = {
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[] = {
-+	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
-+	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcspi1_sdma_reqs[] = {
-+	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
-+	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
-+	{ .name = "tx1", .dma_req = 37 }, /* DMA_SPI1_TX1 */
-+	{ .name = "rx1", .dma_req = 38 }, /* DMA_SPI1_RX1 */
-+	{ .name = "tx2", .dma_req = 39 }, /* DMA_SPI1_TX2 */
-+	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
-+	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
-+	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcspi2_sdma_reqs[] = {
-+	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
-+	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
-+	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
-+	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp1_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 32 },
-+	{ .name = "tx", .dma_req = 31 },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp2_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 34 },
-+	{ .name = "tx", .dma_req = 33 },
-+	{ .dma_req = -1 }
-+};
-+
-+struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[] = {
-+	{ .name = "rx", .dma_req = 18 },
-+	{ .name = "tx", .dma_req = 17 },
-+	{ .dma_req = -1 }
-+};
-+
-+/* Other IP block data */
-+
- 
- /*
-  * omap_hwmod class data
-@@ -162,73 +320,3 @@ struct omap_hwmod_irq_info omap2_mcspi2_mpu_irqs[] = {
- 	{ .irq = -1 }
- };
- 
--/* Common DMA request line data */
--struct omap_hwmod_dma_info omap2_uart1_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART1_RX, },
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART1_TX, },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_uart2_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART2_RX, },
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART2_TX, },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_uart3_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_UART3_RX, },
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_UART3_TX, },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_i2c1_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C1_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C1_RX },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_i2c2_sdma_reqs[] = {
--	{ .name = "tx", .dma_req = OMAP24XX_DMA_I2C2_TX },
--	{ .name = "rx", .dma_req = OMAP24XX_DMA_I2C2_RX },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_mcspi1_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 35 }, /* DMA_SPI1_TX0 */
--	{ .name = "rx0", .dma_req = 36 }, /* DMA_SPI1_RX0 */
--	{ .name = "tx1", .dma_req = 37 }, /* DMA_SPI1_TX1 */
--	{ .name = "rx1", .dma_req = 38 }, /* DMA_SPI1_RX1 */
--	{ .name = "tx2", .dma_req = 39 }, /* DMA_SPI1_TX2 */
--	{ .name = "rx2", .dma_req = 40 }, /* DMA_SPI1_RX2 */
--	{ .name = "tx3", .dma_req = 41 }, /* DMA_SPI1_TX3 */
--	{ .name = "rx3", .dma_req = 42 }, /* DMA_SPI1_RX3 */
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_mcspi2_sdma_reqs[] = {
--	{ .name = "tx0", .dma_req = 43 }, /* DMA_SPI2_TX0 */
--	{ .name = "rx0", .dma_req = 44 }, /* DMA_SPI2_RX0 */
--	{ .name = "tx1", .dma_req = 45 }, /* DMA_SPI2_TX1 */
--	{ .name = "rx1", .dma_req = 46 }, /* DMA_SPI2_RX1 */
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_mcbsp1_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = 32 },
--	{ .name = "tx", .dma_req = 31 },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_mcbsp2_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = 34 },
--	{ .name = "tx", .dma_req = 33 },
--	{ .dma_req = -1 }
--};
--
--struct omap_hwmod_dma_info omap2_mcbsp3_sdma_reqs[] = {
--	{ .name = "rx", .dma_req = 18 },
--	{ .name = "tx", .dma_req = 17 },
--	{ .dma_req = -1 }
--};
--
--
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-index f5b63ef..177dee2 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c
-@@ -11,10 +11,13 @@
- #include <plat/omap_hwmod.h>
- #include <plat/serial.h>
- #include <plat/dma.h>
-+#include <plat/dmtimer.h>
-+#include <plat/mcspi.h>
- 
- #include <mach/irqs.h>
- 
- #include "omap_hwmod_common_data.h"
-+#include "wd_timer.h"
- 
- struct omap_hwmod_irq_info omap2xxx_timer12_mpu_irqs[] = {
- 	{ .irq = 48, },
-@@ -25,3 +28,123 @@ struct omap_hwmod_dma_info omap2xxx_dss_sdma_chs[] = {
- 	{ .name = "dispc", .dma_req = 5 },
- 	{ .dma_req = -1 }
- };
-+/* OMAP2xxx Timer Common */
-+static struct omap_hwmod_class_sysconfig omap2xxx_timer_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
-+			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
-+			   SYSC_HAS_AUTOIDLE),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_timer_hwmod_class = {
-+	.name	= "timer",
-+	.sysc	= &omap2xxx_timer_sysc,
-+	.rev	= OMAP_TIMER_IP_VERSION_1,
-+};
-+
-+/*
-+ * 'wd_timer' class
-+ * 32-bit watchdog upward counter that generates a pulse on the reset pin on
-+ * overflow condition
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2xxx_wd_timer_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_EMUFREE | SYSC_HAS_SOFTRESET |
-+			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class = {
-+	.name		= "wd_timer",
-+	.sysc		= &omap2xxx_wd_timer_sysc,
-+	.pre_shutdown	= &omap2_wd_timer_disable
-+};
-+
-+/*
-+ * 'gpio' class
-+ * general purpose io module
-+ */
-+static struct omap_hwmod_class_sysconfig omap2xxx_gpio_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_ENAWAKEUP | SYSC_HAS_SIDLEMODE |
-+			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
-+			   SYSS_HAS_RESET_STATUS),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_gpio_hwmod_class = {
-+	.name = "gpio",
-+	.sysc = &omap2xxx_gpio_sysc,
-+	.rev = 0,
-+};
-+
-+/* system dma */
-+static struct omap_hwmod_class_sysconfig omap2xxx_dma_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x002c,
-+	.syss_offs	= 0x0028,
-+	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_MIDLEMODE |
-+			   SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_EMUFREE |
-+			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
-+	.idlemodes	= (MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_dma_hwmod_class = {
-+	.name	= "dma",
-+	.sysc	= &omap2xxx_dma_sysc,
-+};
-+
-+/*
-+ * 'mailbox' class
-+ * mailbox module allowing communication between the on-chip processors
-+ * using a queued mailbox-interrupt mechanism.
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2xxx_mailbox_sysc = {
-+	.rev_offs	= 0x000,
-+	.sysc_offs	= 0x010,
-+	.syss_offs	= 0x014,
-+	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
-+			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_mailbox_hwmod_class = {
-+	.name	= "mailbox",
-+	.sysc	= &omap2xxx_mailbox_sysc,
-+};
-+
-+/*
-+ * 'mcspi' class
-+ * multichannel serial port interface (mcspi) / master/slave synchronous serial
-+ * bus
-+ */
-+
-+static struct omap_hwmod_class_sysconfig omap2xxx_mcspi_sysc = {
-+	.rev_offs	= 0x0000,
-+	.sysc_offs	= 0x0010,
-+	.syss_offs	= 0x0014,
-+	.sysc_flags	= (SYSC_HAS_CLOCKACTIVITY | SYSC_HAS_SIDLEMODE |
-+				SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
-+				SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
-+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-+	.sysc_fields	= &omap_hwmod_sysc_type1,
-+};
-+
-+struct omap_hwmod_class omap2xxx_mcspi_class = {
-+	.name	= "mcspi",
-+	.sysc	= &omap2xxx_mcspi_sysc,
-+	.rev	= OMAP2_MCSPI_REV,
-+};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 001f67b..1a52716 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1190,24 +1190,6 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod = {
- 	.flags		= HWMOD_SWSUP_SIDLE,
- };
- 
--/* UART common */
--
--static struct omap_hwmod_class_sysconfig uart_sysc = {
--	.rev_offs	= 0x50,
--	.sysc_offs	= 0x54,
--	.syss_offs	= 0x58,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE |
--			   SYSC_HAS_ENAWAKEUP | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE | SYSS_HAS_RESET_STATUS),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields    = &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class uart_class = {
--	.name = "uart",
--	.sysc = &uart_sysc,
--};
--
- /* UART1 */
- 
- static struct omap_hwmod_ocp_if *omap3xxx_uart1_slaves[] = {
-@@ -1230,7 +1212,7 @@ static struct omap_hwmod omap3xxx_uart1_hwmod = {
- 	},
- 	.slaves		= omap3xxx_uart1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart1_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
- };
- 
-@@ -1256,7 +1238,7 @@ static struct omap_hwmod omap3xxx_uart2_hwmod = {
- 	},
- 	.slaves		= omap3xxx_uart2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart2_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
- };
- 
-@@ -1282,7 +1264,7 @@ static struct omap_hwmod omap3xxx_uart3_hwmod = {
- 	},
- 	.slaves		= omap3xxx_uart3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart3_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
- };
- 
-@@ -1319,7 +1301,7 @@ static struct omap_hwmod omap3xxx_uart4_hwmod = {
- 	},
- 	.slaves		= omap3xxx_uart4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap3xxx_uart4_slaves),
--	.class		= &uart_class,
-+	.class		= &omap2_uart_class,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3630ES1),
- };
- 
-@@ -1328,24 +1310,6 @@ static struct omap_hwmod_class i2c_class = {
- 	.sysc = &i2c_sysc,
- };
- 
--/*
-- * 'dss' class
-- * display sub-system
-- */
--
--static struct omap_hwmod_class_sysconfig omap3xxx_dss_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap3xxx_dss_hwmod_class = {
--	.name = "dss",
--	.sysc = &omap3xxx_dss_sysc,
--};
--
- static struct omap_hwmod_dma_info omap3xxx_dss_sdma_chs[] = {
- 	{ .name = "dispc", .dma_req = 5 },
- 	{ .name = "dsi1", .dma_req = 74 },
-@@ -1406,7 +1370,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
- 
- static struct omap_hwmod omap3430es1_dss_core_hwmod = {
- 	.name		= "dss_core",
--	.class		= &omap3xxx_dss_hwmod_class,
-+	.class		= &omap2_dss_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap3xxx_dss_sdma_chs,
- 	.prcm		= {
-@@ -1430,7 +1394,7 @@ static struct omap_hwmod omap3430es1_dss_core_hwmod = {
- 
- static struct omap_hwmod omap3xxx_dss_core_hwmod = {
- 	.name		= "dss_core",
--	.class		= &omap3xxx_dss_hwmod_class,
-+	.class		= &omap2_dss_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck", /* instead of dss_fck */
- 	.sdma_reqs	= omap3xxx_dss_sdma_chs,
- 	.prcm		= {
-@@ -1453,28 +1417,6 @@ static struct omap_hwmod omap3xxx_dss_core_hwmod = {
- 				CHIP_IS_OMAP3630ES1 | CHIP_GE_OMAP3630ES1_1),
- };
- 
--/*
-- * 'dispc' class
-- * display controller
-- */
--
--static struct omap_hwmod_class_sysconfig omap3xxx_dispc_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
--			   SYSC_HAS_MIDLEMODE | SYSC_HAS_ENAWAKEUP |
--			   SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
--			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap3xxx_dispc_hwmod_class = {
--	.name = "dispc",
--	.sysc = &omap3xxx_dispc_sysc,
--};
--
- /* l4_core -> dss_dispc */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_dispc = {
- 	.master		= &omap3xxx_l4_core_hwmod,
-@@ -1498,7 +1440,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_dispc_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
--	.class		= &omap3xxx_dispc_hwmod_class,
-+	.class		= &omap2_dispc_hwmod_class,
- 	.mpu_irqs	= omap2_dispc_irqs,
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
-@@ -1580,26 +1522,6 @@ static struct omap_hwmod omap3xxx_dss_dsi1_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'rfbi' class
-- * remote frame buffer interface
-- */
--
--static struct omap_hwmod_class_sysconfig omap3xxx_rfbi_sysc = {
--	.rev_offs	= 0x0000,
--	.sysc_offs	= 0x0010,
--	.syss_offs	= 0x0014,
--	.sysc_flags	= (SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
--			   SYSC_HAS_AUTOIDLE),
--	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
--	.sysc_fields	= &omap_hwmod_sysc_type1,
--};
--
--static struct omap_hwmod_class omap3xxx_rfbi_hwmod_class = {
--	.name = "rfbi",
--	.sysc = &omap3xxx_rfbi_sysc,
--};
--
- /* l4_core -> dss_rfbi */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_rfbi = {
- 	.master		= &omap3xxx_l4_core_hwmod,
-@@ -1623,7 +1545,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_rfbi_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
--	.class		= &omap3xxx_rfbi_hwmod_class,
-+	.class		= &omap2_rfbi_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
- 		.omap2 = {
-@@ -1640,15 +1562,6 @@ static struct omap_hwmod omap3xxx_dss_rfbi_hwmod = {
- 	.flags		= HWMOD_NO_IDLEST,
- };
- 
--/*
-- * 'venc' class
-- * video encoder
-- */
--
--static struct omap_hwmod_class omap3xxx_venc_hwmod_class = {
--	.name = "venc",
--};
--
- /* l4_core -> dss_venc */
- static struct omap_hwmod_ocp_if omap3xxx_l4_core__dss_venc = {
- 	.master		= &omap3xxx_l4_core_hwmod,
-@@ -1673,7 +1586,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_dss_venc_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_dss_venc_hwmod = {
- 	.name		= "dss_venc",
--	.class		= &omap3xxx_venc_hwmod_class,
-+	.class		= &omap2_venc_hwmod_class,
- 	.main_clk	= "dss1_alwon_fck",
- 	.prcm		= {
- 		.omap2 = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_common_data.h b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-index b636cf6..39a7c37 100644
---- a/arch/arm/mach-omap2/omap_hwmod_common_data.h
-+++ b/arch/arm/mach-omap2/omap_hwmod_common_data.h
-@@ -98,6 +98,17 @@ extern struct omap_hwmod_class l3_hwmod_class;
- extern struct omap_hwmod_class l4_hwmod_class;
- extern struct omap_hwmod_class mpu_hwmod_class;
- extern struct omap_hwmod_class iva_hwmod_class;
-+extern struct omap_hwmod_class omap2_uart_class;
-+extern struct omap_hwmod_class omap2_dss_hwmod_class;
-+extern struct omap_hwmod_class omap2_dispc_hwmod_class;
-+extern struct omap_hwmod_class omap2_rfbi_hwmod_class;
-+extern struct omap_hwmod_class omap2_venc_hwmod_class;
- 
-+extern struct omap_hwmod_class omap2xxx_timer_hwmod_class;
-+extern struct omap_hwmod_class omap2xxx_wd_timer_hwmod_class;
-+extern struct omap_hwmod_class omap2xxx_gpio_hwmod_class;
-+extern struct omap_hwmod_class omap2xxx_dma_hwmod_class;
-+extern struct omap_hwmod_class omap2xxx_mailbox_hwmod_class;
-+extern struct omap_hwmod_class omap2xxx_mcspi_class;
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0044-OMAP4-hwmod-data-Fix-L3-interconnect-data-order-and-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0044-OMAP4-hwmod-data-Fix-L3-interconnect-data-order-and-.patch
deleted file mode 100644
index 0609f08..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0044-OMAP4-hwmod-data-Fix-L3-interconnect-data-order-and-.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 9723d81494f83fd1f9beb8af0f440b0ed30435fb Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:27 -0600
-Subject: [PATCH 044/149] OMAP4: hwmod data: Fix L3 interconnect data order and alignement
-
-Change the position of the ocp_if structure to match the template.
-
-Remove unneeded comma at the end of address space flag field.
-
-Remove USER_SDMA since this ocp link is only from the l3_main_1
-path that is accessible only from the MPU in that case and not
-the SDMA.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   27 +++++++++++++--------------
- 1 files changed, 13 insertions(+), 14 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 316e922..94c0b60 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -216,6 +216,12 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- };
- 
- /* l3_main_1 interface data */
-+static struct omap_hwmod_irq_info omap44xx_l3_main_1_irqs[] = {
-+	{ .name = "dbg_err", .irq = 9 + OMAP44XX_IRQ_GIC_START },
-+	{ .name = "app_err", .irq = 10 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
-+};
-+
- /* dsp -> l3_main_1 */
- static struct omap_hwmod_ocp_if omap44xx_dsp__l3_main_1 = {
- 	.master		= &omap44xx_dsp_hwmod,
-@@ -264,18 +270,11 @@ static struct omap_hwmod_ocp_if omap44xx_mmc2__l3_main_1 = {
- 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
- };
- 
--/* L3 target configuration and error log registers */
--static struct omap_hwmod_irq_info omap44xx_l3_targ_irqs[] = {
--	{ .irq = 9  + OMAP44XX_IRQ_GIC_START },
--	{ .irq = 10 + OMAP44XX_IRQ_GIC_START },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod_addr_space omap44xx_l3_main_1_addrs[] = {
- 	{
- 		.pa_start	= 0x44000000,
- 		.pa_end		= 0x44000fff,
--		.flags		= ADDR_TYPE_RT,
-+		.flags		= ADDR_TYPE_RT
- 	},
- 	{ }
- };
-@@ -286,7 +285,7 @@ static struct omap_hwmod_ocp_if omap44xx_mpu__l3_main_1 = {
- 	.slave		= &omap44xx_l3_main_1_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_1_addrs,
--	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-+	.user		= OCP_USER_MPU,
- };
- 
- /* l3_main_1 slave ports */
-@@ -303,9 +302,9 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_1_slaves[] = {
- static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.name		= "l3_main_1",
- 	.class		= &omap44xx_l3_hwmod_class,
--	.mpu_irqs	= omap44xx_l3_targ_irqs,
- 	.slaves		= omap44xx_l3_main_1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),
-+	.mpu_irqs	= omap44xx_l3_main_1_irqs,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -354,7 +353,7 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_2_addrs[] = {
- 	{
- 		.pa_start	= 0x44800000,
- 		.pa_end		= 0x44801fff,
--		.flags		= ADDR_TYPE_RT,
-+		.flags		= ADDR_TYPE_RT
- 	},
- 	{ }
- };
-@@ -365,7 +364,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_2 = {
- 	.slave		= &omap44xx_l3_main_2_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_2_addrs,
--	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-+	.user		= OCP_USER_MPU,
- };
- 
- /* l4_cfg -> l3_main_2 */
-@@ -409,7 +408,7 @@ static struct omap_hwmod_addr_space omap44xx_l3_main_3_addrs[] = {
- 	{
- 		.pa_start	= 0x45000000,
- 		.pa_end		= 0x45000fff,
--		.flags		= ADDR_TYPE_RT,
-+		.flags		= ADDR_TYPE_RT
- 	},
- 	{ }
- };
-@@ -420,7 +419,7 @@ static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l3_main_3 = {
- 	.slave		= &omap44xx_l3_main_3_hwmod,
- 	.clk		= "l3_div_ck",
- 	.addr		= omap44xx_l3_main_3_addrs,
--	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-+	.user		= OCP_USER_MPU,
- };
- 
- /* l3_main_2 -> l3_main_3 */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0045-OMAP4-hwmod-data-Remove-un-needed-parens.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0045-OMAP4-hwmod-data-Remove-un-needed-parens.patch
deleted file mode 100644
index eaf456e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0045-OMAP4-hwmod-data-Remove-un-needed-parens.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 27107815284e473d39b81df2ee65c1141f60a6cc Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:28 -0600
-Subject: [PATCH 045/149] OMAP4: hwmod data: Remove un-needed parens
-
-A couple of parens were added around some flags.
-
-Remove them, since they are not needed and not used
-for any other hwmods.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 94c0b60..7eed6a2 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -3736,7 +3736,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mpu_masters[] = {
- static struct omap_hwmod omap44xx_mpu_hwmod = {
- 	.name		= "mpu",
- 	.class		= &omap44xx_mpu_hwmod_class,
--	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
-+	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_mpu_irqs,
- 	.main_clk	= "dpll_mpu_m2_ck",
- 	.prcm = {
-@@ -4750,7 +4750,7 @@ static struct omap_hwmod_ocp_if *omap44xx_uart3_slaves[] = {
- static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.name		= "uart3",
- 	.class		= &omap44xx_uart_hwmod_class,
--	.flags		= (HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET),
-+	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_uart3_irqs,
- 	.sdma_reqs	= omap44xx_uart3_sdma_reqs,
- 	.main_clk	= "uart3_fck",
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0046-OMAP4-hwmod-data-Fix-bad-alignement.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0046-OMAP4-hwmod-data-Fix-bad-alignement.patch
deleted file mode 100644
index b60f299..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0046-OMAP4-hwmod-data-Fix-bad-alignement.patch
+++ /dev/null
@@ -1,218 +0,0 @@
-From b3ef885514cc4b31d763b09dd78f26e2134c47c5 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:28 -0600
-Subject: [PATCH 046/149] OMAP4: hwmod data: Fix bad alignement
-
-Fix .prcm alignement and usb_otg_hs class and hwmod structures.
-
-Add a couple of more potential hwmods in the comment.
-Remove hsi, since it is already included in the data.
-
-Remove one blank line.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   45 ++++++++++++++-------------
- 1 files changed, 23 insertions(+), 22 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 7eed6a2..1975b05 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -632,7 +632,9 @@ static struct omap_hwmod omap44xx_mpu_private_hwmod = {
-  *  gpmc
-  *  gpu
-  *  hdq1w
-- *  hsi
-+ *  mcasp
-+ *  mpu_c0
-+ *  mpu_c1
-  *  ocmc_ram
-  *  ocp2scp_usb_phy
-  *  ocp_wp_noc
-@@ -740,7 +742,7 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.mpu_irqs	= omap44xx_aess_irqs,
- 	.sdma_reqs	= omap44xx_aess_sdma_reqs,
- 	.main_clk	= "aess_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM1_ABE_AESS_CLKCTRL,
- 		},
-@@ -769,7 +771,7 @@ static struct omap_hwmod_opt_clk bandgap_opt_clks[] = {
- static struct omap_hwmod omap44xx_bandgap_hwmod = {
- 	.name		= "bandgap",
- 	.class		= &omap44xx_bandgap_hwmod_class,
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL,
- 		},
-@@ -828,7 +830,7 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = {
- 	.class		= &omap44xx_counter_hwmod_class,
- 	.flags		= HWMOD_SWSUP_SIDLE,
- 	.main_clk	= "sys_32k_ck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_WKUP_SYNCTIMER_CLKCTRL,
- 		},
-@@ -1004,7 +1006,7 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.mpu_irqs	= omap44xx_dmic_irqs,
- 	.sdma_reqs	= omap44xx_dmic_sdma_reqs,
- 	.main_clk	= "dmic_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM1_ABE_DMIC_CLKCTRL,
- 		},
-@@ -2094,7 +2096,7 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
- 	.class		= &omap44xx_hsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_hsi_irqs,
- 	.main_clk	= "hsi_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L3INIT_HSI_CLKCTRL,
- 		},
-@@ -2391,7 +2393,7 @@ static struct omap_hwmod omap44xx_ipu_c0_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_ipu_c0_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c0_resets),
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
- 		},
-@@ -2406,7 +2408,7 @@ static struct omap_hwmod omap44xx_ipu_c1_hwmod = {
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_ipu_c1_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c1_resets),
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
- 		},
-@@ -2421,7 +2423,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 	.rst_lines	= omap44xx_ipu_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_resets),
- 	.main_clk	= "ipu_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DUCATI_DUCATI_CLKCTRL,
- 			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
-@@ -2507,7 +2509,7 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.mpu_irqs	= omap44xx_iss_irqs,
- 	.sdma_reqs	= omap44xx_iss_sdma_reqs,
- 	.main_clk	= "iss_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_CAM_ISS_CLKCTRL,
- 		},
-@@ -2687,7 +2689,7 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
- 	.class		= &omap44xx_kbd_hwmod_class,
- 	.mpu_irqs	= omap44xx_kbd_irqs,
- 	.main_clk	= "kbd_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_WKUP_KEYBOARD_CLKCTRL,
- 		},
-@@ -2751,7 +2753,7 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap44xx_mailbox_hwmod_class,
- 	.mpu_irqs	= omap44xx_mailbox_irqs,
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4CFG_MAILBOX_CLKCTRL,
- 		},
-@@ -3133,7 +3135,7 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.mpu_irqs	= omap44xx_mcpdm_irqs,
- 	.sdma_reqs	= omap44xx_mcpdm_sdma_reqs,
- 	.main_clk	= "mcpdm_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM1_ABE_PDM_CLKCTRL,
- 		},
-@@ -3430,7 +3432,6 @@ static struct omap_hwmod_class omap44xx_mmc_hwmod_class = {
- };
- 
- /* mmc1 */
--
- static struct omap_hwmod_irq_info omap44xx_mmc1_irqs[] = {
- 	{ .irq = 83 + OMAP44XX_IRQ_GIC_START },
- 	{ .irq = -1 }
-@@ -3481,7 +3482,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.mpu_irqs	= omap44xx_mmc1_irqs,
- 	.sdma_reqs	= omap44xx_mmc1_sdma_reqs,
- 	.main_clk	= "mmc1_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC1_CLKCTRL,
- 		},
-@@ -3540,7 +3541,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.mpu_irqs	= omap44xx_mmc2_irqs,
- 	.sdma_reqs	= omap44xx_mmc2_sdma_reqs,
- 	.main_clk	= "mmc2_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC2_CLKCTRL,
- 		},
-@@ -3594,7 +3595,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.mpu_irqs	= omap44xx_mmc3_irqs,
- 	.sdma_reqs	= omap44xx_mmc3_sdma_reqs,
- 	.main_clk	= "mmc3_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD3_CLKCTRL,
- 		},
-@@ -3647,7 +3648,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 
- 	.sdma_reqs	= omap44xx_mmc4_sdma_reqs,
- 	.main_clk	= "mmc4_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD4_CLKCTRL,
- 		},
-@@ -3699,7 +3700,7 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.mpu_irqs	= omap44xx_mmc5_irqs,
- 	.sdma_reqs	= omap44xx_mmc5_sdma_reqs,
- 	.main_clk	= "mmc5_fck",
--	.prcm		= {
-+	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD5_CLKCTRL,
- 		},
-@@ -4835,8 +4836,8 @@ static struct omap_hwmod_class_sysconfig omap44xx_usb_otg_hs_sysc = {
- };
- 
- static struct omap_hwmod_class omap44xx_usb_otg_hs_hwmod_class = {
--	.name = "usb_otg_hs",
--	.sysc = &omap44xx_usb_otg_hs_sysc,
-+	.name	= "usb_otg_hs",
-+	.sysc	= &omap44xx_usb_otg_hs_sysc,
- };
- 
- /* usb_otg_hs */
-@@ -4890,7 +4891,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 		},
- 	},
- 	.opt_clks	= usb_otg_hs_opt_clks,
--	.opt_clks_cnt = ARRAY_SIZE(usb_otg_hs_opt_clks),
-+	.opt_clks_cnt	= ARRAY_SIZE(usb_otg_hs_opt_clks),
- 	.slaves		= omap44xx_usb_otg_hs_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_usb_otg_hs_slaves),
- 	.masters	= omap44xx_usb_otg_hs_masters,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0047-OMAP4-hwmod-data-Align-interconnect-format-with-regu.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0047-OMAP4-hwmod-data-Align-interconnect-format-with-regu.patch
deleted file mode 100644
index f4b4857..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0047-OMAP4-hwmod-data-Align-interconnect-format-with-regu.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From b47c49426b8f986331816c48996d9a64f0ebc0aa Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:28 -0600
-Subject: [PATCH 047/149] OMAP4: hwmod data: Align interconnect format with regular modules
-
-The interconnect modules were using a slightly different layout than
-the regular modules.
-Align the layout for better consitency.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   36 ++++++++++++++--------------
- 1 files changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 1975b05..e011437 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -80,7 +80,12 @@ static struct omap_hwmod_class omap44xx_dmm_hwmod_class = {
- 	.name	= "dmm",
- };
- 
--/* dmm interface data */
-+/* dmm */
-+static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = {
-+	{ .irq = 113 + OMAP44XX_IRQ_GIC_START },
-+	{ .irq = -1 }
-+};
-+
- /* l3_main_1 -> dmm */
- static struct omap_hwmod_ocp_if omap44xx_l3_main_1__dmm = {
- 	.master		= &omap44xx_l3_main_1_hwmod,
-@@ -113,17 +118,12 @@ static struct omap_hwmod_ocp_if *omap44xx_dmm_slaves[] = {
- 	&omap44xx_mpu__dmm,
- };
- 
--static struct omap_hwmod_irq_info omap44xx_dmm_irqs[] = {
--	{ .irq = 113 + OMAP44XX_IRQ_GIC_START },
--	{ .irq = -1 }
--};
--
- static struct omap_hwmod omap44xx_dmm_hwmod = {
- 	.name		= "dmm",
- 	.class		= &omap44xx_dmm_hwmod_class,
-+	.mpu_irqs	= omap44xx_dmm_irqs,
- 	.slaves		= omap44xx_dmm_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dmm_slaves),
--	.mpu_irqs	= omap44xx_dmm_irqs,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -135,7 +135,7 @@ static struct omap_hwmod_class omap44xx_emif_fw_hwmod_class = {
- 	.name	= "emif_fw",
- };
- 
--/* emif_fw interface data */
-+/* emif_fw */
- /* dmm -> emif_fw */
- static struct omap_hwmod_ocp_if omap44xx_dmm__emif_fw = {
- 	.master		= &omap44xx_dmm_hwmod,
-@@ -184,7 +184,7 @@ static struct omap_hwmod_class omap44xx_l3_hwmod_class = {
- 	.name	= "l3",
- };
- 
--/* l3_instr interface data */
-+/* l3_instr */
- /* iva -> l3_instr */
- static struct omap_hwmod_ocp_if omap44xx_iva__l3_instr = {
- 	.master		= &omap44xx_iva_hwmod,
-@@ -215,7 +215,7 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l3_main_1 interface data */
-+/* l3_main_1 */
- static struct omap_hwmod_irq_info omap44xx_l3_main_1_irqs[] = {
- 	{ .name = "dbg_err", .irq = 9 + OMAP44XX_IRQ_GIC_START },
- 	{ .name = "app_err", .irq = 10 + OMAP44XX_IRQ_GIC_START },
-@@ -302,13 +302,13 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_1_slaves[] = {
- static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.name		= "l3_main_1",
- 	.class		= &omap44xx_l3_hwmod_class,
-+	.mpu_irqs	= omap44xx_l3_main_1_irqs,
- 	.slaves		= omap44xx_l3_main_1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),
--	.mpu_irqs	= omap44xx_l3_main_1_irqs,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l3_main_2 interface data */
-+/* l3_main_2 */
- /* dma_system -> l3_main_2 */
- static struct omap_hwmod_ocp_if omap44xx_dma_system__l3_main_2 = {
- 	.master		= &omap44xx_dma_system_hwmod,
-@@ -403,7 +403,7 @@ static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l3_main_3 interface data */
-+/* l3_main_3 */
- static struct omap_hwmod_addr_space omap44xx_l3_main_3_addrs[] = {
- 	{
- 		.pa_start	= 0x45000000,
-@@ -461,7 +461,7 @@ static struct omap_hwmod_class omap44xx_l4_hwmod_class = {
- 	.name	= "l4",
- };
- 
--/* l4_abe interface data */
-+/* l4_abe */
- /* aess -> l4_abe */
- static struct omap_hwmod_ocp_if omap44xx_aess__l4_abe = {
- 	.master		= &omap44xx_aess_hwmod,
-@@ -510,7 +510,7 @@ static struct omap_hwmod omap44xx_l4_abe_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l4_cfg interface data */
-+/* l4_cfg */
- /* l3_main_1 -> l4_cfg */
- static struct omap_hwmod_ocp_if omap44xx_l3_main_1__l4_cfg = {
- 	.master		= &omap44xx_l3_main_1_hwmod,
-@@ -532,7 +532,7 @@ static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l4_per interface data */
-+/* l4_per */
- /* l3_main_2 -> l4_per */
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__l4_per = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
-@@ -554,7 +554,7 @@ static struct omap_hwmod omap44xx_l4_per_hwmod = {
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--/* l4_wkup interface data */
-+/* l4_wkup */
- /* l4_cfg -> l4_wkup */
- static struct omap_hwmod_ocp_if omap44xx_l4_cfg__l4_wkup = {
- 	.master		= &omap44xx_l4_cfg_hwmod,
-@@ -584,7 +584,7 @@ static struct omap_hwmod_class omap44xx_mpu_bus_hwmod_class = {
- 	.name	= "mpu_bus",
- };
- 
--/* mpu_private interface data */
-+/* mpu_private */
- /* mpu -> mpu_private */
- static struct omap_hwmod_ocp_if omap44xx_mpu__mpu_private = {
- 	.master		= &omap44xx_mpu_hwmod,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0048-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0048-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch
deleted file mode 100644
index e3a50ac..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0048-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4f6739c756baab556e7ad8ddb33c0d3fb822179a Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:45 -0600
-Subject: [PATCH 048/149] OMAP4: clock data: Add sddiv to USB DPLL
-
-The USB DPLL is a J-Type DPLL with the sddiv extra parameter.  Add it
-in USB DPLL.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-[paul at pwsan.com: dropped UNIPRO change since it is removed in a later patch]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 8c96567..f28a9c9 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -1015,6 +1015,7 @@ static struct dpll_data dpll_usb_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
-+	.sddiv_mask	= OMAP4430_DPLL_SD_DIV_MASK,
- 	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
- 	.max_divider	= OMAP4430_MAX_DPLL_DIV,
- 	.min_divider	= 1,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0049-OMAP4-clock-data-Remove-usb_host_fs-clkdev-with-NULL.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0049-OMAP4-clock-data-Remove-usb_host_fs-clkdev-with-NULL.patch
deleted file mode 100644
index 8cb1123..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0049-OMAP4-clock-data-Remove-usb_host_fs-clkdev-with-NULL.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 776007fbd8db1764179c9cf9f93d3b5ef2fef782 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:45 -0600
-Subject: [PATCH 049/149] OMAP4: clock data: Remove usb_host_fs clkdev with NULL dev
-
-usb_host_fs_fck does have a clkdev mapping with "usbhs-omap.0"
-and "fs_fck" alias used by the driver.
-The entry with NULL dev is thus not needed anymore.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |    3 ---
- 1 files changed, 0 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index f28a9c9..0fa1cb8 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -3205,7 +3205,6 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"uart2_fck",			&uart2_fck,	CK_443X),
- 	CLK(NULL,	"uart3_fck",			&uart3_fck,	CK_443X),
- 	CLK(NULL,	"uart4_fck",			&uart4_fck,	CK_443X),
--	CLK(NULL,	"usb_host_fs_fck",		&usb_host_fs_fck,	CK_443X),
- 	CLK("usbhs-omap.0",	"fs_fck",		&usb_host_fs_fck,	CK_443X),
- 	CLK(NULL,	"utmi_p1_gfclk",		&utmi_p1_gfclk,	CK_443X),
- 	CLK(NULL,	"usb_host_hs_utmi_p1_clk",	&usb_host_hs_utmi_p1_clk,	CK_443X),
-@@ -3217,7 +3216,6 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"usb_host_hs_hsic60m_p2_clk",	&usb_host_hs_hsic60m_p2_clk,	CK_443X),
- 	CLK(NULL,	"usb_host_hs_hsic480m_p2_clk",	&usb_host_hs_hsic480m_p2_clk,	CK_443X),
- 	CLK(NULL,	"usb_host_hs_func48mclk",	&usb_host_hs_func48mclk,	CK_443X),
--	CLK(NULL,	"usb_host_hs_fck",		&usb_host_hs_fck,	CK_443X),
- 	CLK("usbhs-omap.0",	"hs_fck",		&usb_host_hs_fck,	CK_443X),
- 	CLK("usbhs-omap.0",	"usbhost_ick",		&dummy_ck,		CK_443X),
- 	CLK(NULL,	"otg_60m_gfclk",		&otg_60m_gfclk,	CK_443X),
-@@ -3227,7 +3225,6 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"usb_tll_hs_usb_ch2_clk",	&usb_tll_hs_usb_ch2_clk,	CK_443X),
- 	CLK(NULL,	"usb_tll_hs_usb_ch0_clk",	&usb_tll_hs_usb_ch0_clk,	CK_443X),
- 	CLK(NULL,	"usb_tll_hs_usb_ch1_clk",	&usb_tll_hs_usb_ch1_clk,	CK_443X),
--	CLK(NULL,	"usb_tll_hs_ick",		&usb_tll_hs_ick,	CK_443X),
- 	CLK("usbhs-omap.0",	"usbtll_ick",		&usb_tll_hs_ick,	CK_443X),
- 	CLK("usbhs-omap.0",	"usbtll_fck",		&dummy_ck,	CK_443X),
- 	CLK(NULL,	"usim_ck",			&usim_ck,	CK_443X),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0050-OMAP4-clock-data-Re-order-some-clock-nodes-and-struc.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0050-OMAP4-clock-data-Re-order-some-clock-nodes-and-struc.patch
deleted file mode 100644
index 24a888c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0050-OMAP4-clock-data-Re-order-some-clock-nodes-and-struc.patch
+++ /dev/null
@@ -1,229 +0,0 @@
-From e19d3b7293245b4aad98b5ace320caad14e27c11 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:45 -0600
-Subject: [PATCH 050/149] OMAP4: clock data: Re-order some clock nodes and structure fields
-
-A couple of fieds were edited manually and thus do not stick
-to the template used by the generator and by other structures.
-
-Move them to the correct location.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-[paul at pwsan.com: dropped the UNIPRO changes since those will be removed
- in a later patch]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |   66 +++++++++++++++++----------------
- 1 files changed, 34 insertions(+), 32 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 0fa1cb8..4b57d55 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -53,9 +53,9 @@ static struct clk extalt_clkin_ck = {
- static struct clk pad_clks_ck = {
- 	.name		= "pad_clks_ck",
- 	.rate		= 12000000,
--	.ops            = &clkops_omap2_dflt,
--	.enable_reg     = OMAP4430_CM_CLKSEL_ABE,
--	.enable_bit     = OMAP4430_PAD_CLKS_GATE_SHIFT,
-+	.ops		= &clkops_omap2_dflt,
-+	.enable_reg	= OMAP4430_CM_CLKSEL_ABE,
-+	.enable_bit	= OMAP4430_PAD_CLKS_GATE_SHIFT,
- };
- 
- static struct clk pad_slimbus_core_clks_ck = {
-@@ -73,9 +73,9 @@ static struct clk secure_32k_clk_src_ck = {
- static struct clk slimbus_clk = {
- 	.name		= "slimbus_clk",
- 	.rate		= 12000000,
--	.ops            = &clkops_omap2_dflt,
--	.enable_reg     = OMAP4430_CM_CLKSEL_ABE,
--	.enable_bit     = OMAP4430_SLIMBUS_CLK_GATE_SHIFT,
-+	.ops		= &clkops_omap2_dflt,
-+	.enable_reg	= OMAP4430_CM_CLKSEL_ABE,
-+	.enable_bit	= OMAP4430_SLIMBUS_CLK_GATE_SHIFT,
- };
- 
- static struct clk sys_32k_ck = {
-@@ -278,10 +278,10 @@ static struct clk dpll_abe_ck = {
- static struct clk dpll_abe_x2_ck = {
- 	.name		= "dpll_abe_x2_ck",
- 	.parent		= &dpll_abe_ck,
-+	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_ABE,
- 	.flags		= CLOCK_CLKOUTX2,
- 	.ops		= &clkops_omap4_dpllmx_ops,
- 	.recalc		= &omap3_clkoutx2_recalc,
--	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_ABE,
- };
- 
- static const struct clksel_rate div31_1to31_rates[] = {
-@@ -622,11 +622,11 @@ static struct clk dpll_core_m3x2_ck = {
- 	.clksel_reg	= OMAP4430_CM_DIV_M3_DPLL_CORE,
- 	.clksel_mask	= OMAP4430_DPLL_CLKOUTHIF_DIV_MASK,
- 	.ops		= &clkops_omap2_dflt,
--	.enable_reg	= OMAP4430_CM_DIV_M3_DPLL_CORE,
--	.enable_bit	= OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT,
- 	.recalc		= &omap2_clksel_recalc,
- 	.round_rate	= &omap2_clksel_round_rate,
- 	.set_rate	= &omap2_clksel_set_rate,
-+	.enable_reg	= OMAP4430_CM_DIV_M3_DPLL_CORE,
-+	.enable_bit	= OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT,
- };
- 
- static struct clk dpll_core_m7x2_ck = {
-@@ -850,10 +850,10 @@ static struct clk dpll_per_m2_ck = {
- static struct clk dpll_per_x2_ck = {
- 	.name		= "dpll_per_x2_ck",
- 	.parent		= &dpll_per_ck,
-+	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_PER,
- 	.flags		= CLOCK_CLKOUTX2,
- 	.ops		= &clkops_omap4_dpllmx_ops,
- 	.recalc		= &omap3_clkoutx2_recalc,
--	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_PER,
- };
- 
- static const struct clksel dpll_per_m2x2_div[] = {
-@@ -880,11 +880,11 @@ static struct clk dpll_per_m3x2_ck = {
- 	.clksel_reg	= OMAP4430_CM_DIV_M3_DPLL_PER,
- 	.clksel_mask	= OMAP4430_DPLL_CLKOUTHIF_DIV_MASK,
- 	.ops		= &clkops_omap2_dflt,
--	.enable_reg	= OMAP4430_CM_DIV_M3_DPLL_PER,
--	.enable_bit	= OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT,
- 	.recalc		= &omap2_clksel_recalc,
- 	.round_rate	= &omap2_clksel_round_rate,
- 	.set_rate	= &omap2_clksel_set_rate,
-+	.enable_reg	= OMAP4430_CM_DIV_M3_DPLL_PER,
-+	.enable_bit	= OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT,
- };
- 
- static struct clk dpll_per_m4x2_ck = {
-@@ -970,8 +970,9 @@ static struct clk dpll_unipro_ck = {
- static struct clk dpll_unipro_x2_ck = {
- 	.name		= "dpll_unipro_x2_ck",
- 	.parent		= &dpll_unipro_ck,
-+	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_UNIPRO,
- 	.flags		= CLOCK_CLKOUTX2,
--	.ops		= &clkops_null,
-+	.ops		= &clkops_omap4_dpllmx_ops,
- 	.recalc		= &omap3_clkoutx2_recalc,
- };
- 
-@@ -1036,8 +1037,8 @@ static struct clk dpll_usb_ck = {
- static struct clk dpll_usb_clkdcoldo_ck = {
- 	.name		= "dpll_usb_clkdcoldo_ck",
- 	.parent		= &dpll_usb_ck,
--	.ops		= &clkops_omap4_dpllmx_ops,
- 	.clksel_reg	= OMAP4430_CM_CLKDCOLDO_DPLL_USB,
-+	.ops		= &clkops_omap4_dpllmx_ops,
- 	.recalc		= &followparent_recalc,
- };
- 
-@@ -1847,8 +1848,8 @@ static struct clk l3_instr_ick = {
- 	.ops		= &clkops_omap2_dflt,
- 	.enable_reg	= OMAP4430_CM_L3INSTR_L3_INSTR_CLKCTRL,
- 	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
--	.clkdm_name	= "l3_instr_clkdm",
- 	.flags		= ENABLE_ON_INIT,
-+	.clkdm_name	= "l3_instr_clkdm",
- 	.parent		= &l3_div_ck,
- 	.recalc		= &followparent_recalc,
- };
-@@ -1858,8 +1859,8 @@ static struct clk l3_main_3_ick = {
- 	.ops		= &clkops_omap2_dflt,
- 	.enable_reg	= OMAP4430_CM_L3INSTR_L3_3_CLKCTRL,
- 	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
--	.clkdm_name	= "l3_instr_clkdm",
- 	.flags		= ENABLE_ON_INIT,
-+	.clkdm_name	= "l3_instr_clkdm",
- 	.parent		= &l3_div_ck,
- 	.recalc		= &followparent_recalc,
- };
-@@ -2163,8 +2164,8 @@ static struct clk ocp_wp_noc_ick = {
- 	.ops		= &clkops_omap2_dflt,
- 	.enable_reg	= OMAP4430_CM_L3INSTR_OCP_WP1_CLKCTRL,
- 	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
--	.clkdm_name	= "l3_instr_clkdm",
- 	.flags		= ENABLE_ON_INIT,
-+	.clkdm_name	= "l3_instr_clkdm",
- 	.parent		= &l3_div_ck,
- 	.recalc		= &followparent_recalc,
- };
-@@ -2896,6 +2897,7 @@ static struct clk auxclk2_ck = {
- 	.enable_reg	= OMAP4_SCRM_AUXCLK2,
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
-+
- static struct clk auxclk3_ck = {
- 	.name		= "auxclk3_ck",
- 	.parent		= &sys_clkin_ck,
-@@ -3217,7 +3219,6 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"usb_host_hs_hsic480m_p2_clk",	&usb_host_hs_hsic480m_p2_clk,	CK_443X),
- 	CLK(NULL,	"usb_host_hs_func48mclk",	&usb_host_hs_func48mclk,	CK_443X),
- 	CLK("usbhs-omap.0",	"hs_fck",		&usb_host_hs_fck,	CK_443X),
--	CLK("usbhs-omap.0",	"usbhost_ick",		&dummy_ck,		CK_443X),
- 	CLK(NULL,	"otg_60m_gfclk",		&otg_60m_gfclk,	CK_443X),
- 	CLK(NULL,	"usb_otg_hs_xclk",		&usb_otg_hs_xclk,	CK_443X),
- 	CLK("musb-omap2430",	"ick",				&usb_otg_hs_ick,	CK_443X),
-@@ -3226,15 +3227,25 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"usb_tll_hs_usb_ch0_clk",	&usb_tll_hs_usb_ch0_clk,	CK_443X),
- 	CLK(NULL,	"usb_tll_hs_usb_ch1_clk",	&usb_tll_hs_usb_ch1_clk,	CK_443X),
- 	CLK("usbhs-omap.0",	"usbtll_ick",		&usb_tll_hs_ick,	CK_443X),
--	CLK("usbhs-omap.0",	"usbtll_fck",		&dummy_ck,	CK_443X),
- 	CLK(NULL,	"usim_ck",			&usim_ck,	CK_443X),
- 	CLK(NULL,	"usim_fclk",			&usim_fclk,	CK_443X),
- 	CLK(NULL,	"usim_fck",			&usim_fck,	CK_443X),
- 	CLK("omap_wdt",	"fck",				&wd_timer2_fck,	CK_443X),
--	CLK(NULL,	"mailboxes_ick",		&dummy_ck,	CK_443X),
- 	CLK(NULL,	"wd_timer3_fck",		&wd_timer3_fck,	CK_443X),
- 	CLK(NULL,	"stm_clk_div_ck",		&stm_clk_div_ck,	CK_443X),
- 	CLK(NULL,	"trace_clk_div_ck",		&trace_clk_div_ck,	CK_443X),
-+	CLK(NULL,	"auxclk0_ck",			&auxclk0_ck,	CK_443X),
-+	CLK(NULL,	"auxclk1_ck",			&auxclk1_ck,	CK_443X),
-+	CLK(NULL,	"auxclk2_ck",			&auxclk2_ck,	CK_443X),
-+	CLK(NULL,	"auxclk3_ck",			&auxclk3_ck,	CK_443X),
-+	CLK(NULL,	"auxclk4_ck",			&auxclk4_ck,	CK_443X),
-+	CLK(NULL,	"auxclk5_ck",			&auxclk5_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq0_ck",		&auxclkreq0_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq1_ck",		&auxclkreq1_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq2_ck",		&auxclkreq2_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq3_ck",		&auxclkreq3_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq4_ck",		&auxclkreq4_ck,	CK_443X),
-+	CLK(NULL,	"auxclkreq5_ck",		&auxclkreq5_ck,	CK_443X),
- 	CLK(NULL,	"gpmc_ck",			&dummy_ck,	CK_443X),
- 	CLK(NULL,	"gpt1_ick",			&dummy_ck,	CK_443X),
- 	CLK(NULL,	"gpt2_ick",			&dummy_ck,	CK_443X),
-@@ -3251,6 +3262,7 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK("omap_i2c.2",	"ick",				&dummy_ck,	CK_443X),
- 	CLK("omap_i2c.3",	"ick",				&dummy_ck,	CK_443X),
- 	CLK("omap_i2c.4",	"ick",				&dummy_ck,	CK_443X),
-+	CLK(NULL,	"mailboxes_ick",		&dummy_ck,	CK_443X),
- 	CLK("omap_hsmmc.0",	"ick",				&dummy_ck,	CK_443X),
- 	CLK("omap_hsmmc.1",	"ick",				&dummy_ck,	CK_443X),
- 	CLK("omap_hsmmc.2",	"ick",				&dummy_ck,	CK_443X),
-@@ -3268,19 +3280,9 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"uart2_ick",			&dummy_ck,	CK_443X),
- 	CLK(NULL,	"uart3_ick",			&dummy_ck,	CK_443X),
- 	CLK(NULL,	"uart4_ick",			&dummy_ck,	CK_443X),
-+	CLK("usbhs-omap.0",	"usbhost_ick",		&dummy_ck,		CK_443X),
-+	CLK("usbhs-omap.0",	"usbtll_fck",		&dummy_ck,	CK_443X),
- 	CLK("omap_wdt",	"ick",				&dummy_ck,	CK_443X),
--	CLK(NULL,	"auxclk0_ck",			&auxclk0_ck,	CK_443X),
--	CLK(NULL,	"auxclk1_ck",			&auxclk1_ck,	CK_443X),
--	CLK(NULL,	"auxclk2_ck",			&auxclk2_ck,	CK_443X),
--	CLK(NULL,	"auxclk3_ck",			&auxclk3_ck,	CK_443X),
--	CLK(NULL,	"auxclk4_ck",			&auxclk4_ck,	CK_443X),
--	CLK(NULL,	"auxclk5_ck",			&auxclk5_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq0_ck",		&auxclkreq0_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq1_ck",		&auxclkreq1_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq2_ck",		&auxclkreq2_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq3_ck",		&auxclkreq3_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq4_ck",		&auxclkreq4_ck,	CK_443X),
--	CLK(NULL,	"auxclkreq5_ck",		&auxclkreq5_ck,	CK_443X),
- };
- 
- int __init omap4xxx_clk_init(void)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0051-OMAP4-clock-data-Fix-max-mult-and-div-for-USB-DPLL.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0051-OMAP4-clock-data-Fix-max-mult-and-div-for-USB-DPLL.patch
deleted file mode 100644
index c04c192..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0051-OMAP4-clock-data-Fix-max-mult-and-div-for-USB-DPLL.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From 6fdbb61306456ada90c0b0e3ee2c8245077b7b02 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:14:46 -0600
-Subject: [PATCH 051/149] OMAP4: clock data: Fix max mult and div for USB DPLL
-
-The DPLL USB can generate higher speed (x2) than the regular ones.
-The max multiplication value is then twice the previous value.
-
-Fix both max_mult and max_div with that correct values.
-
-Change the max_div variable type to u16 to allow storing up to 256.
-
-Replace as well the define with the value to avoid
-unneeded indirection and provide a better readability.
-
-Remove the defines that become useless.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx.h         |    7 -------
- arch/arm/mach-omap2/clock44xx_data.c    |   29 ++++++++++++++---------------
- arch/arm/plat-omap/include/plat/clock.h |    2 +-
- 3 files changed, 15 insertions(+), 23 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx.h b/arch/arm/mach-omap2/clock44xx.h
-index 6be1095..7ceb870 100644
---- a/arch/arm/mach-omap2/clock44xx.h
-+++ b/arch/arm/mach-omap2/clock44xx.h
-@@ -8,13 +8,6 @@
- #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK44XX_H
- #define __ARCH_ARM_MACH_OMAP2_CLOCK44XX_H
- 
--/*
-- * XXX Missing values for the OMAP4 DPLL_USB
-- * XXX Missing min_multiplier values for all OMAP4 DPLLs
-- */
--#define OMAP4430_MAX_DPLL_MULT	2047
--#define OMAP4430_MAX_DPLL_DIV	128
--
- int omap4xxx_clk_init(void);
- 
- #endif
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 4b57d55..8307c9e 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -258,8 +258,8 @@ static struct dpll_data dpll_abe_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -434,8 +434,8 @@ static struct dpll_data dpll_core_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -672,8 +672,8 @@ static struct dpll_data dpll_iva_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -740,8 +740,8 @@ static struct dpll_data dpll_mpu_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -813,8 +813,8 @@ static struct dpll_data dpll_per_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -949,9 +949,8 @@ static struct dpll_data dpll_unipro_dd = {
- 	.enable_mask	= OMAP4430_DPLL_EN_MASK,
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.sddiv_mask	= OMAP4430_DPLL_SD_DIV_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 2047,
-+	.max_divider	= 128,
- 	.min_divider	= 1,
- };
- 
-@@ -1017,8 +1016,8 @@ static struct dpll_data dpll_usb_dd = {
- 	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
- 	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
- 	.sddiv_mask	= OMAP4430_DPLL_SD_DIV_MASK,
--	.max_multiplier	= OMAP4430_MAX_DPLL_MULT,
--	.max_divider	= OMAP4430_MAX_DPLL_DIV,
-+	.max_multiplier	= 4095,
-+	.max_divider	= 256,
- 	.min_divider	= 1,
- };
- 
-diff --git a/arch/arm/plat-omap/include/plat/clock.h b/arch/arm/plat-omap/include/plat/clock.h
-index 006e599..f57e064 100644
---- a/arch/arm/plat-omap/include/plat/clock.h
-+++ b/arch/arm/plat-omap/include/plat/clock.h
-@@ -152,7 +152,7 @@ struct dpll_data {
- 	u16			max_multiplier;
- 	u8			last_rounded_n;
- 	u8			min_divider;
--	u8			max_divider;
-+	u16			max_divider;
- 	u8			modes;
- #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4)
- 	void __iomem		*autoidle_reg;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0052-OMAP4-prcm-Fix-errors-in-few-defines-name.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0052-OMAP4-prcm-Fix-errors-in-few-defines-name.patch
deleted file mode 100644
index e370992..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0052-OMAP4-prcm-Fix-errors-in-few-defines-name.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-From e96136d547a0de958c051e0ec6a0873f27a94537 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:04 -0600
-Subject: [PATCH 052/149] OMAP4: prcm: Fix errors in few defines name
-
-A couple of macros were wrongly changed during the _MOD to _INST
-rename done in the following commit:
-
-  OMAP4: PRCM: rename _MOD macros to _INST
-  cdb54c4457d68994da7c2e16907adfbfc130060d
-
-Fix them to their original name.
-
-Some CM and PRM instances were not well aligned. Align them.
-
-Remove one blank line in cm2_44xx.h to align the output with
-the other (cm1_44xx.h, prm44xx.h) files.
-
-Update header copyright date.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/cm1_44xx.h |   28 ++++++++++++++--------------
- arch/arm/mach-omap2/cm2_44xx.h |   23 +++++++++++------------
- arch/arm/mach-omap2/prm44xx.h  |   22 +++++++++++-----------
- 3 files changed, 36 insertions(+), 37 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/cm1_44xx.h b/arch/arm/mach-omap2/cm1_44xx.h
-index e2d7a56..fc649f5 100644
---- a/arch/arm/mach-omap2/cm1_44xx.h
-+++ b/arch/arm/mach-omap2/cm1_44xx.h
-@@ -1,7 +1,7 @@
- /*
-  * OMAP44xx CM1 instance offset macros
-  *
-- * Copyright (C) 2009-2010 Texas Instruments, Inc.
-+ * Copyright (C) 2009-2011 Texas Instruments, Inc.
-  * Copyright (C) 2009-2010 Nokia Corporation
-  *
-  * Paul Walmsley (paul at pwsan.com)
-@@ -41,9 +41,9 @@
- #define OMAP4430_CM1_INSTR_INST		0x0f00
- 
- /* CM1 clockdomain register offsets (from instance start) */
--#define OMAP4430_CM1_ABE_ABE_CDOFFS		0x0000
--#define OMAP4430_CM1_MPU_MPU_CDOFFS		0x0000
--#define OMAP4430_CM1_TESLA_TESLA_CDOFFS		0x0000
-+#define OMAP4430_CM1_MPU_MPU_CDOFFS	0x0000
-+#define OMAP4430_CM1_TESLA_TESLA_CDOFFS	0x0000
-+#define OMAP4430_CM1_ABE_ABE_CDOFFS	0x0000
- 
- /* CM1 */
- 
-@@ -82,8 +82,8 @@
- #define OMAP4430_CM_DIV_M7_DPLL_CORE			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0044)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_CORE_OFFSET	0x0048
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_CORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0048)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_CORE_OFFSET	0x004c
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_CORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x004c)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_CORE_OFFSET	0x004c
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_CORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x004c)
- #define OMAP4_CM_EMU_OVERRIDE_DPLL_CORE_OFFSET		0x0050
- #define OMAP4430_CM_EMU_OVERRIDE_DPLL_CORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0050)
- #define OMAP4_CM_CLKMODE_DPLL_MPU_OFFSET		0x0060
-@@ -98,8 +98,8 @@
- #define OMAP4430_CM_DIV_M2_DPLL_MPU			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0070)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_MPU_OFFSET		0x0088
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_MPU		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0088)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_MPU_OFFSET		0x008c
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_MPU		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x008c)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_MPU_OFFSET		0x008c
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_MPU		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x008c)
- #define OMAP4_CM_BYPCLK_DPLL_MPU_OFFSET			0x009c
- #define OMAP4430_CM_BYPCLK_DPLL_MPU			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x009c)
- #define OMAP4_CM_CLKMODE_DPLL_IVA_OFFSET		0x00a0
-@@ -116,8 +116,8 @@
- #define OMAP4430_CM_DIV_M5_DPLL_IVA			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00bc)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_IVA_OFFSET		0x00c8
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_IVA		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00c8)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_IVA_OFFSET		0x00cc
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_IVA		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00cc)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_IVA_OFFSET		0x00cc
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_IVA		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00cc)
- #define OMAP4_CM_BYPCLK_DPLL_IVA_OFFSET			0x00dc
- #define OMAP4430_CM_BYPCLK_DPLL_IVA			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00dc)
- #define OMAP4_CM_CLKMODE_DPLL_ABE_OFFSET		0x00e0
-@@ -134,8 +134,8 @@
- #define OMAP4430_CM_DIV_M3_DPLL_ABE			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x00f4)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_ABE_OFFSET		0x0108
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_ABE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0108)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_ABE_OFFSET		0x010c
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_ABE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x010c)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_ABE_OFFSET		0x010c
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_ABE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x010c)
- #define OMAP4_CM_CLKMODE_DPLL_DDRPHY_OFFSET		0x0120
- #define OMAP4430_CM_CLKMODE_DPLL_DDRPHY			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0120)
- #define OMAP4_CM_IDLEST_DPLL_DDRPHY_OFFSET		0x0124
-@@ -154,8 +154,8 @@
- #define OMAP4430_CM_DIV_M6_DPLL_DDRPHY			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0140)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_DDRPHY_OFFSET	0x0148
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_DDRPHY		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0148)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_DDRPHY_OFFSET	0x014c
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_DDRPHY		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x014c)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_DDRPHY_OFFSET	0x014c
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_DDRPHY		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x014c)
- #define OMAP4_CM_SHADOW_FREQ_CONFIG1_OFFSET		0x0160
- #define OMAP4430_CM_SHADOW_FREQ_CONFIG1			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_CKGEN_INST, 0x0160)
- #define OMAP4_CM_SHADOW_FREQ_CONFIG2_OFFSET		0x0164
-diff --git a/arch/arm/mach-omap2/cm2_44xx.h b/arch/arm/mach-omap2/cm2_44xx.h
-index aa47450..8036a16 100644
---- a/arch/arm/mach-omap2/cm2_44xx.h
-+++ b/arch/arm/mach-omap2/cm2_44xx.h
-@@ -1,7 +1,7 @@
- /*
-  * OMAP44xx CM2 instance offset macros
-  *
-- * Copyright (C) 2009-2010 Texas Instruments, Inc.
-+ * Copyright (C) 2009-2011 Texas Instruments, Inc.
-  * Copyright (C) 2009-2010 Nokia Corporation
-  *
-  * Paul Walmsley (paul at pwsan.com)
-@@ -40,9 +40,9 @@
- #define OMAP4430_CM2_CAM_INST		0x1000
- #define OMAP4430_CM2_DSS_INST		0x1100
- #define OMAP4430_CM2_GFX_INST		0x1200
--#define OMAP4430_CM2_L3INIT_INST		0x1300
-+#define OMAP4430_CM2_L3INIT_INST	0x1300
- #define OMAP4430_CM2_L4PER_INST		0x1400
--#define OMAP4430_CM2_CEFUSE_INST		0x1600
-+#define OMAP4430_CM2_CEFUSE_INST	0x1600
- #define OMAP4430_CM2_RESTORE_INST	0x1e00
- #define OMAP4430_CM2_INSTR_INST		0x1f00
- 
-@@ -65,7 +65,6 @@
- #define OMAP4430_CM2_L4PER_L4SEC_CDOFFS		0x0180
- #define OMAP4430_CM2_CEFUSE_CEFUSE_CDOFFS	0x0000
- 
--
- /* CM2 */
- 
- /* CM2.OCP_SOCKET_CM2 register offsets */
-@@ -121,8 +120,8 @@
- #define OMAP4430_CM_DIV_M7_DPLL_PER			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x0064)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_PER_OFFSET		0x0068
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_PER		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x0068)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_PER_OFFSET		0x006c
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_PER		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x006c)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_PER_OFFSET		0x006c
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_PER		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x006c)
- #define OMAP4_CM_CLKMODE_DPLL_USB_OFFSET		0x0080
- #define OMAP4430_CM_CLKMODE_DPLL_USB			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x0080)
- #define OMAP4_CM_IDLEST_DPLL_USB_OFFSET			0x0084
-@@ -135,8 +134,8 @@
- #define OMAP4430_CM_DIV_M2_DPLL_USB			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x0090)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_USB_OFFSET		0x00a8
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_USB		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00a8)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_USB_OFFSET		0x00ac
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_USB		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00ac)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_USB_OFFSET		0x00ac
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_USB		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00ac)
- #define OMAP4_CM_CLKDCOLDO_DPLL_USB_OFFSET		0x00b4
- #define OMAP4430_CM_CLKDCOLDO_DPLL_USB			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00b4)
- #define OMAP4_CM_CLKMODE_DPLL_UNIPRO_OFFSET		0x00c0
-@@ -151,8 +150,8 @@
- #define OMAP4430_CM_DIV_M2_DPLL_UNIPRO			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00d0)
- #define OMAP4_CM_SSC_DELTAMSTEP_DPLL_UNIPRO_OFFSET	0x00e8
- #define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_UNIPRO		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00e8)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_UNIPRO_OFFSET	0x00ec
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_UNIPRO		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00ec)
-+#define OMAP4_CM_SSC_MODFREQDIV_DPLL_UNIPRO_OFFSET	0x00ec
-+#define OMAP4430_CM_SSC_MODFREQDIV_DPLL_UNIPRO		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CKGEN_INST, 0x00ec)
- 
- /* CM2.ALWAYS_ON_CM2 register offsets */
- #define OMAP4_CM_ALWON_CLKSTCTRL_OFFSET			0x0000
-@@ -227,8 +226,8 @@
- #define OMAP4430_CM_D2D_DYNAMICDEP			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CORE_INST, 0x0508)
- #define OMAP4_CM_D2D_SAD2D_CLKCTRL_OFFSET		0x0520
- #define OMAP4430_CM_D2D_SAD2D_CLKCTRL			OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CORE_INST, 0x0520)
--#define OMAP4_CM_D2D_INSTEM_ICR_CLKCTRL_OFFSET		0x0528
--#define OMAP4430_CM_D2D_INSTEM_ICR_CLKCTRL		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CORE_INST, 0x0528)
-+#define OMAP4_CM_D2D_MODEM_ICR_CLKCTRL_OFFSET		0x0528
-+#define OMAP4430_CM_D2D_MODEM_ICR_CLKCTRL		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CORE_INST, 0x0528)
- #define OMAP4_CM_D2D_SAD2D_FW_CLKCTRL_OFFSET		0x0530
- #define OMAP4430_CM_D2D_SAD2D_FW_CLKCTRL		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CORE_INST, 0x0530)
- #define OMAP4_CM_L4CFG_CLKSTCTRL_OFFSET			0x0600
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 67a0d3f..2aec8c8 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -31,7 +31,7 @@
- #define OMAP4430_PRM_BASE		0x4a306000
- 
- #define OMAP44XX_PRM_REGADDR(inst, reg)				\
--	OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE +	(inst) + (reg))
-+	OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE + (inst) + (reg))
- 
- 
- /* PRM instances */
-@@ -46,14 +46,14 @@
- #define OMAP4430_PRM_CAM_INST		0x1000
- #define OMAP4430_PRM_DSS_INST		0x1100
- #define OMAP4430_PRM_GFX_INST		0x1200
--#define OMAP4430_PRM_L3INIT_INST		0x1300
-+#define OMAP4430_PRM_L3INIT_INST	0x1300
- #define OMAP4430_PRM_L4PER_INST		0x1400
--#define OMAP4430_PRM_CEFUSE_INST		0x1600
-+#define OMAP4430_PRM_CEFUSE_INST	0x1600
- #define OMAP4430_PRM_WKUP_INST		0x1700
- #define OMAP4430_PRM_WKUP_CM_INST	0x1800
- #define OMAP4430_PRM_EMU_INST		0x1900
--#define OMAP4430_PRM_EMU_CM_INST		0x1a00
--#define OMAP4430_PRM_DEVICE_INST		0x1b00
-+#define OMAP4430_PRM_EMU_CM_INST	0x1a00
-+#define OMAP4430_PRM_DEVICE_INST	0x1b00
- #define OMAP4430_PRM_INSTR_INST		0x1f00
- 
- /* PRM clockdomain register offsets (from instance start) */
-@@ -247,8 +247,8 @@
- #define OMAP4430_RM_MEMIF_DLL_H_CONTEXT			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0464)
- #define OMAP4_RM_D2D_SAD2D_CONTEXT_OFFSET		0x0524
- #define OMAP4430_RM_D2D_SAD2D_CONTEXT			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0524)
--#define OMAP4_RM_D2D_INSTEM_ICR_CONTEXT_OFFSET		0x052c
--#define OMAP4430_RM_D2D_INSTEM_ICR_CONTEXT		OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x052c)
-+#define OMAP4_RM_D2D_MODEM_ICR_CONTEXT_OFFSET		0x052c
-+#define OMAP4430_RM_D2D_MODEM_ICR_CONTEXT		OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x052c)
- #define OMAP4_RM_D2D_SAD2D_FW_CONTEXT_OFFSET		0x0534
- #define OMAP4430_RM_D2D_SAD2D_FW_CONTEXT		OMAP44XX_PRM_REGADDR(OMAP4430_PRM_CORE_INST, 0x0534)
- #define OMAP4_RM_L4CFG_L4_CFG_CONTEXT_OFFSET		0x0624
-@@ -713,8 +713,8 @@
- #define OMAP4430_PRM_VC_VAL_BYPASS			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a0)
- #define OMAP4_PRM_VC_CFG_CHANNEL_OFFSET			0x00a4
- #define OMAP4430_PRM_VC_CFG_CHANNEL			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a4)
--#define OMAP4_PRM_VC_CFG_I2C_INSTE_OFFSET		0x00a8
--#define OMAP4430_PRM_VC_CFG_I2C_INSTE			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a8)
-+#define OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET		0x00a8
-+#define OMAP4430_PRM_VC_CFG_I2C_MODE			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00a8)
- #define OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET			0x00ac
- #define OMAP4430_PRM_VC_CFG_I2C_CLK			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00ac)
- #define OMAP4_PRM_SRAM_COUNT_OFFSET			0x00b0
-@@ -751,8 +751,8 @@
- #define OMAP4430_PRM_PHASE2A_CNDP			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00ec)
- #define OMAP4_PRM_PHASE2B_CNDP_OFFSET			0x00f0
- #define OMAP4430_PRM_PHASE2B_CNDP			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f0)
--#define OMAP4_PRM_INSTEM_IF_CTRL_OFFSET			0x00f4
--#define OMAP4430_PRM_INSTEM_IF_CTRL			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f4)
-+#define OMAP4_PRM_MODEM_IF_CTRL_OFFSET			0x00f4
-+#define OMAP4430_PRM_MODEM_IF_CTRL			OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f4)
- #define OMAP4_PRM_VC_ERRST_OFFSET			0x00f8
- #define OMAP4430_PRM_VC_ERRST				OMAP44XX_PRM_REGADDR(OMAP4430_PRM_DEVICE_INST, 0x00f8)
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0053-OMAP4-prm-Remove-wrong-clockdomain-offsets.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0053-OMAP4-prm-Remove-wrong-clockdomain-offsets.patch
deleted file mode 100644
index ea6138e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0053-OMAP4-prm-Remove-wrong-clockdomain-offsets.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 6066c8802de9f6a1006a8e31aa833615060a2a5b Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:04 -0600
-Subject: [PATCH 053/149] OMAP4: prm: Remove wrong clockdomain offsets
-
-The following commit introduced new macros to define an offset
-per clock domain in an instance.
-
-commit e4156ee52fe617c2c2d80b5db993ff4bf07d7c3c
-
-    OMAP4: CM instances: add clockdomain register offsets
-
-The PRM contains only two clock controls management entities:
-EMU and WKUP.
-Remove the other ones.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/prm44xx.h |   12 ------------
- 1 files changed, 0 insertions(+), 12 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 2aec8c8..6e53120 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -57,19 +57,7 @@
- #define OMAP4430_PRM_INSTR_INST		0x1f00
- 
- /* PRM clockdomain register offsets (from instance start) */
--#define OMAP4430_PRM_MPU_MPU_CDOFFS		0x0000
--#define OMAP4430_PRM_TESLA_TESLA_CDOFFS		0x0000
--#define OMAP4430_PRM_ABE_ABE_CDOFFS		0x0000
--#define OMAP4430_PRM_CORE_CORE_CDOFFS		0x0000
--#define OMAP4430_PRM_IVAHD_IVAHD_CDOFFS		0x0000
--#define OMAP4430_PRM_CAM_CAM_CDOFFS		0x0000
--#define OMAP4430_PRM_DSS_DSS_CDOFFS		0x0000
--#define OMAP4430_PRM_GFX_GFX_CDOFFS		0x0000
--#define OMAP4430_PRM_L3INIT_L3INIT_CDOFFS	0x0000
--#define OMAP4430_PRM_L4PER_L4PER_CDOFFS		0x0000
--#define OMAP4430_PRM_CEFUSE_CEFUSE_CDOFFS	0x0000
- #define OMAP4430_PRM_WKUP_CM_WKUP_CDOFFS	0x0000
--#define OMAP4430_PRM_EMU_EMU_CDOFFS		0x0000
- #define OMAP4430_PRM_EMU_CM_EMU_CDOFFS		0x0000
- 
- /* OMAP4 specific register offsets */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0054-OMAP4-powerdomain-data-Fix-indentation.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0054-OMAP4-powerdomain-data-Fix-indentation.patch
deleted file mode 100644
index 93f10b1..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0054-OMAP4-powerdomain-data-Fix-indentation.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 7845ad0aca7c2976dc4021ed0c080f6605aacf09 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:05 -0600
-Subject: [PATCH 054/149] OMAP4: powerdomain data: Fix indentation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Indent flags to be aligned with other fields.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
-[paul at pwsan.com: split this patch from an earlier patch by Benoît;
- edited commit message]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/powerdomains44xx_data.c |   18 +++++++++---------
- 1 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomains44xx_data.c b/arch/arm/mach-omap2/powerdomains44xx_data.c
-index c4222c7..3a7e678 100644
---- a/arch/arm/mach-omap2/powerdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains44xx_data.c
-@@ -53,7 +53,7 @@ static struct powerdomain core_44xx_pwrdm = {
- 		[3] = PWRSTS_ON,	/* ducati_l2ram */
- 		[4] = PWRSTS_ON,	/* ducati_unicache */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* gfx_44xx_pwrdm: 3D accelerator power domain */
-@@ -70,7 +70,7 @@ static struct powerdomain gfx_44xx_pwrdm = {
- 	.pwrsts_mem_on	= {
- 		[0] = PWRSTS_ON,	/* gfx_mem */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* abe_44xx_pwrdm: Audio back end power domain */
-@@ -90,7 +90,7 @@ static struct powerdomain abe_44xx_pwrdm = {
- 		[0] = PWRSTS_ON,	/* aessmem */
- 		[1] = PWRSTS_ON,	/* periphmem */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* dss_44xx_pwrdm: Display subsystem power domain */
-@@ -108,7 +108,7 @@ static struct powerdomain dss_44xx_pwrdm = {
- 	.pwrsts_mem_on	= {
- 		[0] = PWRSTS_ON,	/* dss_mem */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* tesla_44xx_pwrdm: Tesla processor power domain */
-@@ -130,7 +130,7 @@ static struct powerdomain tesla_44xx_pwrdm = {
- 		[1] = PWRSTS_ON,	/* tesla_l1 */
- 		[2] = PWRSTS_ON,	/* tesla_l2 */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* wkup_44xx_pwrdm: Wake-up power domain */
-@@ -241,7 +241,7 @@ static struct powerdomain ivahd_44xx_pwrdm = {
- 		[2] = PWRSTS_ON,	/* tcm1_mem */
- 		[3] = PWRSTS_ON,	/* tcm2_mem */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* cam_44xx_pwrdm: Camera subsystem power domain */
-@@ -258,7 +258,7 @@ static struct powerdomain cam_44xx_pwrdm = {
- 	.pwrsts_mem_on	= {
- 		[0] = PWRSTS_ON,	/* cam_mem */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* l3init_44xx_pwrdm: L3 initators pheripherals power domain  */
-@@ -276,7 +276,7 @@ static struct powerdomain l3init_44xx_pwrdm = {
- 	.pwrsts_mem_on	= {
- 		[0] = PWRSTS_ON,	/* l3init_bank1 */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /* l4per_44xx_pwrdm: Target peripherals power domain */
-@@ -296,7 +296,7 @@ static struct powerdomain l4per_44xx_pwrdm = {
- 		[0] = PWRSTS_ON,	/* nonretained_bank */
- 		[1] = PWRSTS_ON,	/* retained_bank */
- 	},
--	.flags		= PWRDM_HAS_LOWPOWERSTATECHANGE,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /*
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0055-OMAP4-cm-Remove-RESTORE-macros-to-avoid-access-from-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0055-OMAP4-cm-Remove-RESTORE-macros-to-avoid-access-from-.patch
deleted file mode 100644
index a30bfc3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0055-OMAP4-cm-Remove-RESTORE-macros-to-avoid-access-from-.patch
+++ /dev/null
@@ -1,1523 +0,0 @@
-From 8471ffc0eead8b884b6a00462fc57a2018fd9289 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:05 -0600
-Subject: [PATCH 055/149] OMAP4: cm: Remove RESTORE macros to avoid access from SW
-
-The restore part of the CM is an alias of some regular registers
-used only during the SAR restore to facilate the dma to write
-a contiguous set of registers.
-The registers should never be used by the SW, only the original
-register have to be used.
-
-Remove them from cmX_44xx.h files to avoid anybody to use them by
-mistake.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/cm-regbits-44xx.h |  623 ++++++++++++++-------------------
- arch/arm/mach-omap2/cm1_44xx.h        |   36 --
- arch/arm/mach-omap2/cm2_44xx.h        |   50 ---
- 3 files changed, 254 insertions(+), 455 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/cm-regbits-44xx.h b/arch/arm/mach-omap2/cm-regbits-44xx.h
-index 9d47a05..0e77945 100644
---- a/arch/arm/mach-omap2/cm-regbits-44xx.h
-+++ b/arch/arm/mach-omap2/cm-regbits-44xx.h
-@@ -22,22 +22,18 @@
- #ifndef __ARCH_ARM_MACH_OMAP2_CM_REGBITS_44XX_H
- #define __ARCH_ARM_MACH_OMAP2_CM_REGBITS_44XX_H
- 
--/*
-- * Used by CM_L3_1_DYNAMICDEP, CM_L3_1_DYNAMICDEP_RESTORE, CM_MPU_DYNAMICDEP,
-- * CM_TESLA_DYNAMICDEP
-- */
-+/* Used by CM_L3_1_DYNAMICDEP, CM_MPU_DYNAMICDEP, CM_TESLA_DYNAMICDEP */
- #define OMAP4430_ABE_DYNDEP_SHIFT				3
- #define OMAP4430_ABE_DYNDEP_MASK				(1 << 3)
- 
- /*
-- * Used by CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE, CM_DUCATI_STATICDEP,
-- * CM_L3INIT_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP,
-- * CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * Used by CM_D2D_STATICDEP, CM_DUCATI_STATICDEP, CM_L3INIT_STATICDEP,
-+ * CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_ABE_STATDEP_SHIFT				3
- #define OMAP4430_ABE_STATDEP_MASK				(1 << 3)
- 
--/* Used by CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE */
-+/* Used by CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_ALWONCORE_DYNDEP_SHIFT				16
- #define OMAP4430_ALWONCORE_DYNDEP_MASK				(1 << 16)
- 
-@@ -47,14 +43,13 @@
- 
- /*
-  * Used by CM_AUTOIDLE_DPLL_ABE, CM_AUTOIDLE_DPLL_CORE,
-- * CM_AUTOIDLE_DPLL_CORE_RESTORE, CM_AUTOIDLE_DPLL_DDRPHY,
-- * CM_AUTOIDLE_DPLL_IVA, CM_AUTOIDLE_DPLL_MPU, CM_AUTOIDLE_DPLL_PER,
-- * CM_AUTOIDLE_DPLL_UNIPRO, CM_AUTOIDLE_DPLL_USB
-+ * CM_AUTOIDLE_DPLL_DDRPHY, CM_AUTOIDLE_DPLL_IVA, CM_AUTOIDLE_DPLL_MPU,
-+ * CM_AUTOIDLE_DPLL_PER, CM_AUTOIDLE_DPLL_UNIPRO, CM_AUTOIDLE_DPLL_USB
-  */
- #define OMAP4430_AUTO_DPLL_MODE_SHIFT				0
- #define OMAP4430_AUTO_DPLL_MODE_MASK				(0x7 << 0)
- 
--/* Used by CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE */
-+/* Used by CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_CEFUSE_DYNDEP_SHIFT				17
- #define OMAP4430_CEFUSE_DYNDEP_MASK				(1 << 17)
- 
-@@ -82,15 +77,15 @@
- #define OMAP4430_CLKACTIVITY_ABE_X2_CLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_ABE_X2_CLK_MASK			(1 << 8)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_ASYNC_DLL_CLK_SHIFT		11
- #define OMAP4430_CLKACTIVITY_ASYNC_DLL_CLK_MASK			(1 << 11)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_ASYNC_PHY1_CLK_SHIFT		12
- #define OMAP4430_CLKACTIVITY_ASYNC_PHY1_CLK_MASK		(1 << 12)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_ASYNC_PHY2_CLK_SHIFT		13
- #define OMAP4430_CLKACTIVITY_ASYNC_PHY2_CLK_MASK		(1 << 13)
- 
-@@ -110,31 +105,31 @@
- #define OMAP4430_CLKACTIVITY_CUST_EFUSE_SYS_CLK_SHIFT		9
- #define OMAP4430_CLKACTIVITY_CUST_EFUSE_SYS_CLK_MASK		(1 << 9)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DLL_CLK_SHIFT			9
- #define OMAP4430_CLKACTIVITY_DLL_CLK_MASK			(1 << 9)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT10_GFCLK_SHIFT			9
- #define OMAP4430_CLKACTIVITY_DMT10_GFCLK_MASK			(1 << 9)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT11_GFCLK_SHIFT			10
- #define OMAP4430_CLKACTIVITY_DMT11_GFCLK_MASK			(1 << 10)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT2_GFCLK_SHIFT			11
- #define OMAP4430_CLKACTIVITY_DMT2_GFCLK_MASK			(1 << 11)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT3_GFCLK_SHIFT			12
- #define OMAP4430_CLKACTIVITY_DMT3_GFCLK_MASK			(1 << 12)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT4_GFCLK_SHIFT			13
- #define OMAP4430_CLKACTIVITY_DMT4_GFCLK_MASK			(1 << 13)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_DMT9_GFCLK_SHIFT			14
- #define OMAP4430_CLKACTIVITY_DMT9_GFCLK_MASK			(1 << 14)
- 
-@@ -158,7 +153,7 @@
- #define OMAP4430_CLKACTIVITY_FDIF_GFCLK_SHIFT			10
- #define OMAP4430_CLKACTIVITY_FDIF_GFCLK_MASK			(1 << 10)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_FUNC_12M_GFCLK_SHIFT		15
- #define OMAP4430_CLKACTIVITY_FUNC_12M_GFCLK_MASK		(1 << 15)
- 
-@@ -170,55 +165,55 @@
- #define OMAP4430_CLKACTIVITY_HDMI_PHY_48MHZ_GFCLK_SHIFT		11
- #define OMAP4430_CLKACTIVITY_HDMI_PHY_48MHZ_GFCLK_MASK		(1 << 11)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_HSIC_P1_480M_GFCLK_SHIFT		20
- #define OMAP4430_CLKACTIVITY_HSIC_P1_480M_GFCLK_MASK		(1 << 20)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_HSIC_P1_GFCLK_SHIFT		26
- #define OMAP4430_CLKACTIVITY_HSIC_P1_GFCLK_MASK			(1 << 26)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_HSIC_P2_480M_GFCLK_SHIFT		21
- #define OMAP4430_CLKACTIVITY_HSIC_P2_480M_GFCLK_MASK		(1 << 21)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_HSIC_P2_GFCLK_SHIFT		27
- #define OMAP4430_CLKACTIVITY_HSIC_P2_GFCLK_MASK			(1 << 27)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_48MC_GFCLK_SHIFT		13
- #define OMAP4430_CLKACTIVITY_INIT_48MC_GFCLK_MASK		(1 << 13)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_48M_GFCLK_SHIFT		12
- #define OMAP4430_CLKACTIVITY_INIT_48M_GFCLK_MASK		(1 << 12)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_60M_P1_GFCLK_SHIFT		28
- #define OMAP4430_CLKACTIVITY_INIT_60M_P1_GFCLK_MASK		(1 << 28)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_60M_P2_GFCLK_SHIFT		29
- #define OMAP4430_CLKACTIVITY_INIT_60M_P2_GFCLK_MASK		(1 << 29)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_96M_GFCLK_SHIFT		11
- #define OMAP4430_CLKACTIVITY_INIT_96M_GFCLK_MASK		(1 << 11)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_HSI_GFCLK_SHIFT		16
- #define OMAP4430_CLKACTIVITY_INIT_HSI_GFCLK_MASK		(1 << 16)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC1_GFCLK_SHIFT		17
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC1_GFCLK_MASK		(1 << 17)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC2_GFCLK_SHIFT		18
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC2_GFCLK_MASK		(1 << 18)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC6_GFCLK_SHIFT		19
- #define OMAP4430_CLKACTIVITY_INIT_HSMMC6_GFCLK_MASK		(1 << 19)
- 
-@@ -234,11 +229,11 @@
- #define OMAP4430_CLKACTIVITY_L3X2_D2D_GICLK_SHIFT		10
- #define OMAP4430_CLKACTIVITY_L3X2_D2D_GICLK_MASK		(1 << 10)
- 
--/* Used by CM_L3_1_CLKSTCTRL, CM_L3_1_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3_1_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L3_1_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L3_1_GICLK_MASK			(1 << 8)
- 
--/* Used by CM_L3_2_CLKSTCTRL, CM_L3_2_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3_2_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L3_2_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L3_2_GICLK_MASK			(1 << 8)
- 
-@@ -254,7 +249,7 @@
- #define OMAP4430_CLKACTIVITY_L3_DSS_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L3_DSS_GICLK_MASK			(1 << 8)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L3_EMIF_GICLK_SHIFT		8
- #define OMAP4430_CLKACTIVITY_L3_EMIF_GICLK_MASK			(1 << 8)
- 
-@@ -262,7 +257,7 @@
- #define OMAP4430_CLKACTIVITY_L3_GFX_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L3_GFX_GICLK_MASK			(1 << 8)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L3_INIT_GICLK_SHIFT		8
- #define OMAP4430_CLKACTIVITY_L3_INIT_GICLK_MASK			(1 << 8)
- 
-@@ -282,7 +277,7 @@
- #define OMAP4430_CLKACTIVITY_L4_CEFUSE_GICLK_SHIFT		8
- #define OMAP4430_CLKACTIVITY_L4_CEFUSE_GICLK_MASK		(1 << 8)
- 
--/* Used by CM_L4CFG_CLKSTCTRL, CM_L4CFG_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4CFG_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L4_CFG_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L4_CFG_GICLK_MASK			(1 << 8)
- 
-@@ -290,11 +285,11 @@
- #define OMAP4430_CLKACTIVITY_L4_D2D_GICLK_SHIFT			9
- #define OMAP4430_CLKACTIVITY_L4_D2D_GICLK_MASK			(1 << 9)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L4_INIT_GICLK_SHIFT		9
- #define OMAP4430_CLKACTIVITY_L4_INIT_GICLK_MASK			(1 << 9)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_L4_PER_GICLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_L4_PER_GICLK_MASK			(1 << 8)
- 
-@@ -306,7 +301,7 @@
- #define OMAP4430_CLKACTIVITY_L4_WKUP_GICLK_SHIFT		12
- #define OMAP4430_CLKACTIVITY_L4_WKUP_GICLK_MASK			(1 << 12)
- 
--/* Used by CM_MPU_CLKSTCTRL, CM_MPU_CLKSTCTRL_RESTORE */
-+/* Used by CM_MPU_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_MPU_DPLL_CLK_SHIFT			8
- #define OMAP4430_CLKACTIVITY_MPU_DPLL_CLK_MASK			(1 << 8)
- 
-@@ -314,43 +309,43 @@
- #define OMAP4430_CLKACTIVITY_OCP_ABE_GICLK_SHIFT		9
- #define OMAP4430_CLKACTIVITY_OCP_ABE_GICLK_MASK			(1 << 9)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_24MC_GFCLK_SHIFT		16
- #define OMAP4430_CLKACTIVITY_PER_24MC_GFCLK_MASK		(1 << 16)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_32K_GFCLK_SHIFT		17
- #define OMAP4430_CLKACTIVITY_PER_32K_GFCLK_MASK			(1 << 17)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_48M_GFCLK_SHIFT		18
- #define OMAP4430_CLKACTIVITY_PER_48M_GFCLK_MASK			(1 << 18)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_96M_GFCLK_SHIFT		19
- #define OMAP4430_CLKACTIVITY_PER_96M_GFCLK_MASK			(1 << 19)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_ABE_24M_GFCLK_SHIFT		25
- #define OMAP4430_CLKACTIVITY_PER_ABE_24M_GFCLK_MASK		(1 << 25)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_MCASP2_GFCLK_SHIFT		20
- #define OMAP4430_CLKACTIVITY_PER_MCASP2_GFCLK_MASK		(1 << 20)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_MCASP3_GFCLK_SHIFT		21
- #define OMAP4430_CLKACTIVITY_PER_MCASP3_GFCLK_MASK		(1 << 21)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_MCBSP4_GFCLK_SHIFT		22
- #define OMAP4430_CLKACTIVITY_PER_MCBSP4_GFCLK_MASK		(1 << 22)
- 
--/* Used by CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE */
-+/* Used by CM_L4PER_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PER_SYS_GFCLK_SHIFT		24
- #define OMAP4430_CLKACTIVITY_PER_SYS_GFCLK_MASK			(1 << 24)
- 
--/* Used by CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE */
-+/* Used by CM_MEMIF_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_PHY_ROOT_CLK_SHIFT			10
- #define OMAP4430_CLKACTIVITY_PHY_ROOT_CLK_MASK			(1 << 10)
- 
-@@ -378,27 +373,27 @@
- #define OMAP4430_CLKACTIVITY_TESLA_ROOT_CLK_SHIFT		8
- #define OMAP4430_CLKACTIVITY_TESLA_ROOT_CLK_MASK		(1 << 8)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_TLL_CH0_GFCLK_SHIFT		22
- #define OMAP4430_CLKACTIVITY_TLL_CH0_GFCLK_MASK			(1 << 22)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_TLL_CH1_GFCLK_SHIFT		23
- #define OMAP4430_CLKACTIVITY_TLL_CH1_GFCLK_MASK			(1 << 23)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_TLL_CH2_GFCLK_SHIFT		24
- #define OMAP4430_CLKACTIVITY_TLL_CH2_GFCLK_MASK			(1 << 24)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_UNIPRO_DPLL_CLK_SHIFT		10
- #define OMAP4430_CLKACTIVITY_UNIPRO_DPLL_CLK_MASK		(1 << 10)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_USB_DPLL_CLK_SHIFT			14
- #define OMAP4430_CLKACTIVITY_USB_DPLL_CLK_MASK			(1 << 14)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_USB_DPLL_HS_CLK_SHIFT		15
- #define OMAP4430_CLKACTIVITY_USB_DPLL_HS_CLK_MASK		(1 << 15)
- 
-@@ -406,11 +401,11 @@
- #define OMAP4430_CLKACTIVITY_USIM_GFCLK_SHIFT			10
- #define OMAP4430_CLKACTIVITY_USIM_GFCLK_MASK			(1 << 10)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_UTMI_P3_GFCLK_SHIFT		30
- #define OMAP4430_CLKACTIVITY_UTMI_P3_GFCLK_MASK			(1 << 30)
- 
--/* Used by CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE */
-+/* Used by CM_L3INIT_CLKSTCTRL */
- #define OMAP4430_CLKACTIVITY_UTMI_ROOT_GFCLK_SHIFT		25
- #define OMAP4430_CLKACTIVITY_UTMI_ROOT_GFCLK_MASK		(1 << 25)
- 
-@@ -432,7 +427,7 @@
- 
- /*
-  * Renamed from CLKSEL Used by CM_ABE_DSS_SYS_CLKSEL, CM_ABE_PLL_REF_CLKSEL,
-- * CM_L4_WKUP_CLKSEL, CM_CLKSEL_DUCATI_ISS_ROOT, CM_CLKSEL_USB_60MHZ
-+ * CM_CLKSEL_DUCATI_ISS_ROOT, CM_CLKSEL_USB_60MHZ, CM_L4_WKUP_CLKSEL
-  */
- #define OMAP4430_CLKSEL_0_0_SHIFT				0
- #define OMAP4430_CLKSEL_0_0_MASK				(1 << 0)
-@@ -453,14 +448,11 @@
- #define OMAP4430_CLKSEL_AESS_FCLK_SHIFT				24
- #define OMAP4430_CLKSEL_AESS_FCLK_MASK				(1 << 24)
- 
--/* Used by CM_CLKSEL_CORE, CM_CLKSEL_CORE_RESTORE */
-+/* Used by CM_CLKSEL_CORE */
- #define OMAP4430_CLKSEL_CORE_SHIFT				0
- #define OMAP4430_CLKSEL_CORE_MASK				(1 << 0)
- 
--/*
-- * Renamed from CLKSEL_CORE Used by CM_SHADOW_FREQ_CONFIG2_RESTORE,
-- * CM_SHADOW_FREQ_CONFIG2
-- */
-+/* Renamed from CLKSEL_CORE Used by CM_SHADOW_FREQ_CONFIG2 */
- #define OMAP4430_CLKSEL_CORE_1_1_SHIFT				1
- #define OMAP4430_CLKSEL_CORE_1_1_MASK				(1 << 1)
- 
-@@ -484,18 +476,15 @@
- #define OMAP4430_CLKSEL_INTERNAL_SOURCE_CM1_ABE_DMIC_SHIFT	26
- #define OMAP4430_CLKSEL_INTERNAL_SOURCE_CM1_ABE_DMIC_MASK	(0x3 << 26)
- 
--/* Used by CM_CLKSEL_CORE, CM_CLKSEL_CORE_RESTORE */
-+/* Used by CM_CLKSEL_CORE */
- #define OMAP4430_CLKSEL_L3_SHIFT				4
- #define OMAP4430_CLKSEL_L3_MASK					(1 << 4)
- 
--/*
-- * Renamed from CLKSEL_L3 Used by CM_SHADOW_FREQ_CONFIG2_RESTORE,
-- * CM_SHADOW_FREQ_CONFIG2
-- */
-+/* Renamed from CLKSEL_L3 Used by CM_SHADOW_FREQ_CONFIG2 */
- #define OMAP4430_CLKSEL_L3_SHADOW_SHIFT				2
- #define OMAP4430_CLKSEL_L3_SHADOW_MASK				(1 << 2)
- 
--/* Used by CM_CLKSEL_CORE, CM_CLKSEL_CORE_RESTORE */
-+/* Used by CM_CLKSEL_CORE */
- #define OMAP4430_CLKSEL_L4_SHIFT				8
- #define OMAP4430_CLKSEL_L4_MASK					(1 << 8)
- 
-@@ -526,11 +515,11 @@
- #define OMAP4430_CLKSEL_SOURCE_24_24_SHIFT			24
- #define OMAP4430_CLKSEL_SOURCE_24_24_MASK			(1 << 24)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_CLKSEL_UTMI_P1_SHIFT				24
- #define OMAP4430_CLKSEL_UTMI_P1_MASK				(1 << 24)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_CLKSEL_UTMI_P2_SHIFT				25
- #define OMAP4430_CLKSEL_UTMI_P2_MASK				(1 << 25)
- 
-@@ -538,13 +527,10 @@
-  * Used by CM1_ABE_CLKSTCTRL, CM_ALWON_CLKSTCTRL, CM_CAM_CLKSTCTRL,
-  * CM_CEFUSE_CLKSTCTRL, CM_D2D_CLKSTCTRL, CM_DSS_CLKSTCTRL,
-  * CM_DUCATI_CLKSTCTRL, CM_EMU_CLKSTCTRL, CM_GFX_CLKSTCTRL, CM_IVAHD_CLKSTCTRL,
-- * CM_L3INIT_CLKSTCTRL, CM_L3INIT_CLKSTCTRL_RESTORE, CM_L3INSTR_CLKSTCTRL,
-- * CM_L3_1_CLKSTCTRL, CM_L3_1_CLKSTCTRL_RESTORE, CM_L3_2_CLKSTCTRL,
-- * CM_L3_2_CLKSTCTRL_RESTORE, CM_L4CFG_CLKSTCTRL, CM_L4CFG_CLKSTCTRL_RESTORE,
-- * CM_L4PER_CLKSTCTRL, CM_L4PER_CLKSTCTRL_RESTORE, CM_L4SEC_CLKSTCTRL,
-- * CM_MEMIF_CLKSTCTRL, CM_MEMIF_CLKSTCTRL_RESTORE, CM_MPU_CLKSTCTRL,
-- * CM_MPU_CLKSTCTRL_RESTORE, CM_SDMA_CLKSTCTRL, CM_TESLA_CLKSTCTRL,
-- * CM_WKUP_CLKSTCTRL
-+ * CM_L3INIT_CLKSTCTRL, CM_L3INSTR_CLKSTCTRL, CM_L3_1_CLKSTCTRL,
-+ * CM_L3_2_CLKSTCTRL, CM_L4CFG_CLKSTCTRL, CM_L4PER_CLKSTCTRL,
-+ * CM_L4SEC_CLKSTCTRL, CM_MEMIF_CLKSTCTRL, CM_MPU_CLKSTCTRL, CM_SDMA_CLKSTCTRL,
-+ * CM_TESLA_CLKSTCTRL, CM_WKUP_CLKSTCTRL
-  */
- #define OMAP4430_CLKTRCTRL_SHIFT				0
- #define OMAP4430_CLKTRCTRL_MASK					(0x3 << 0)
-@@ -561,10 +547,7 @@
- #define OMAP4430_CUSTOM_SHIFT					6
- #define OMAP4430_CUSTOM_MASK					(0x3 << 6)
- 
--/*
-- * Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE
-- */
-+/* Used by CM_L3_2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_D2D_DYNDEP_SHIFT				18
- #define OMAP4430_D2D_DYNDEP_MASK				(1 << 18)
- 
-@@ -574,31 +557,29 @@
- 
- /*
-  * Used by CM_SSC_DELTAMSTEP_DPLL_ABE, CM_SSC_DELTAMSTEP_DPLL_CORE,
-- * CM_SSC_DELTAMSTEP_DPLL_CORE_RESTORE, CM_SSC_DELTAMSTEP_DPLL_DDRPHY,
-- * CM_SSC_DELTAMSTEP_DPLL_IVA, CM_SSC_DELTAMSTEP_DPLL_MPU,
-- * CM_SSC_DELTAMSTEP_DPLL_PER, CM_SSC_DELTAMSTEP_DPLL_UNIPRO,
-- * CM_SSC_DELTAMSTEP_DPLL_USB
-+ * CM_SSC_DELTAMSTEP_DPLL_DDRPHY, CM_SSC_DELTAMSTEP_DPLL_IVA,
-+ * CM_SSC_DELTAMSTEP_DPLL_MPU, CM_SSC_DELTAMSTEP_DPLL_PER,
-+ * CM_SSC_DELTAMSTEP_DPLL_UNIPRO, CM_SSC_DELTAMSTEP_DPLL_USB
-  */
- #define OMAP4430_DELTAMSTEP_SHIFT				0
- #define OMAP4430_DELTAMSTEP_MASK				(0xfffff << 0)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG1, CM_SHADOW_FREQ_CONFIG1_RESTORE */
--#define OMAP4430_DLL_OVERRIDE_SHIFT				2
--#define OMAP4430_DLL_OVERRIDE_MASK				(1 << 2)
-+/* Used by CM_DLL_CTRL */
-+#define OMAP4430_DLL_OVERRIDE_SHIFT				0
-+#define OMAP4430_DLL_OVERRIDE_MASK				(1 << 0)
- 
--/* Renamed from DLL_OVERRIDE Used by CM_DLL_CTRL */
--#define OMAP4430_DLL_OVERRIDE_0_0_SHIFT				0
--#define OMAP4430_DLL_OVERRIDE_0_0_MASK				(1 << 0)
-+/* Renamed from DLL_OVERRIDE Used by CM_SHADOW_FREQ_CONFIG1 */
-+#define OMAP4430_DLL_OVERRIDE_2_2_SHIFT				2
-+#define OMAP4430_DLL_OVERRIDE_2_2_MASK				(1 << 2)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG1, CM_SHADOW_FREQ_CONFIG1_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG1 */
- #define OMAP4430_DLL_RESET_SHIFT				3
- #define OMAP4430_DLL_RESET_MASK					(1 << 3)
- 
- /*
-- * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE,
-- * CM_CLKSEL_DPLL_CORE_RESTORE, CM_CLKSEL_DPLL_DDRPHY, CM_CLKSEL_DPLL_IVA,
-- * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER, CM_CLKSEL_DPLL_UNIPRO,
-- * CM_CLKSEL_DPLL_USB
-+ * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDRPHY,
-+ * CM_CLKSEL_DPLL_IVA, CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER,
-+ * CM_CLKSEL_DPLL_UNIPRO, CM_CLKSEL_DPLL_USB
-  */
- #define OMAP4430_DPLL_BYP_CLKSEL_SHIFT				23
- #define OMAP4430_DPLL_BYP_CLKSEL_MASK				(1 << 23)
-@@ -607,28 +588,19 @@
- #define OMAP4430_DPLL_CLKDCOLDO_GATE_CTRL_SHIFT			8
- #define OMAP4430_DPLL_CLKDCOLDO_GATE_CTRL_MASK			(1 << 8)
- 
--/* Used by CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_CORE_RESTORE */
-+/* Used by CM_CLKSEL_DPLL_CORE */
- #define OMAP4430_DPLL_CLKOUTHIF_CLKSEL_SHIFT			20
- #define OMAP4430_DPLL_CLKOUTHIF_CLKSEL_MASK			(1 << 20)
- 
--/*
-- * Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE,
-- * CM_DIV_M3_DPLL_CORE_RESTORE, CM_DIV_M3_DPLL_PER
-- */
-+/* Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER */
- #define OMAP4430_DPLL_CLKOUTHIF_DIV_SHIFT			0
- #define OMAP4430_DPLL_CLKOUTHIF_DIV_MASK			(0x1f << 0)
- 
--/*
-- * Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE,
-- * CM_DIV_M3_DPLL_CORE_RESTORE, CM_DIV_M3_DPLL_PER
-- */
-+/* Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER */
- #define OMAP4430_DPLL_CLKOUTHIF_DIVCHACK_SHIFT			5
- #define OMAP4430_DPLL_CLKOUTHIF_DIVCHACK_MASK			(1 << 5)
- 
--/*
-- * Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE,
-- * CM_DIV_M3_DPLL_CORE_RESTORE, CM_DIV_M3_DPLL_PER
-- */
-+/* Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER */
- #define OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_SHIFT			8
- #define OMAP4430_DPLL_CLKOUTHIF_GATE_CTRL_MASK			(1 << 8)
- 
-@@ -637,9 +609,8 @@
- #define OMAP4430_DPLL_CLKOUTX2_GATE_CTRL_MASK			(1 << 10)
- 
- /*
-- * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE,
-- * CM_DIV_M2_DPLL_CORE_RESTORE, CM_DIV_M2_DPLL_DDRPHY, CM_DIV_M2_DPLL_MPU,
-- * CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_UNIPRO
-+ * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE, CM_DIV_M2_DPLL_DDRPHY,
-+ * CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_CLKOUT_DIV_SHIFT				0
- #define OMAP4430_DPLL_CLKOUT_DIV_MASK				(0x1f << 0)
-@@ -649,9 +620,8 @@
- #define OMAP4430_DPLL_CLKOUT_DIV_0_6_MASK			(0x7f << 0)
- 
- /*
-- * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE,
-- * CM_DIV_M2_DPLL_CORE_RESTORE, CM_DIV_M2_DPLL_DDRPHY, CM_DIV_M2_DPLL_MPU,
-- * CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_UNIPRO
-+ * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE, CM_DIV_M2_DPLL_DDRPHY,
-+ * CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_CLKOUT_DIVCHACK_SHIFT			5
- #define OMAP4430_DPLL_CLKOUT_DIVCHACK_MASK			(1 << 5)
-@@ -661,29 +631,28 @@
- #define OMAP4430_DPLL_CLKOUT_DIVCHACK_M2_USB_MASK		(1 << 7)
- 
- /*
-- * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE,
-- * CM_DIV_M2_DPLL_CORE_RESTORE, CM_DIV_M2_DPLL_DDRPHY, CM_DIV_M2_DPLL_MPU,
-- * CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_USB
-+ * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE, CM_DIV_M2_DPLL_DDRPHY,
-+ * CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_USB
-  */
- #define OMAP4430_DPLL_CLKOUT_GATE_CTRL_SHIFT			8
- #define OMAP4430_DPLL_CLKOUT_GATE_CTRL_MASK			(1 << 8)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG1, CM_SHADOW_FREQ_CONFIG1_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG1 */
- #define OMAP4430_DPLL_CORE_DPLL_EN_SHIFT			8
- #define OMAP4430_DPLL_CORE_DPLL_EN_MASK				(0x7 << 8)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG1, CM_SHADOW_FREQ_CONFIG1_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG1 */
- #define OMAP4430_DPLL_CORE_M2_DIV_SHIFT				11
- #define OMAP4430_DPLL_CORE_M2_DIV_MASK				(0x1f << 11)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG2, CM_SHADOW_FREQ_CONFIG2_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG2 */
- #define OMAP4430_DPLL_CORE_M5_DIV_SHIFT				3
- #define OMAP4430_DPLL_CORE_M5_DIV_MASK				(0x1f << 3)
- 
- /*
-- * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE,
-- * CM_CLKSEL_DPLL_CORE_RESTORE, CM_CLKSEL_DPLL_DDRPHY, CM_CLKSEL_DPLL_IVA,
-- * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER, CM_CLKSEL_DPLL_UNIPRO
-+ * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDRPHY,
-+ * CM_CLKSEL_DPLL_IVA, CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER,
-+ * CM_CLKSEL_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_DIV_SHIFT					0
- #define OMAP4430_DPLL_DIV_MASK					(0x7f << 0)
-@@ -693,9 +662,8 @@
- #define OMAP4430_DPLL_DIV_0_7_MASK				(0xff << 0)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER
-  */
- #define OMAP4430_DPLL_DRIFTGUARD_EN_SHIFT			8
- #define OMAP4430_DPLL_DRIFTGUARD_EN_MASK			(1 << 8)
-@@ -705,26 +673,25 @@
- #define OMAP4430_DPLL_DRIFTGUARD_EN_3_3_MASK			(1 << 3)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO,
-- * CM_CLKMODE_DPLL_USB
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO, CM_CLKMODE_DPLL_USB
-  */
- #define OMAP4430_DPLL_EN_SHIFT					0
- #define OMAP4430_DPLL_EN_MASK					(0x7 << 0)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_LPMODE_EN_SHIFT				10
- #define OMAP4430_DPLL_LPMODE_EN_MASK				(1 << 10)
- 
- /*
-- * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE,
-- * CM_CLKSEL_DPLL_CORE_RESTORE, CM_CLKSEL_DPLL_DDRPHY, CM_CLKSEL_DPLL_IVA,
-- * CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER, CM_CLKSEL_DPLL_UNIPRO
-+ * Used by CM_CLKSEL_DPLL_ABE, CM_CLKSEL_DPLL_CORE, CM_CLKSEL_DPLL_DDRPHY,
-+ * CM_CLKSEL_DPLL_IVA, CM_CLKSEL_DPLL_MPU, CM_CLKSEL_DPLL_PER,
-+ * CM_CLKSEL_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_MULT_SHIFT				8
- #define OMAP4430_DPLL_MULT_MASK					(0x7ff << 8)
-@@ -734,9 +701,9 @@
- #define OMAP4430_DPLL_MULT_USB_MASK				(0xfff << 8)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO
-  */
- #define OMAP4430_DPLL_REGM4XEN_SHIFT				11
- #define OMAP4430_DPLL_REGM4XEN_MASK				(1 << 11)
-@@ -746,55 +713,46 @@
- #define OMAP4430_DPLL_SD_DIV_MASK				(0xff << 24)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO,
-- * CM_CLKMODE_DPLL_USB
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO, CM_CLKMODE_DPLL_USB
-  */
- #define OMAP4430_DPLL_SSC_ACK_SHIFT				13
- #define OMAP4430_DPLL_SSC_ACK_MASK				(1 << 13)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO,
-- * CM_CLKMODE_DPLL_USB
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO, CM_CLKMODE_DPLL_USB
-  */
- #define OMAP4430_DPLL_SSC_DOWNSPREAD_SHIFT			14
- #define OMAP4430_DPLL_SSC_DOWNSPREAD_MASK			(1 << 14)
- 
- /*
-- * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE,
-- * CM_CLKMODE_DPLL_CORE_RESTORE, CM_CLKMODE_DPLL_DDRPHY, CM_CLKMODE_DPLL_IVA,
-- * CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER, CM_CLKMODE_DPLL_UNIPRO,
-- * CM_CLKMODE_DPLL_USB
-+ * Used by CM_CLKMODE_DPLL_ABE, CM_CLKMODE_DPLL_CORE, CM_CLKMODE_DPLL_DDRPHY,
-+ * CM_CLKMODE_DPLL_IVA, CM_CLKMODE_DPLL_MPU, CM_CLKMODE_DPLL_PER,
-+ * CM_CLKMODE_DPLL_UNIPRO, CM_CLKMODE_DPLL_USB
-  */
- #define OMAP4430_DPLL_SSC_EN_SHIFT				12
- #define OMAP4430_DPLL_SSC_EN_MASK				(1 << 12)
- 
--/*
-- * Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_L4PER_DYNAMICDEP, CM_L4PER_DYNAMICDEP_RESTORE
-- */
-+/* Used by CM_L3_2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP, CM_L4PER_DYNAMICDEP */
- #define OMAP4430_DSS_DYNDEP_SHIFT				8
- #define OMAP4430_DSS_DYNDEP_MASK				(1 << 8)
- 
--/*
-- * Used by CM_DUCATI_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP,
-- * CM_SDMA_STATICDEP_RESTORE
-- */
-+/* Used by CM_DUCATI_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP */
- #define OMAP4430_DSS_STATDEP_SHIFT				8
- #define OMAP4430_DSS_STATDEP_MASK				(1 << 8)
- 
--/* Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE */
-+/* Used by CM_L3_2_DYNAMICDEP */
- #define OMAP4430_DUCATI_DYNDEP_SHIFT				0
- #define OMAP4430_DUCATI_DYNDEP_MASK				(1 << 0)
- 
--/* Used by CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE */
-+/* Used by CM_MPU_STATICDEP, CM_SDMA_STATICDEP */
- #define OMAP4430_DUCATI_STATDEP_SHIFT				0
- #define OMAP4430_DUCATI_STATDEP_MASK				(1 << 0)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG1, CM_SHADOW_FREQ_CONFIG1_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG1 */
- #define OMAP4430_FREQ_UPDATE_SHIFT				0
- #define OMAP4430_FREQ_UPDATE_MASK				(1 << 0)
- 
-@@ -802,7 +760,7 @@
- #define OMAP4430_FUNC_SHIFT					16
- #define OMAP4430_FUNC_MASK					(0xfff << 16)
- 
--/* Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE */
-+/* Used by CM_L3_2_DYNAMICDEP */
- #define OMAP4430_GFX_DYNDEP_SHIFT				10
- #define OMAP4430_GFX_DYNDEP_MASK				(1 << 10)
- 
-@@ -810,119 +768,95 @@
- #define OMAP4430_GFX_STATDEP_SHIFT				10
- #define OMAP4430_GFX_STATDEP_MASK				(1 << 10)
- 
--/* Used by CM_SHADOW_FREQ_CONFIG2, CM_SHADOW_FREQ_CONFIG2_RESTORE */
-+/* Used by CM_SHADOW_FREQ_CONFIG2 */
- #define OMAP4430_GPMC_FREQ_UPDATE_SHIFT				0
- #define OMAP4430_GPMC_FREQ_UPDATE_MASK				(1 << 0)
- 
- /*
-- * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_CORE_RESTORE,
-- * CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA, CM_DIV_M4_DPLL_PER
-+ * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA,
-+ * CM_DIV_M4_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT1_DIV_SHIFT			0
- #define OMAP4430_HSDIVIDER_CLKOUT1_DIV_MASK			(0x1f << 0)
- 
- /*
-- * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_CORE_RESTORE,
-- * CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA, CM_DIV_M4_DPLL_PER
-+ * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA,
-+ * CM_DIV_M4_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT1_DIVCHACK_SHIFT		5
- #define OMAP4430_HSDIVIDER_CLKOUT1_DIVCHACK_MASK		(1 << 5)
- 
- /*
-- * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_CORE_RESTORE,
-- * CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA, CM_DIV_M4_DPLL_PER
-+ * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA,
-+ * CM_DIV_M4_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT1_GATE_CTRL_SHIFT		8
- #define OMAP4430_HSDIVIDER_CLKOUT1_GATE_CTRL_MASK		(1 << 8)
- 
- /*
-- * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_CORE_RESTORE,
-- * CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA, CM_DIV_M4_DPLL_PER
-+ * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA,
-+ * CM_DIV_M4_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT1_PWDN_SHIFT			12
- #define OMAP4430_HSDIVIDER_CLKOUT1_PWDN_MASK			(1 << 12)
- 
- /*
-- * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_CORE_RESTORE,
-- * CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA, CM_DIV_M5_DPLL_PER
-+ * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA,
-+ * CM_DIV_M5_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT2_DIV_SHIFT			0
- #define OMAP4430_HSDIVIDER_CLKOUT2_DIV_MASK			(0x1f << 0)
- 
- /*
-- * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_CORE_RESTORE,
-- * CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA, CM_DIV_M5_DPLL_PER
-+ * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA,
-+ * CM_DIV_M5_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT2_DIVCHACK_SHIFT		5
- #define OMAP4430_HSDIVIDER_CLKOUT2_DIVCHACK_MASK		(1 << 5)
- 
- /*
-- * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_CORE_RESTORE,
-- * CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA, CM_DIV_M5_DPLL_PER
-+ * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA,
-+ * CM_DIV_M5_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT2_GATE_CTRL_SHIFT		8
- #define OMAP4430_HSDIVIDER_CLKOUT2_GATE_CTRL_MASK		(1 << 8)
- 
- /*
-- * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_CORE_RESTORE,
-- * CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA, CM_DIV_M5_DPLL_PER
-+ * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA,
-+ * CM_DIV_M5_DPLL_PER
-  */
- #define OMAP4430_HSDIVIDER_CLKOUT2_PWDN_SHIFT			12
- #define OMAP4430_HSDIVIDER_CLKOUT2_PWDN_MASK			(1 << 12)
- 
--/*
-- * Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_CORE_RESTORE,
-- * CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER
-- */
-+/* Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT3_DIV_SHIFT			0
- #define OMAP4430_HSDIVIDER_CLKOUT3_DIV_MASK			(0x1f << 0)
- 
--/*
-- * Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_CORE_RESTORE,
-- * CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER
-- */
-+/* Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT3_DIVCHACK_SHIFT		5
- #define OMAP4430_HSDIVIDER_CLKOUT3_DIVCHACK_MASK		(1 << 5)
- 
--/*
-- * Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_CORE_RESTORE,
-- * CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER
-- */
-+/* Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT3_GATE_CTRL_SHIFT		8
- #define OMAP4430_HSDIVIDER_CLKOUT3_GATE_CTRL_MASK		(1 << 8)
- 
--/*
-- * Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_CORE_RESTORE,
-- * CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER
-- */
-+/* Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT3_PWDN_SHIFT			12
- #define OMAP4430_HSDIVIDER_CLKOUT3_PWDN_MASK			(1 << 12)
- 
--/*
-- * Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_CORE_RESTORE,
-- * CM_DIV_M7_DPLL_PER
-- */
-+/* Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT4_DIV_SHIFT			0
- #define OMAP4430_HSDIVIDER_CLKOUT4_DIV_MASK			(0x1f << 0)
- 
--/*
-- * Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_CORE_RESTORE,
-- * CM_DIV_M7_DPLL_PER
-- */
-+/* Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT4_DIVCHACK_SHIFT		5
- #define OMAP4430_HSDIVIDER_CLKOUT4_DIVCHACK_MASK		(1 << 5)
- 
--/*
-- * Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_CORE_RESTORE,
-- * CM_DIV_M7_DPLL_PER
-- */
-+/* Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT4_GATE_CTRL_SHIFT		8
- #define OMAP4430_HSDIVIDER_CLKOUT4_GATE_CTRL_MASK		(1 << 8)
- 
--/*
-- * Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_CORE_RESTORE,
-- * CM_DIV_M7_DPLL_PER
-- */
-+/* Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_PER */
- #define OMAP4430_HSDIVIDER_CLKOUT4_PWDN_SHIFT			12
- #define OMAP4430_HSDIVIDER_CLKOUT4_PWDN_MASK			(1 << 12)
- 
-@@ -934,8 +868,7 @@
-  * CM1_ABE_TIMER8_CLKCTRL, CM1_ABE_WDT3_CLKCTRL, CM_ALWON_MDMINTC_CLKCTRL,
-  * CM_ALWON_SR_CORE_CLKCTRL, CM_ALWON_SR_IVA_CLKCTRL, CM_ALWON_SR_MPU_CLKCTRL,
-  * CM_CAM_FDIF_CLKCTRL, CM_CAM_ISS_CLKCTRL, CM_CEFUSE_CEFUSE_CLKCTRL,
-- * CM_CM1_PROFILING_CLKCTRL, CM_CM1_PROFILING_CLKCTRL_RESTORE,
-- * CM_CM2_PROFILING_CLKCTRL, CM_CM2_PROFILING_CLKCTRL_RESTORE,
-+ * CM_CM1_PROFILING_CLKCTRL, CM_CM2_PROFILING_CLKCTRL,
-  * CM_D2D_MODEM_ICR_CLKCTRL, CM_D2D_SAD2D_CLKCTRL, CM_D2D_SAD2D_FW_CLKCTRL,
-  * CM_DSS_DEISS_CLKCTRL, CM_DSS_DSS_CLKCTRL, CM_DUCATI_DUCATI_CLKCTRL,
-  * CM_EMU_DEBUGSS_CLKCTRL, CM_GFX_GFX_CLKCTRL, CM_IVAHD_IVAHD_CLKCTRL,
-@@ -944,30 +877,24 @@
-  * CM_L3INIT_MMC6_CLKCTRL, CM_L3INIT_P1500_CLKCTRL, CM_L3INIT_PCIESS_CLKCTRL,
-  * CM_L3INIT_SATA_CLKCTRL, CM_L3INIT_TPPSS_CLKCTRL, CM_L3INIT_UNIPRO1_CLKCTRL,
-  * CM_L3INIT_USBPHYOCP2SCP_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL,
-- * CM_L3INIT_USB_HOST_CLKCTRL_RESTORE, CM_L3INIT_USB_HOST_FS_CLKCTRL,
-- * CM_L3INIT_USB_OTG_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL,
-- * CM_L3INIT_USB_TLL_CLKCTRL_RESTORE, CM_L3INIT_XHPI_CLKCTRL,
-- * CM_L3INSTR_L3_3_CLKCTRL, CM_L3INSTR_L3_3_CLKCTRL_RESTORE,
-- * CM_L3INSTR_L3_INSTR_CLKCTRL, CM_L3INSTR_L3_INSTR_CLKCTRL_RESTORE,
-- * CM_L3INSTR_OCP_WP1_CLKCTRL, CM_L3INSTR_OCP_WP1_CLKCTRL_RESTORE,
-+ * CM_L3INIT_USB_HOST_FS_CLKCTRL, CM_L3INIT_USB_OTG_CLKCTRL,
-+ * CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_XHPI_CLKCTRL, CM_L3INSTR_L3_3_CLKCTRL,
-+ * CM_L3INSTR_L3_INSTR_CLKCTRL, CM_L3INSTR_OCP_WP1_CLKCTRL,
-  * CM_L3_1_L3_1_CLKCTRL, CM_L3_2_GPMC_CLKCTRL, CM_L3_2_L3_2_CLKCTRL,
-  * CM_L3_2_OCMC_RAM_CLKCTRL, CM_L4CFG_HW_SEM_CLKCTRL, CM_L4CFG_L4_CFG_CLKCTRL,
-  * CM_L4CFG_MAILBOX_CLKCTRL, CM_L4CFG_SAR_ROM_CLKCTRL, CM_L4PER_ADC_CLKCTRL,
-  * CM_L4PER_DMTIMER10_CLKCTRL, CM_L4PER_DMTIMER11_CLKCTRL,
-  * CM_L4PER_DMTIMER2_CLKCTRL, CM_L4PER_DMTIMER3_CLKCTRL,
-  * CM_L4PER_DMTIMER4_CLKCTRL, CM_L4PER_DMTIMER9_CLKCTRL, CM_L4PER_ELM_CLKCTRL,
-- * CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO2_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL_RESTORE,
-- * CM_L4PER_HDQ1W_CLKCTRL, CM_L4PER_HECC1_CLKCTRL, CM_L4PER_HECC2_CLKCTRL,
-- * CM_L4PER_I2C1_CLKCTRL, CM_L4PER_I2C2_CLKCTRL, CM_L4PER_I2C3_CLKCTRL,
-- * CM_L4PER_I2C4_CLKCTRL, CM_L4PER_I2C5_CLKCTRL, CM_L4PER_L4PER_CLKCTRL,
-- * CM_L4PER_MCASP2_CLKCTRL, CM_L4PER_MCASP3_CLKCTRL, CM_L4PER_MCBSP4_CLKCTRL,
-- * CM_L4PER_MCSPI1_CLKCTRL, CM_L4PER_MCSPI2_CLKCTRL, CM_L4PER_MCSPI3_CLKCTRL,
-- * CM_L4PER_MCSPI4_CLKCTRL, CM_L4PER_MGATE_CLKCTRL, CM_L4PER_MMCSD3_CLKCTRL,
-- * CM_L4PER_MMCSD4_CLKCTRL, CM_L4PER_MMCSD5_CLKCTRL, CM_L4PER_MSPROHG_CLKCTRL,
-+ * CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL,
-+ * CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_HDQ1W_CLKCTRL,
-+ * CM_L4PER_HECC1_CLKCTRL, CM_L4PER_HECC2_CLKCTRL, CM_L4PER_I2C1_CLKCTRL,
-+ * CM_L4PER_I2C2_CLKCTRL, CM_L4PER_I2C3_CLKCTRL, CM_L4PER_I2C4_CLKCTRL,
-+ * CM_L4PER_I2C5_CLKCTRL, CM_L4PER_L4PER_CLKCTRL, CM_L4PER_MCASP2_CLKCTRL,
-+ * CM_L4PER_MCASP3_CLKCTRL, CM_L4PER_MCBSP4_CLKCTRL, CM_L4PER_MCSPI1_CLKCTRL,
-+ * CM_L4PER_MCSPI2_CLKCTRL, CM_L4PER_MCSPI3_CLKCTRL, CM_L4PER_MCSPI4_CLKCTRL,
-+ * CM_L4PER_MGATE_CLKCTRL, CM_L4PER_MMCSD3_CLKCTRL, CM_L4PER_MMCSD4_CLKCTRL,
-+ * CM_L4PER_MMCSD5_CLKCTRL, CM_L4PER_MSPROHG_CLKCTRL,
-  * CM_L4PER_SLIMBUS2_CLKCTRL, CM_L4PER_UART1_CLKCTRL, CM_L4PER_UART2_CLKCTRL,
-  * CM_L4PER_UART3_CLKCTRL, CM_L4PER_UART4_CLKCTRL, CM_L4SEC_AES1_CLKCTRL,
-  * CM_L4SEC_AES2_CLKCTRL, CM_L4SEC_CRYPTODMA_CLKCTRL, CM_L4SEC_DES3DES_CLKCTRL,
-@@ -983,166 +910,148 @@
- #define OMAP4430_IDLEST_SHIFT					16
- #define OMAP4430_IDLEST_MASK					(0x3 << 16)
- 
--/*
-- * Used by CM_DUCATI_DYNAMICDEP, CM_L3_2_DYNAMICDEP,
-- * CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE
-- */
-+/* Used by CM_DUCATI_DYNAMICDEP, CM_L3_2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_ISS_DYNDEP_SHIFT				9
- #define OMAP4430_ISS_DYNDEP_MASK				(1 << 9)
- 
- /*
-  * Used by CM_DUCATI_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP,
-- * CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * CM_TESLA_STATICDEP
-  */
- #define OMAP4430_ISS_STATDEP_SHIFT				9
- #define OMAP4430_ISS_STATDEP_MASK				(1 << 9)
- 
--/* Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_TESLA_DYNAMICDEP */
-+/* Used by CM_L3_2_DYNAMICDEP, CM_TESLA_DYNAMICDEP */
- #define OMAP4430_IVAHD_DYNDEP_SHIFT				2
- #define OMAP4430_IVAHD_DYNDEP_MASK				(1 << 2)
- 
- /*
-- * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE,
-- * CM_DSS_STATICDEP, CM_DUCATI_STATICDEP, CM_GFX_STATICDEP,
-- * CM_L3INIT_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP,
-- * CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_DSS_STATICDEP,
-+ * CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_L3INIT_STATICDEP,
-+ * CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_IVAHD_STATDEP_SHIFT				2
- #define OMAP4430_IVAHD_STATDEP_MASK				(1 << 2)
- 
--/*
-- * Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_L4PER_DYNAMICDEP, CM_L4PER_DYNAMICDEP_RESTORE
-- */
-+/* Used by CM_L3_2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP, CM_L4PER_DYNAMICDEP */
- #define OMAP4430_L3INIT_DYNDEP_SHIFT				7
- #define OMAP4430_L3INIT_DYNDEP_MASK				(1 << 7)
- 
- /*
-- * Used by CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE, CM_DUCATI_STATICDEP,
-- * CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE,
-- * CM_TESLA_STATICDEP
-+ * Used by CM_D2D_STATICDEP, CM_DUCATI_STATICDEP, CM_MPU_STATICDEP,
-+ * CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L3INIT_STATDEP_SHIFT				7
- #define OMAP4430_L3INIT_STATDEP_MASK				(1 << 7)
- 
- /*
-  * Used by CM_DSS_DYNAMICDEP, CM_L3INIT_DYNAMICDEP, CM_L3_2_DYNAMICDEP,
-- * CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_MPU_DYNAMICDEP, CM_TESLA_DYNAMICDEP
-+ * CM_L4CFG_DYNAMICDEP, CM_MPU_DYNAMICDEP, CM_TESLA_DYNAMICDEP
-  */
- #define OMAP4430_L3_1_DYNDEP_SHIFT				5
- #define OMAP4430_L3_1_DYNDEP_MASK				(1 << 5)
- 
- /*
-- * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE,
-- * CM_DSS_STATICDEP, CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-+ * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_DSS_STATICDEP,
-+ * CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-  * CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L3_1_STATDEP_SHIFT				5
- #define OMAP4430_L3_1_STATDEP_MASK				(1 << 5)
- 
- /*
-- * Used by CM_CAM_DYNAMICDEP, CM_D2D_DYNAMICDEP, CM_D2D_DYNAMICDEP_RESTORE,
-- * CM_DUCATI_DYNAMICDEP, CM_EMU_DYNAMICDEP, CM_GFX_DYNAMICDEP,
-- * CM_IVAHD_DYNAMICDEP, CM_L3INIT_DYNAMICDEP, CM_L3_1_DYNAMICDEP,
-- * CM_L3_1_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_L4SEC_DYNAMICDEP, CM_SDMA_DYNAMICDEP
-+ * Used by CM_CAM_DYNAMICDEP, CM_D2D_DYNAMICDEP, CM_DUCATI_DYNAMICDEP,
-+ * CM_EMU_DYNAMICDEP, CM_GFX_DYNAMICDEP, CM_IVAHD_DYNAMICDEP,
-+ * CM_L3INIT_DYNAMICDEP, CM_L3_1_DYNAMICDEP, CM_L4CFG_DYNAMICDEP,
-+ * CM_L4SEC_DYNAMICDEP, CM_SDMA_DYNAMICDEP
-  */
- #define OMAP4430_L3_2_DYNDEP_SHIFT				6
- #define OMAP4430_L3_2_DYNDEP_MASK				(1 << 6)
- 
- /*
-- * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE,
-- * CM_DSS_STATICDEP, CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-+ * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_DSS_STATICDEP,
-+ * CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-  * CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L3_2_STATDEP_SHIFT				6
- #define OMAP4430_L3_2_STATDEP_MASK				(1 << 6)
- 
--/* Used by CM_L3_1_DYNAMICDEP, CM_L3_1_DYNAMICDEP_RESTORE */
-+/* Used by CM_L3_1_DYNAMICDEP */
- #define OMAP4430_L4CFG_DYNDEP_SHIFT				12
- #define OMAP4430_L4CFG_DYNDEP_MASK				(1 << 12)
- 
- /*
-- * Used by CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE, CM_DUCATI_STATICDEP,
-- * CM_L3INIT_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP,
-- * CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * Used by CM_D2D_STATICDEP, CM_DUCATI_STATICDEP, CM_L3INIT_STATICDEP,
-+ * CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L4CFG_STATDEP_SHIFT				12
- #define OMAP4430_L4CFG_STATDEP_MASK				(1 << 12)
- 
--/* Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE */
-+/* Used by CM_L3_2_DYNAMICDEP */
- #define OMAP4430_L4PER_DYNDEP_SHIFT				13
- #define OMAP4430_L4PER_DYNDEP_MASK				(1 << 13)
- 
- /*
-- * Used by CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE, CM_DUCATI_STATICDEP,
-- * CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * Used by CM_D2D_STATICDEP, CM_DUCATI_STATICDEP, CM_L3INIT_STATICDEP,
-+ * CM_L4SEC_STATICDEP, CM_MPU_STATICDEP, CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L4PER_STATDEP_SHIFT				13
- #define OMAP4430_L4PER_STATDEP_MASK				(1 << 13)
- 
--/*
-- * Used by CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_L4PER_DYNAMICDEP,
-- * CM_L4PER_DYNAMICDEP_RESTORE
-- */
-+/* Used by CM_L3_2_DYNAMICDEP, CM_L4PER_DYNAMICDEP */
- #define OMAP4430_L4SEC_DYNDEP_SHIFT				14
- #define OMAP4430_L4SEC_DYNDEP_MASK				(1 << 14)
- 
- /*
-  * Used by CM_DUCATI_STATICDEP, CM_L3INIT_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE
-+ * CM_SDMA_STATICDEP
-  */
- #define OMAP4430_L4SEC_STATDEP_SHIFT				14
- #define OMAP4430_L4SEC_STATDEP_MASK				(1 << 14)
- 
--/* Used by CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE */
-+/* Used by CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_L4WKUP_DYNDEP_SHIFT				15
- #define OMAP4430_L4WKUP_DYNDEP_MASK				(1 << 15)
- 
- /*
-  * Used by CM_DUCATI_STATICDEP, CM_L3INIT_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_L4WKUP_STATDEP_SHIFT				15
- #define OMAP4430_L4WKUP_STATDEP_MASK				(1 << 15)
- 
- /*
-- * Used by CM_D2D_DYNAMICDEP, CM_D2D_DYNAMICDEP_RESTORE, CM_L3_1_DYNAMICDEP,
-- * CM_L3_1_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_MPU_DYNAMICDEP
-+ * Used by CM_D2D_DYNAMICDEP, CM_L3_1_DYNAMICDEP, CM_L4CFG_DYNAMICDEP,
-+ * CM_MPU_DYNAMICDEP
-  */
- #define OMAP4430_MEMIF_DYNDEP_SHIFT				4
- #define OMAP4430_MEMIF_DYNDEP_MASK				(1 << 4)
- 
- /*
-- * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_D2D_STATICDEP_RESTORE,
-- * CM_DSS_STATICDEP, CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-+ * Used by CM_CAM_STATICDEP, CM_D2D_STATICDEP, CM_DSS_STATICDEP,
-+ * CM_DUCATI_STATICDEP, CM_GFX_STATICDEP, CM_IVAHD_STATICDEP,
-  * CM_L3INIT_STATICDEP, CM_L4SEC_STATICDEP, CM_MPU_STATICDEP,
-- * CM_SDMA_STATICDEP, CM_SDMA_STATICDEP_RESTORE, CM_TESLA_STATICDEP
-+ * CM_SDMA_STATICDEP, CM_TESLA_STATICDEP
-  */
- #define OMAP4430_MEMIF_STATDEP_SHIFT				4
- #define OMAP4430_MEMIF_STATDEP_MASK				(1 << 4)
- 
- /*
-  * Used by CM_SSC_MODFREQDIV_DPLL_ABE, CM_SSC_MODFREQDIV_DPLL_CORE,
-- * CM_SSC_MODFREQDIV_DPLL_CORE_RESTORE, CM_SSC_MODFREQDIV_DPLL_DDRPHY,
-- * CM_SSC_MODFREQDIV_DPLL_IVA, CM_SSC_MODFREQDIV_DPLL_MPU,
-- * CM_SSC_MODFREQDIV_DPLL_PER, CM_SSC_MODFREQDIV_DPLL_UNIPRO,
-- * CM_SSC_MODFREQDIV_DPLL_USB
-+ * CM_SSC_MODFREQDIV_DPLL_DDRPHY, CM_SSC_MODFREQDIV_DPLL_IVA,
-+ * CM_SSC_MODFREQDIV_DPLL_MPU, CM_SSC_MODFREQDIV_DPLL_PER,
-+ * CM_SSC_MODFREQDIV_DPLL_UNIPRO, CM_SSC_MODFREQDIV_DPLL_USB
-  */
- #define OMAP4430_MODFREQDIV_EXPONENT_SHIFT			8
- #define OMAP4430_MODFREQDIV_EXPONENT_MASK			(0x7 << 8)
- 
- /*
-  * Used by CM_SSC_MODFREQDIV_DPLL_ABE, CM_SSC_MODFREQDIV_DPLL_CORE,
-- * CM_SSC_MODFREQDIV_DPLL_CORE_RESTORE, CM_SSC_MODFREQDIV_DPLL_DDRPHY,
-- * CM_SSC_MODFREQDIV_DPLL_IVA, CM_SSC_MODFREQDIV_DPLL_MPU,
-- * CM_SSC_MODFREQDIV_DPLL_PER, CM_SSC_MODFREQDIV_DPLL_UNIPRO,
-- * CM_SSC_MODFREQDIV_DPLL_USB
-+ * CM_SSC_MODFREQDIV_DPLL_DDRPHY, CM_SSC_MODFREQDIV_DPLL_IVA,
-+ * CM_SSC_MODFREQDIV_DPLL_MPU, CM_SSC_MODFREQDIV_DPLL_PER,
-+ * CM_SSC_MODFREQDIV_DPLL_UNIPRO, CM_SSC_MODFREQDIV_DPLL_USB
-  */
- #define OMAP4430_MODFREQDIV_MANTISSA_SHIFT			0
- #define OMAP4430_MODFREQDIV_MANTISSA_MASK			(0x7f << 0)
-@@ -1155,8 +1064,7 @@
-  * CM1_ABE_TIMER8_CLKCTRL, CM1_ABE_WDT3_CLKCTRL, CM_ALWON_MDMINTC_CLKCTRL,
-  * CM_ALWON_SR_CORE_CLKCTRL, CM_ALWON_SR_IVA_CLKCTRL, CM_ALWON_SR_MPU_CLKCTRL,
-  * CM_CAM_FDIF_CLKCTRL, CM_CAM_ISS_CLKCTRL, CM_CEFUSE_CEFUSE_CLKCTRL,
-- * CM_CM1_PROFILING_CLKCTRL, CM_CM1_PROFILING_CLKCTRL_RESTORE,
-- * CM_CM2_PROFILING_CLKCTRL, CM_CM2_PROFILING_CLKCTRL_RESTORE,
-+ * CM_CM1_PROFILING_CLKCTRL, CM_CM2_PROFILING_CLKCTRL,
-  * CM_D2D_MODEM_ICR_CLKCTRL, CM_D2D_SAD2D_CLKCTRL, CM_D2D_SAD2D_FW_CLKCTRL,
-  * CM_DSS_DEISS_CLKCTRL, CM_DSS_DSS_CLKCTRL, CM_DUCATI_DUCATI_CLKCTRL,
-  * CM_EMU_DEBUGSS_CLKCTRL, CM_GFX_GFX_CLKCTRL, CM_IVAHD_IVAHD_CLKCTRL,
-@@ -1165,30 +1073,24 @@
-  * CM_L3INIT_MMC6_CLKCTRL, CM_L3INIT_P1500_CLKCTRL, CM_L3INIT_PCIESS_CLKCTRL,
-  * CM_L3INIT_SATA_CLKCTRL, CM_L3INIT_TPPSS_CLKCTRL, CM_L3INIT_UNIPRO1_CLKCTRL,
-  * CM_L3INIT_USBPHYOCP2SCP_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL,
-- * CM_L3INIT_USB_HOST_CLKCTRL_RESTORE, CM_L3INIT_USB_HOST_FS_CLKCTRL,
-- * CM_L3INIT_USB_OTG_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL,
-- * CM_L3INIT_USB_TLL_CLKCTRL_RESTORE, CM_L3INIT_XHPI_CLKCTRL,
-- * CM_L3INSTR_L3_3_CLKCTRL, CM_L3INSTR_L3_3_CLKCTRL_RESTORE,
-- * CM_L3INSTR_L3_INSTR_CLKCTRL, CM_L3INSTR_L3_INSTR_CLKCTRL_RESTORE,
-- * CM_L3INSTR_OCP_WP1_CLKCTRL, CM_L3INSTR_OCP_WP1_CLKCTRL_RESTORE,
-+ * CM_L3INIT_USB_HOST_FS_CLKCTRL, CM_L3INIT_USB_OTG_CLKCTRL,
-+ * CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_XHPI_CLKCTRL, CM_L3INSTR_L3_3_CLKCTRL,
-+ * CM_L3INSTR_L3_INSTR_CLKCTRL, CM_L3INSTR_OCP_WP1_CLKCTRL,
-  * CM_L3_1_L3_1_CLKCTRL, CM_L3_2_GPMC_CLKCTRL, CM_L3_2_L3_2_CLKCTRL,
-  * CM_L3_2_OCMC_RAM_CLKCTRL, CM_L4CFG_HW_SEM_CLKCTRL, CM_L4CFG_L4_CFG_CLKCTRL,
-  * CM_L4CFG_MAILBOX_CLKCTRL, CM_L4CFG_SAR_ROM_CLKCTRL, CM_L4PER_ADC_CLKCTRL,
-  * CM_L4PER_DMTIMER10_CLKCTRL, CM_L4PER_DMTIMER11_CLKCTRL,
-  * CM_L4PER_DMTIMER2_CLKCTRL, CM_L4PER_DMTIMER3_CLKCTRL,
-  * CM_L4PER_DMTIMER4_CLKCTRL, CM_L4PER_DMTIMER9_CLKCTRL, CM_L4PER_ELM_CLKCTRL,
-- * CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO2_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL_RESTORE,
-- * CM_L4PER_HDQ1W_CLKCTRL, CM_L4PER_HECC1_CLKCTRL, CM_L4PER_HECC2_CLKCTRL,
-- * CM_L4PER_I2C1_CLKCTRL, CM_L4PER_I2C2_CLKCTRL, CM_L4PER_I2C3_CLKCTRL,
-- * CM_L4PER_I2C4_CLKCTRL, CM_L4PER_I2C5_CLKCTRL, CM_L4PER_L4PER_CLKCTRL,
-- * CM_L4PER_MCASP2_CLKCTRL, CM_L4PER_MCASP3_CLKCTRL, CM_L4PER_MCBSP4_CLKCTRL,
-- * CM_L4PER_MCSPI1_CLKCTRL, CM_L4PER_MCSPI2_CLKCTRL, CM_L4PER_MCSPI3_CLKCTRL,
-- * CM_L4PER_MCSPI4_CLKCTRL, CM_L4PER_MGATE_CLKCTRL, CM_L4PER_MMCSD3_CLKCTRL,
-- * CM_L4PER_MMCSD4_CLKCTRL, CM_L4PER_MMCSD5_CLKCTRL, CM_L4PER_MSPROHG_CLKCTRL,
-+ * CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL,
-+ * CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_HDQ1W_CLKCTRL,
-+ * CM_L4PER_HECC1_CLKCTRL, CM_L4PER_HECC2_CLKCTRL, CM_L4PER_I2C1_CLKCTRL,
-+ * CM_L4PER_I2C2_CLKCTRL, CM_L4PER_I2C3_CLKCTRL, CM_L4PER_I2C4_CLKCTRL,
-+ * CM_L4PER_I2C5_CLKCTRL, CM_L4PER_L4PER_CLKCTRL, CM_L4PER_MCASP2_CLKCTRL,
-+ * CM_L4PER_MCASP3_CLKCTRL, CM_L4PER_MCBSP4_CLKCTRL, CM_L4PER_MCSPI1_CLKCTRL,
-+ * CM_L4PER_MCSPI2_CLKCTRL, CM_L4PER_MCSPI3_CLKCTRL, CM_L4PER_MCSPI4_CLKCTRL,
-+ * CM_L4PER_MGATE_CLKCTRL, CM_L4PER_MMCSD3_CLKCTRL, CM_L4PER_MMCSD4_CLKCTRL,
-+ * CM_L4PER_MMCSD5_CLKCTRL, CM_L4PER_MSPROHG_CLKCTRL,
-  * CM_L4PER_SLIMBUS2_CLKCTRL, CM_L4PER_UART1_CLKCTRL, CM_L4PER_UART2_CLKCTRL,
-  * CM_L4PER_UART3_CLKCTRL, CM_L4PER_UART4_CLKCTRL, CM_L4SEC_AES1_CLKCTRL,
-  * CM_L4SEC_AES2_CLKCTRL, CM_L4SEC_CRYPTODMA_CLKCTRL, CM_L4SEC_DES3DES_CLKCTRL,
-@@ -1221,11 +1123,9 @@
- #define OMAP4430_OPTFCLKEN_CTRLCLK_MASK				(1 << 8)
- 
- /*
-- * Used by CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO2_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO3_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO4_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL_RESTORE,
-- * CM_L4PER_GPIO6_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL_RESTORE, CM_WKUP_GPIO1_CLKCTRL
-+ * Used by CM_L4PER_GPIO2_CLKCTRL, CM_L4PER_GPIO3_CLKCTRL,
-+ * CM_L4PER_GPIO4_CLKCTRL, CM_L4PER_GPIO5_CLKCTRL, CM_L4PER_GPIO6_CLKCTRL,
-+ * CM_WKUP_GPIO1_CLKCTRL
-  */
- #define OMAP4430_OPTFCLKEN_DBCLK_SHIFT				8
- #define OMAP4430_OPTFCLKEN_DBCLK_MASK				(1 << 8)
-@@ -1254,23 +1154,23 @@
- #define OMAP4430_OPTFCLKEN_FCLK2_SHIFT				10
- #define OMAP4430_OPTFCLKEN_FCLK2_MASK				(1 << 10)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_FUNC48MCLK_SHIFT			15
- #define OMAP4430_OPTFCLKEN_FUNC48MCLK_MASK			(1 << 15)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_HSIC480M_P1_CLK_SHIFT		13
- #define OMAP4430_OPTFCLKEN_HSIC480M_P1_CLK_MASK			(1 << 13)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_HSIC480M_P2_CLK_SHIFT		14
- #define OMAP4430_OPTFCLKEN_HSIC480M_P2_CLK_MASK			(1 << 14)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_HSIC60M_P1_CLK_SHIFT			11
- #define OMAP4430_OPTFCLKEN_HSIC60M_P1_CLK_MASK			(1 << 11)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_HSIC60M_P2_CLK_SHIFT			12
- #define OMAP4430_OPTFCLKEN_HSIC60M_P2_CLK_MASK			(1 << 12)
- 
-@@ -1306,27 +1206,27 @@
- #define OMAP4430_OPTFCLKEN_TXPHYCLK_SHIFT			8
- #define OMAP4430_OPTFCLKEN_TXPHYCLK_MASK			(1 << 8)
- 
--/* Used by CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_TLL_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_USB_CH0_CLK_SHIFT			8
- #define OMAP4430_OPTFCLKEN_USB_CH0_CLK_MASK			(1 << 8)
- 
--/* Used by CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_TLL_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_USB_CH1_CLK_SHIFT			9
- #define OMAP4430_OPTFCLKEN_USB_CH1_CLK_MASK			(1 << 9)
- 
--/* Used by CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_TLL_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_USB_CH2_CLK_SHIFT			10
- #define OMAP4430_OPTFCLKEN_USB_CH2_CLK_MASK			(1 << 10)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_UTMI_P1_CLK_SHIFT			8
- #define OMAP4430_OPTFCLKEN_UTMI_P1_CLK_MASK			(1 << 8)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_UTMI_P2_CLK_SHIFT			9
- #define OMAP4430_OPTFCLKEN_UTMI_P2_CLK_MASK			(1 << 9)
- 
--/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL */
- #define OMAP4430_OPTFCLKEN_UTMI_P3_CLK_SHIFT			10
- #define OMAP4430_OPTFCLKEN_UTMI_P3_CLK_MASK			(1 << 10)
- 
-@@ -1374,7 +1274,7 @@
- #define OMAP4430_PMD_TRACE_MUX_CTRL_SHIFT			22
- #define OMAP4430_PMD_TRACE_MUX_CTRL_MASK			(0x3 << 22)
- 
--/* Used by CM_DYN_DEP_PRESCAL, CM_DYN_DEP_PRESCAL_RESTORE */
-+/* Used by CM_DYN_DEP_PRESCAL */
- #define OMAP4430_PRESCAL_SHIFT					0
- #define OMAP4430_PRESCAL_MASK					(0x3f << 0)
- 
-@@ -1382,10 +1282,7 @@
- #define OMAP4430_R_RTL_SHIFT					11
- #define OMAP4430_R_RTL_MASK					(0x1f << 11)
- 
--/*
-- * Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE,
-- * CM_L3INIT_USB_TLL_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL_RESTORE
-- */
-+/* Used by CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_TLL_CLKCTRL */
- #define OMAP4430_SAR_MODE_SHIFT					4
- #define OMAP4430_SAR_MODE_MASK					(1 << 4)
- 
-@@ -1397,7 +1294,7 @@
- #define OMAP4430_SCHEME_SHIFT					30
- #define OMAP4430_SCHEME_MASK					(0x3 << 30)
- 
--/* Used by CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE */
-+/* Used by CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_SDMA_DYNDEP_SHIFT				11
- #define OMAP4430_SDMA_DYNDEP_MASK				(1 << 11)
- 
-@@ -1417,10 +1314,10 @@
-  * CM_L3INIT_HSI_CLKCTRL, CM_L3INIT_MMC1_CLKCTRL, CM_L3INIT_MMC2_CLKCTRL,
-  * CM_L3INIT_MMC6_CLKCTRL, CM_L3INIT_P1500_CLKCTRL, CM_L3INIT_PCIESS_CLKCTRL,
-  * CM_L3INIT_SATA_CLKCTRL, CM_L3INIT_TPPSS_CLKCTRL, CM_L3INIT_UNIPRO1_CLKCTRL,
-- * CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_CLKCTRL_RESTORE,
-- * CM_L3INIT_USB_HOST_FS_CLKCTRL, CM_L3INIT_USB_OTG_CLKCTRL,
-- * CM_L3INIT_XHPI_CLKCTRL, CM_L4SEC_CRYPTODMA_CLKCTRL, CM_MPU_MPU_CLKCTRL,
-- * CM_SDMA_SDMA_CLKCTRL, CM_TESLA_TESLA_CLKCTRL
-+ * CM_L3INIT_USB_HOST_CLKCTRL, CM_L3INIT_USB_HOST_FS_CLKCTRL,
-+ * CM_L3INIT_USB_OTG_CLKCTRL, CM_L3INIT_XHPI_CLKCTRL,
-+ * CM_L4SEC_CRYPTODMA_CLKCTRL, CM_MPU_MPU_CLKCTRL, CM_SDMA_SDMA_CLKCTRL,
-+ * CM_TESLA_TESLA_CLKCTRL
-  */
- #define OMAP4430_STBYST_SHIFT					18
- #define OMAP4430_STBYST_MASK					(1 << 18)
-@@ -1438,17 +1335,13 @@
- #define OMAP4430_ST_DPLL_CLKDCOLDO_MASK				(1 << 9)
- 
- /*
-- * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE,
-- * CM_DIV_M2_DPLL_CORE_RESTORE, CM_DIV_M2_DPLL_DDRPHY, CM_DIV_M2_DPLL_MPU,
-- * CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_USB
-+ * Used by CM_DIV_M2_DPLL_ABE, CM_DIV_M2_DPLL_CORE, CM_DIV_M2_DPLL_DDRPHY,
-+ * CM_DIV_M2_DPLL_MPU, CM_DIV_M2_DPLL_PER, CM_DIV_M2_DPLL_USB
-  */
- #define OMAP4430_ST_DPLL_CLKOUT_SHIFT				9
- #define OMAP4430_ST_DPLL_CLKOUT_MASK				(1 << 9)
- 
--/*
-- * Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE,
-- * CM_DIV_M3_DPLL_CORE_RESTORE, CM_DIV_M3_DPLL_PER
-- */
-+/* Used by CM_DIV_M3_DPLL_ABE, CM_DIV_M3_DPLL_CORE, CM_DIV_M3_DPLL_PER */
- #define OMAP4430_ST_DPLL_CLKOUTHIF_SHIFT			9
- #define OMAP4430_ST_DPLL_CLKOUTHIF_MASK				(1 << 9)
- 
-@@ -1457,30 +1350,24 @@
- #define OMAP4430_ST_DPLL_CLKOUTX2_MASK				(1 << 11)
- 
- /*
-- * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_CORE_RESTORE,
-- * CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA, CM_DIV_M4_DPLL_PER
-+ * Used by CM_DIV_M4_DPLL_CORE, CM_DIV_M4_DPLL_DDRPHY, CM_DIV_M4_DPLL_IVA,
-+ * CM_DIV_M4_DPLL_PER
-  */
- #define OMAP4430_ST_HSDIVIDER_CLKOUT1_SHIFT			9
- #define OMAP4430_ST_HSDIVIDER_CLKOUT1_MASK			(1 << 9)
- 
- /*
-- * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_CORE_RESTORE,
-- * CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA, CM_DIV_M5_DPLL_PER
-+ * Used by CM_DIV_M5_DPLL_CORE, CM_DIV_M5_DPLL_DDRPHY, CM_DIV_M5_DPLL_IVA,
-+ * CM_DIV_M5_DPLL_PER
-  */
- #define OMAP4430_ST_HSDIVIDER_CLKOUT2_SHIFT			9
- #define OMAP4430_ST_HSDIVIDER_CLKOUT2_MASK			(1 << 9)
- 
--/*
-- * Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_CORE_RESTORE,
-- * CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER
-- */
-+/* Used by CM_DIV_M6_DPLL_CORE, CM_DIV_M6_DPLL_DDRPHY, CM_DIV_M6_DPLL_PER */
- #define OMAP4430_ST_HSDIVIDER_CLKOUT3_SHIFT			9
- #define OMAP4430_ST_HSDIVIDER_CLKOUT3_MASK			(1 << 9)
- 
--/*
-- * Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_CORE_RESTORE,
-- * CM_DIV_M7_DPLL_PER
-- */
-+/* Used by CM_DIV_M7_DPLL_CORE, CM_DIV_M7_DPLL_PER */
- #define OMAP4430_ST_HSDIVIDER_CLKOUT4_SHIFT			9
- #define OMAP4430_ST_HSDIVIDER_CLKOUT4_MASK			(1 << 9)
- 
-@@ -1496,7 +1383,7 @@
- #define OMAP4430_SYS_CLKSEL_SHIFT				0
- #define OMAP4430_SYS_CLKSEL_MASK				(0x7 << 0)
- 
--/* Used by CM_L4CFG_DYNAMICDEP, CM_L4CFG_DYNAMICDEP_RESTORE */
-+/* Used by CM_L4CFG_DYNAMICDEP */
- #define OMAP4430_TESLA_DYNDEP_SHIFT				1
- #define OMAP4430_TESLA_DYNDEP_MASK				(1 << 1)
- 
-@@ -1505,11 +1392,9 @@
- #define OMAP4430_TESLA_STATDEP_MASK				(1 << 1)
- 
- /*
-- * Used by CM_D2D_DYNAMICDEP, CM_D2D_DYNAMICDEP_RESTORE, CM_DUCATI_DYNAMICDEP,
-- * CM_EMU_DYNAMICDEP, CM_L3_1_DYNAMICDEP, CM_L3_1_DYNAMICDEP_RESTORE,
-- * CM_L3_2_DYNAMICDEP, CM_L3_2_DYNAMICDEP_RESTORE, CM_L4CFG_DYNAMICDEP,
-- * CM_L4CFG_DYNAMICDEP_RESTORE, CM_L4PER_DYNAMICDEP,
-- * CM_L4PER_DYNAMICDEP_RESTORE, CM_MPU_DYNAMICDEP, CM_TESLA_DYNAMICDEP
-+ * Used by CM_D2D_DYNAMICDEP, CM_DUCATI_DYNAMICDEP, CM_EMU_DYNAMICDEP,
-+ * CM_L3_1_DYNAMICDEP, CM_L3_2_DYNAMICDEP, CM_L4CFG_DYNAMICDEP,
-+ * CM_L4PER_DYNAMICDEP, CM_MPU_DYNAMICDEP, CM_TESLA_DYNAMICDEP
-  */
- #define OMAP4430_WINDOWSIZE_SHIFT				24
- #define OMAP4430_WINDOWSIZE_MASK				(0xf << 24)
-diff --git a/arch/arm/mach-omap2/cm1_44xx.h b/arch/arm/mach-omap2/cm1_44xx.h
-index fc649f5..1bc00dc 100644
---- a/arch/arm/mach-omap2/cm1_44xx.h
-+++ b/arch/arm/mach-omap2/cm1_44xx.h
-@@ -217,42 +217,6 @@
- #define OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET		0x0088
- #define OMAP4430_CM1_ABE_WDT3_CLKCTRL			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_ABE_INST, 0x0088)
- 
--/* CM1.RESTORE_CM1 register offsets */
--#define OMAP4_CM_CLKSEL_CORE_RESTORE_OFFSET		0x0000
--#define OMAP4430_CM_CLKSEL_CORE_RESTORE			OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0000)
--#define OMAP4_CM_DIV_M2_DPLL_CORE_RESTORE_OFFSET	0x0004
--#define OMAP4430_CM_DIV_M2_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0004)
--#define OMAP4_CM_DIV_M3_DPLL_CORE_RESTORE_OFFSET	0x0008
--#define OMAP4430_CM_DIV_M3_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0008)
--#define OMAP4_CM_DIV_M4_DPLL_CORE_RESTORE_OFFSET	0x000c
--#define OMAP4430_CM_DIV_M4_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x000c)
--#define OMAP4_CM_DIV_M5_DPLL_CORE_RESTORE_OFFSET	0x0010
--#define OMAP4430_CM_DIV_M5_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0010)
--#define OMAP4_CM_DIV_M6_DPLL_CORE_RESTORE_OFFSET	0x0014
--#define OMAP4430_CM_DIV_M6_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0014)
--#define OMAP4_CM_DIV_M7_DPLL_CORE_RESTORE_OFFSET	0x0018
--#define OMAP4430_CM_DIV_M7_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0018)
--#define OMAP4_CM_CLKSEL_DPLL_CORE_RESTORE_OFFSET	0x001c
--#define OMAP4430_CM_CLKSEL_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x001c)
--#define OMAP4_CM_SSC_DELTAMSTEP_DPLL_CORE_RESTORE_OFFSET	0x0020
--#define OMAP4430_CM_SSC_DELTAMSTEP_DPLL_CORE_RESTORE	OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0020)
--#define OMAP4_CM_SSC_INSTFREQDIV_DPLL_CORE_RESTORE_OFFSET	0x0024
--#define OMAP4430_CM_SSC_INSTFREQDIV_DPLL_CORE_RESTORE	OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0024)
--#define OMAP4_CM_CLKMODE_DPLL_CORE_RESTORE_OFFSET	0x0028
--#define OMAP4430_CM_CLKMODE_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0028)
--#define OMAP4_CM_SHADOW_FREQ_CONFIG2_RESTORE_OFFSET	0x002c
--#define OMAP4430_CM_SHADOW_FREQ_CONFIG2_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x002c)
--#define OMAP4_CM_SHADOW_FREQ_CONFIG1_RESTORE_OFFSET	0x0030
--#define OMAP4430_CM_SHADOW_FREQ_CONFIG1_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0030)
--#define OMAP4_CM_AUTOIDLE_DPLL_CORE_RESTORE_OFFSET	0x0034
--#define OMAP4430_CM_AUTOIDLE_DPLL_CORE_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0034)
--#define OMAP4_CM_MPU_CLKSTCTRL_RESTORE_OFFSET		0x0038
--#define OMAP4430_CM_MPU_CLKSTCTRL_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0038)
--#define OMAP4_CM_CM1_PROFILING_CLKCTRL_RESTORE_OFFSET	0x003c
--#define OMAP4430_CM_CM1_PROFILING_CLKCTRL_RESTORE	OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x003c)
--#define OMAP4_CM_DYN_DEP_PRESCAL_RESTORE_OFFSET		0x0040
--#define OMAP4430_CM_DYN_DEP_PRESCAL_RESTORE		OMAP44XX_CM1_REGADDR(OMAP4430_CM1_RESTORE_INST, 0x0040)
--
- /* Function prototypes */
- extern u32 omap4_cm1_read_inst_reg(s16 inst, u16 idx);
- extern void omap4_cm1_write_inst_reg(u32 val, s16 inst, u16 idx);
-diff --git a/arch/arm/mach-omap2/cm2_44xx.h b/arch/arm/mach-omap2/cm2_44xx.h
-index 8036a16..b9de72d 100644
---- a/arch/arm/mach-omap2/cm2_44xx.h
-+++ b/arch/arm/mach-omap2/cm2_44xx.h
-@@ -449,56 +449,6 @@
- #define OMAP4_CM_CEFUSE_CEFUSE_CLKCTRL_OFFSET		0x0020
- #define OMAP4430_CM_CEFUSE_CEFUSE_CLKCTRL		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_CEFUSE_INST, 0x0020)
- 
--/* CM2.RESTORE_CM2 register offsets */
--#define OMAP4_CM_L3_1_CLKSTCTRL_RESTORE_OFFSET		0x0000
--#define OMAP4430_CM_L3_1_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0000)
--#define OMAP4_CM_L3_2_CLKSTCTRL_RESTORE_OFFSET		0x0004
--#define OMAP4430_CM_L3_2_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0004)
--#define OMAP4_CM_L4CFG_CLKSTCTRL_RESTORE_OFFSET		0x0008
--#define OMAP4430_CM_L4CFG_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0008)
--#define OMAP4_CM_MEMIF_CLKSTCTRL_RESTORE_OFFSET		0x000c
--#define OMAP4430_CM_MEMIF_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x000c)
--#define OMAP4_CM_L4PER_CLKSTCTRL_RESTORE_OFFSET		0x0010
--#define OMAP4430_CM_L4PER_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0010)
--#define OMAP4_CM_L3INIT_CLKSTCTRL_RESTORE_OFFSET	0x0014
--#define OMAP4430_CM_L3INIT_CLKSTCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0014)
--#define OMAP4_CM_L3INSTR_L3_3_CLKCTRL_RESTORE_OFFSET	0x0018
--#define OMAP4430_CM_L3INSTR_L3_3_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0018)
--#define OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_RESTORE_OFFSET	0x001c
--#define OMAP4430_CM_L3INSTR_L3_INSTR_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x001c)
--#define OMAP4_CM_L3INSTR_OCP_WP1_CLKCTRL_RESTORE_OFFSET	0x0020
--#define OMAP4430_CM_L3INSTR_OCP_WP1_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0020)
--#define OMAP4_CM_CM2_PROFILING_CLKCTRL_RESTORE_OFFSET	0x0024
--#define OMAP4430_CM_CM2_PROFILING_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0024)
--#define OMAP4_CM_D2D_STATICDEP_RESTORE_OFFSET		0x0028
--#define OMAP4430_CM_D2D_STATICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0028)
--#define OMAP4_CM_L3_1_DYNAMICDEP_RESTORE_OFFSET		0x002c
--#define OMAP4430_CM_L3_1_DYNAMICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x002c)
--#define OMAP4_CM_L3_2_DYNAMICDEP_RESTORE_OFFSET		0x0030
--#define OMAP4430_CM_L3_2_DYNAMICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0030)
--#define OMAP4_CM_D2D_DYNAMICDEP_RESTORE_OFFSET		0x0034
--#define OMAP4430_CM_D2D_DYNAMICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0034)
--#define OMAP4_CM_L4CFG_DYNAMICDEP_RESTORE_OFFSET	0x0038
--#define OMAP4430_CM_L4CFG_DYNAMICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0038)
--#define OMAP4_CM_L4PER_DYNAMICDEP_RESTORE_OFFSET	0x003c
--#define OMAP4430_CM_L4PER_DYNAMICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x003c)
--#define OMAP4_CM_L4PER_GPIO2_CLKCTRL_RESTORE_OFFSET	0x0040
--#define OMAP4430_CM_L4PER_GPIO2_CLKCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0040)
--#define OMAP4_CM_L4PER_GPIO3_CLKCTRL_RESTORE_OFFSET	0x0044
--#define OMAP4430_CM_L4PER_GPIO3_CLKCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0044)
--#define OMAP4_CM_L4PER_GPIO4_CLKCTRL_RESTORE_OFFSET	0x0048
--#define OMAP4430_CM_L4PER_GPIO4_CLKCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0048)
--#define OMAP4_CM_L4PER_GPIO5_CLKCTRL_RESTORE_OFFSET	0x004c
--#define OMAP4430_CM_L4PER_GPIO5_CLKCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x004c)
--#define OMAP4_CM_L4PER_GPIO6_CLKCTRL_RESTORE_OFFSET	0x0050
--#define OMAP4430_CM_L4PER_GPIO6_CLKCTRL_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0050)
--#define OMAP4_CM_L3INIT_USB_HOST_CLKCTRL_RESTORE_OFFSET	0x0054
--#define OMAP4430_CM_L3INIT_USB_HOST_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0054)
--#define OMAP4_CM_L3INIT_USB_TLL_CLKCTRL_RESTORE_OFFSET	0x0058
--#define OMAP4430_CM_L3INIT_USB_TLL_CLKCTRL_RESTORE	OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x0058)
--#define OMAP4_CM_SDMA_STATICDEP_RESTORE_OFFSET		0x005c
--#define OMAP4430_CM_SDMA_STATICDEP_RESTORE		OMAP44XX_CM2_REGADDR(OMAP4430_CM2_RESTORE_INST, 0x005c)
--
- /* Function prototypes */
- extern u32 omap4_cm2_read_inst_reg(s16 inst, u16 idx);
- extern void omap4_cm2_write_inst_reg(u32 val, s16 inst, u16 idx);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0056-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0056-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch
deleted file mode 100644
index 6d9cb33..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0056-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From e6adacab9f633eddd83c90205bbf5a21c85c9444 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:06 -0600
-Subject: [PATCH 056/149] OMAP4: prcm_mpu: Fix indent in few macros
-
-Some maros were not well aligned. Re-align them.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/prcm_mpu44xx.h |   69 +++++++++++++++++------------------
- 1 files changed, 34 insertions(+), 35 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prcm_mpu44xx.h b/arch/arm/mach-omap2/prcm_mpu44xx.h
-index d22d1b4..8a6e250 100644
---- a/arch/arm/mach-omap2/prcm_mpu44xx.h
-+++ b/arch/arm/mach-omap2/prcm_mpu44xx.h
-@@ -31,7 +31,6 @@
- 	OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE + (inst) + (reg))
- 
- /* PRCM_MPU instances */
--
- #define OMAP4430_PRCM_MPU_OCP_SOCKET_PRCM_INST	0x0000
- #define OMAP4430_PRCM_MPU_DEVICE_PRM_INST	0x0200
- #define OMAP4430_PRCM_MPU_CPU0_INST		0x0400
-@@ -52,46 +51,46 @@
-  */
- 
- /* PRCM_MPU.OCP_SOCKET_PRCM register offsets */
--#define OMAP4_REVISION_PRCM_OFFSET			0x0000
--#define OMAP4430_REVISION_PRCM				OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_OCP_SOCKET_PRCM_INST, 0x0000)
-+#define OMAP4_REVISION_PRCM_OFFSET		0x0000
-+#define OMAP4430_REVISION_PRCM			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_OCP_SOCKET_PRCM_INST, 0x0000)
- 
- /* PRCM_MPU.DEVICE_PRM register offsets */
--#define OMAP4_PRCM_MPU_PRM_RSTST_OFFSET			0x0000
--#define OMAP4430_PRCM_MPU_PRM_RSTST			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0000)
--#define OMAP4_PRCM_MPU_PRM_PSCON_COUNT_OFFSET		0x0004
--#define OMAP4430_PRCM_MPU_PRM_PSCON_COUNT		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0004)
-+#define OMAP4_PRCM_MPU_PRM_RSTST_OFFSET		0x0000
-+#define OMAP4430_PRCM_MPU_PRM_RSTST		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0000)
-+#define OMAP4_PRCM_MPU_PRM_PSCON_COUNT_OFFSET	0x0004
-+#define OMAP4430_PRCM_MPU_PRM_PSCON_COUNT	OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_DEVICE_PRM_INST, 0x0004)
- 
- /* PRCM_MPU.CPU0 register offsets */
--#define OMAP4_PM_CPU0_PWRSTCTRL_OFFSET			0x0000
--#define OMAP4430_PM_CPU0_PWRSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0000)
--#define OMAP4_PM_CPU0_PWRSTST_OFFSET			0x0004
--#define OMAP4430_PM_CPU0_PWRSTST			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0004)
--#define OMAP4_RM_CPU0_CPU0_CONTEXT_OFFSET		0x0008
--#define OMAP4430_RM_CPU0_CPU0_CONTEXT			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0008)
--#define OMAP4_RM_CPU0_CPU0_RSTCTRL_OFFSET		0x000c
--#define OMAP4430_RM_CPU0_CPU0_RSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x000c)
--#define OMAP4_RM_CPU0_CPU0_RSTST_OFFSET			0x0010
--#define OMAP4430_RM_CPU0_CPU0_RSTST			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0010)
--#define OMAP4_CM_CPU0_CPU0_CLKCTRL_OFFSET		0x0014
--#define OMAP4430_CM_CPU0_CPU0_CLKCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0014)
--#define OMAP4_CM_CPU0_CLKSTCTRL_OFFSET			0x0018
--#define OMAP4430_CM_CPU0_CLKSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0018)
-+#define OMAP4_PM_CPU0_PWRSTCTRL_OFFSET		0x0000
-+#define OMAP4430_PM_CPU0_PWRSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0000)
-+#define OMAP4_PM_CPU0_PWRSTST_OFFSET		0x0004
-+#define OMAP4430_PM_CPU0_PWRSTST		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0004)
-+#define OMAP4_RM_CPU0_CPU0_CONTEXT_OFFSET	0x0008
-+#define OMAP4430_RM_CPU0_CPU0_CONTEXT		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0008)
-+#define OMAP4_RM_CPU0_CPU0_RSTCTRL_OFFSET	0x000c
-+#define OMAP4430_RM_CPU0_CPU0_RSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x000c)
-+#define OMAP4_RM_CPU0_CPU0_RSTST_OFFSET		0x0010
-+#define OMAP4430_RM_CPU0_CPU0_RSTST		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0010)
-+#define OMAP4_CM_CPU0_CPU0_CLKCTRL_OFFSET	0x0014
-+#define OMAP4430_CM_CPU0_CPU0_CLKCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0014)
-+#define OMAP4_CM_CPU0_CLKSTCTRL_OFFSET		0x0018
-+#define OMAP4430_CM_CPU0_CLKSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU0_INST, 0x0018)
- 
- /* PRCM_MPU.CPU1 register offsets */
--#define OMAP4_PM_CPU1_PWRSTCTRL_OFFSET			0x0000
--#define OMAP4430_PM_CPU1_PWRSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0000)
--#define OMAP4_PM_CPU1_PWRSTST_OFFSET			0x0004
--#define OMAP4430_PM_CPU1_PWRSTST			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0004)
--#define OMAP4_RM_CPU1_CPU1_CONTEXT_OFFSET		0x0008
--#define OMAP4430_RM_CPU1_CPU1_CONTEXT			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0008)
--#define OMAP4_RM_CPU1_CPU1_RSTCTRL_OFFSET		0x000c
--#define OMAP4430_RM_CPU1_CPU1_RSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x000c)
--#define OMAP4_RM_CPU1_CPU1_RSTST_OFFSET			0x0010
--#define OMAP4430_RM_CPU1_CPU1_RSTST			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0010)
--#define OMAP4_CM_CPU1_CPU1_CLKCTRL_OFFSET		0x0014
--#define OMAP4430_CM_CPU1_CPU1_CLKCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0014)
--#define OMAP4_CM_CPU1_CLKSTCTRL_OFFSET			0x0018
--#define OMAP4430_CM_CPU1_CLKSTCTRL			OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0018)
-+#define OMAP4_PM_CPU1_PWRSTCTRL_OFFSET		0x0000
-+#define OMAP4430_PM_CPU1_PWRSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0000)
-+#define OMAP4_PM_CPU1_PWRSTST_OFFSET		0x0004
-+#define OMAP4430_PM_CPU1_PWRSTST		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0004)
-+#define OMAP4_RM_CPU1_CPU1_CONTEXT_OFFSET	0x0008
-+#define OMAP4430_RM_CPU1_CPU1_CONTEXT		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0008)
-+#define OMAP4_RM_CPU1_CPU1_RSTCTRL_OFFSET	0x000c
-+#define OMAP4430_RM_CPU1_CPU1_RSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x000c)
-+#define OMAP4_RM_CPU1_CPU1_RSTST_OFFSET		0x0010
-+#define OMAP4430_RM_CPU1_CPU1_RSTST		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0010)
-+#define OMAP4_CM_CPU1_CPU1_CLKCTRL_OFFSET	0x0014
-+#define OMAP4430_CM_CPU1_CPU1_CLKCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0014)
-+#define OMAP4_CM_CPU1_CLKSTCTRL_OFFSET		0x0018
-+#define OMAP4430_CM_CPU1_CLKSTCTRL		OMAP44XX_PRCM_MPU_REGADDR(OMAP4430_PRCM_MPU_CPU1_INST, 0x0018)
- 
- /* Function prototypes */
- # ifndef __ASSEMBLER__
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0057-OMAP4-clockdomain-data-Fix-data-order-and-wrong-name.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0057-OMAP4-clockdomain-data-Fix-data-order-and-wrong-name.patch
deleted file mode 100644
index c222d7c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0057-OMAP4-clockdomain-data-Fix-data-order-and-wrong-name.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-From bbf7af412d82e488052f801f294687aaf1bf260e Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 19:15:06 -0600
-Subject: [PATCH 057/149] OMAP4: clockdomain data: Fix data order and wrong name
-
-MPUSS was renamed MPU and L3_D2D D2D.
-The rename will slightly change the order of the structure
-and thus generate some structures moves.
-
-Add a comment and remove a comma.
-
-Update Copyright for TI and Nokia and add back Paul
-in the author list.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clockdomains44xx_data.c |  124 ++++++++++++++-------------
- 1 files changed, 63 insertions(+), 61 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomains44xx_data.c b/arch/arm/mach-omap2/clockdomains44xx_data.c
-index a607ec1..66090f2 100644
---- a/arch/arm/mach-omap2/clockdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/clockdomains44xx_data.c
-@@ -1,11 +1,12 @@
- /*
-  * OMAP4 Clock domains framework
-  *
-- * Copyright (C) 2009 Texas Instruments, Inc.
-- * Copyright (C) 2009 Nokia Corporation
-+ * Copyright (C) 2009-2011 Texas Instruments, Inc.
-+ * Copyright (C) 2009-2011 Nokia Corporation
-  *
-  * Abhijit Pagare (abhijitpagare at ti.com)
-  * Benoit Cousson (b-cousson at ti.com)
-+ * Paul Walmsley (paul at pwsan.com)
-  *
-  * This file is automatically generated from the OMAP hardware databases.
-  * We respectfully ask that any modifications to this file be coordinated
-@@ -32,7 +33,7 @@
- 
- /* Static Dependencies for OMAP4 Clock Domains */
- 
--static struct clkdm_dep ducati_wkup_sleep_deps[] = {
-+static struct clkdm_dep d2d_wkup_sleep_deps[] = {
- 	{
- 		.clkdm_name	 = "abe_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
-@@ -50,103 +51,103 @@ static struct clkdm_dep ducati_wkup_sleep_deps[] = {
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_dss_clkdm",
-+		.clkdm_name	 = "l3_emif_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_emif_clkdm",
-+		.clkdm_name	 = "l3_init_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_gfx_clkdm",
-+		.clkdm_name	 = "l4_cfg_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_init_clkdm",
-+		.clkdm_name	 = "l4_per_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
-+	{ NULL },
-+};
-+
-+static struct clkdm_dep ducati_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "l4_cfg_clkdm",
-+		.clkdm_name	 = "abe_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l4_per_clkdm",
-+		.clkdm_name	 = "ivahd_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l4_secure_clkdm",
-+		.clkdm_name	 = "l3_1_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l4_wkup_clkdm",
-+		.clkdm_name	 = "l3_2_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "tesla_clkdm",
-+		.clkdm_name	 = "l3_dss_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
--	{ NULL },
--};
--
--static struct clkdm_dep iss_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "ivahd_clkdm",
-+		.clkdm_name	 = "l3_emif_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_1_clkdm",
-+		.clkdm_name	 = "l3_gfx_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_emif_clkdm",
-+		.clkdm_name	 = "l3_init_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
--	{ NULL },
--};
--
--static struct clkdm_dep ivahd_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "l3_1_clkdm",
-+		.clkdm_name	 = "l4_cfg_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_emif_clkdm",
-+		.clkdm_name	 = "l4_per_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
--	{ NULL },
--};
--
--static struct clkdm_dep l3_d2d_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "abe_clkdm",
-+		.clkdm_name	 = "l4_secure_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "ivahd_clkdm",
-+		.clkdm_name	 = "l4_wkup_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_1_clkdm",
-+		.clkdm_name	 = "tesla_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
-+	{ NULL },
-+};
-+
-+static struct clkdm_dep iss_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "l3_2_clkdm",
-+		.clkdm_name	 = "ivahd_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_emif_clkdm",
-+		.clkdm_name	 = "l3_1_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l3_init_clkdm",
-+		.clkdm_name	 = "l3_emif_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
-+	{ NULL },
-+};
-+
-+static struct clkdm_dep ivahd_wkup_sleep_deps[] = {
- 	{
--		.clkdm_name	 = "l4_cfg_clkdm",
-+		.clkdm_name	 = "l3_1_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{
--		.clkdm_name	 = "l4_per_clkdm",
-+		.clkdm_name	 = "l3_emif_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
- 	},
- 	{ NULL },
-@@ -280,7 +281,7 @@ static struct clkdm_dep l4_secure_wkup_sleep_deps[] = {
- 	{ NULL },
- };
- 
--static struct clkdm_dep mpuss_wkup_sleep_deps[] = {
-+static struct clkdm_dep mpu_wkup_sleep_deps[] = {
- 	{
- 		.clkdm_name	 = "abe_clkdm",
- 		.omap_chip	 = OMAP_CHIP_INIT(CHIP_IS_OMAP4430)
-@@ -497,14 +498,14 @@ static struct clockdomain l3_init_44xx_clkdm = {
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--static struct clockdomain mpuss_44xx_clkdm = {
--	.name		  = "mpuss_clkdm",
--	.pwrdm		  = { .name = "mpu_pwrdm" },
--	.prcm_partition	  = OMAP4430_CM1_PARTITION,
--	.cm_inst	  = OMAP4430_CM1_MPU_INST,
--	.clkdm_offs	  = OMAP4430_CM1_MPU_MPU_CDOFFS,
--	.wkdep_srcs	  = mpuss_wkup_sleep_deps,
--	.sleepdep_srcs	  = mpuss_wkup_sleep_deps,
-+static struct clockdomain d2d_44xx_clkdm = {
-+	.name		  = "d2d_clkdm",
-+	.pwrdm		  = { .name = "core_pwrdm" },
-+	.prcm_partition	  = OMAP4430_CM2_PARTITION,
-+	.cm_inst	  = OMAP4430_CM2_CORE_INST,
-+	.clkdm_offs	  = OMAP4430_CM2_CORE_D2D_CDOFFS,
-+	.wkdep_srcs	  = d2d_wkup_sleep_deps,
-+	.sleepdep_srcs	  = d2d_wkup_sleep_deps,
- 	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
-@@ -563,6 +564,18 @@ static struct clockdomain ducati_44xx_clkdm = {
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-+static struct clockdomain mpu_44xx_clkdm = {
-+	.name		  = "mpu_clkdm",
-+	.pwrdm		  = { .name = "mpu_pwrdm" },
-+	.prcm_partition	  = OMAP4430_CM1_PARTITION,
-+	.cm_inst	  = OMAP4430_CM1_MPU_INST,
-+	.clkdm_offs	  = OMAP4430_CM1_MPU_MPU_CDOFFS,
-+	.wkdep_srcs	  = mpu_wkup_sleep_deps,
-+	.sleepdep_srcs	  = mpu_wkup_sleep_deps,
-+	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
-+	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-+};
-+
- static struct clockdomain l3_2_44xx_clkdm = {
- 	.name		  = "l3_2_clkdm",
- 	.pwrdm		  = { .name = "core_pwrdm" },
-@@ -585,18 +598,6 @@ static struct clockdomain l3_1_44xx_clkdm = {
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--static struct clockdomain l3_d2d_44xx_clkdm = {
--	.name		  = "l3_d2d_clkdm",
--	.pwrdm		  = { .name = "core_pwrdm" },
--	.prcm_partition	  = OMAP4430_CM2_PARTITION,
--	.cm_inst	  = OMAP4430_CM2_CORE_INST,
--	.clkdm_offs	  = OMAP4430_CM2_CORE_D2D_CDOFFS,
--	.wkdep_srcs	  = l3_d2d_wkup_sleep_deps,
--	.sleepdep_srcs	  = l3_d2d_wkup_sleep_deps,
--	.flags		  = CLKDM_CAN_FORCE_WAKEUP | CLKDM_CAN_HWSUP,
--	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
--};
--
- static struct clockdomain iss_44xx_clkdm = {
- 	.name		  = "iss_clkdm",
- 	.pwrdm		  = { .name = "cam_pwrdm" },
-@@ -655,6 +656,7 @@ static struct clockdomain l3_dma_44xx_clkdm = {
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-+/* As clockdomains are added or removed above, this list must also be changed */
- static struct clockdomain *clockdomains_omap44xx[] __initdata = {
- 	&l4_cefuse_44xx_clkdm,
- 	&l4_cfg_44xx_clkdm,
-@@ -666,21 +668,21 @@ static struct clockdomain *clockdomains_omap44xx[] __initdata = {
- 	&abe_44xx_clkdm,
- 	&l3_instr_44xx_clkdm,
- 	&l3_init_44xx_clkdm,
--	&mpuss_44xx_clkdm,
-+	&d2d_44xx_clkdm,
- 	&mpu0_44xx_clkdm,
- 	&mpu1_44xx_clkdm,
- 	&l3_emif_44xx_clkdm,
- 	&l4_ao_44xx_clkdm,
- 	&ducati_44xx_clkdm,
-+	&mpu_44xx_clkdm,
- 	&l3_2_44xx_clkdm,
- 	&l3_1_44xx_clkdm,
--	&l3_d2d_44xx_clkdm,
- 	&iss_44xx_clkdm,
- 	&l3_dss_44xx_clkdm,
- 	&l4_wkup_44xx_clkdm,
- 	&emu_sys_44xx_clkdm,
- 	&l3_dma_44xx_clkdm,
--	NULL,
-+	NULL
- };
- 
- void __init omap44xx_clockdomains_init(void)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0058-OMAP-omap_device-replace-_find_by_pdev-with-to_omap_.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0058-OMAP-omap_device-replace-_find_by_pdev-with-to_omap_.patch
deleted file mode 100644
index 2ed265d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0058-OMAP-omap_device-replace-_find_by_pdev-with-to_omap_.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From b7fd7c4814b75005d2bf89d27e2160e863cdd5c3 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Sat, 9 Jul 2011 19:15:20 -0600
-Subject: [PATCH 058/149] OMAP: omap_device: replace _find_by_pdev() with to_omap_device()
-
-The omap_device layer currently has two ways of getting an omap_device
-pointer from a platform_device pointer.
-
-Replace current usage of _find_by_pdev() with to_omap_device() since
-to_omap_device() is more familiar to the existing to_platform_device()
-used when getting a platform_device pointer from a struct device pointer.
-
-Cc: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Reviewed-by: Felipe Balbi <balbi at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/plat-omap/omap_device.c |   15 +++++----------
- 1 files changed, 5 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
-index 49fc0df..c8b9cd1 100644
---- a/arch/arm/plat-omap/omap_device.c
-+++ b/arch/arm/plat-omap/omap_device.c
-@@ -236,11 +236,6 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
- 	return 0;
- }
- 
--static inline struct omap_device *_find_by_pdev(struct platform_device *pdev)
--{
--	return container_of(pdev, struct omap_device, pdev);
--}
--
- /**
-  * _add_optional_clock_clkdev - Add clkdev entry for hwmod optional clocks
-  * @od: struct omap_device *od
-@@ -316,7 +311,7 @@ u32 omap_device_get_context_loss_count(struct platform_device *pdev)
- 	struct omap_device *od;
- 	u32 ret = 0;
- 
--	od = _find_by_pdev(pdev);
-+	od = to_omap_device(pdev);
- 
- 	if (od->hwmods_cnt)
- 		ret = omap_hwmod_get_context_loss_count(od->hwmods[0]);
-@@ -611,7 +606,7 @@ int omap_device_enable(struct platform_device *pdev)
- 	int ret;
- 	struct omap_device *od;
- 
--	od = _find_by_pdev(pdev);
-+	od = to_omap_device(pdev);
- 
- 	if (od->_state == OMAP_DEVICE_STATE_ENABLED) {
- 		WARN(1, "omap_device: %s.%d: %s() called from invalid state %d\n",
-@@ -650,7 +645,7 @@ int omap_device_idle(struct platform_device *pdev)
- 	int ret;
- 	struct omap_device *od;
- 
--	od = _find_by_pdev(pdev);
-+	od = to_omap_device(pdev);
- 
- 	if (od->_state != OMAP_DEVICE_STATE_ENABLED) {
- 		WARN(1, "omap_device: %s.%d: %s() called from invalid state %d\n",
-@@ -681,7 +676,7 @@ int omap_device_shutdown(struct platform_device *pdev)
- 	int ret, i;
- 	struct omap_device *od;
- 
--	od = _find_by_pdev(pdev);
-+	od = to_omap_device(pdev);
- 
- 	if (od->_state != OMAP_DEVICE_STATE_ENABLED &&
- 	    od->_state != OMAP_DEVICE_STATE_IDLE) {
-@@ -722,7 +717,7 @@ int omap_device_align_pm_lat(struct platform_device *pdev,
- 	int ret = -EINVAL;
- 	struct omap_device *od;
- 
--	od = _find_by_pdev(pdev);
-+	od = to_omap_device(pdev);
- 
- 	if (new_wakeup_lat_limit == od->dev_wakeup_lat)
- 		return 0;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0059-OMAP-PM-remove-OMAP_PM_NONE-config-option.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0059-OMAP-PM-remove-OMAP_PM_NONE-config-option.patch
deleted file mode 100644
index d9c78e3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0059-OMAP-PM-remove-OMAP_PM_NONE-config-option.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 32f213e65477010bd1ac349b4bbe438958044e9f Mon Sep 17 00:00:00 2001
-From: Jean Pihet <jean.pihet at newoldbits.com>
-Date: Sat, 9 Jul 2011 19:15:41 -0600
-Subject: [PATCH 059/149] OMAP PM: remove OMAP_PM_NONE config option
-
-The current code base is not linking with the OMAP_PM_NONE
-option set.
-Since the option OMAP_PM_NOOP provides a no-op/debug layer,
-OMAP_PM_NONE can be removed.
-OMAP_PM_NOOP is enabled by default by Kconfig.
-
-Signed-off-by: Jean Pihet <j-pihet at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/plat-omap/Kconfig                |    3 ---
- arch/arm/plat-omap/include/plat/omap-pm.h |    8 --------
- 2 files changed, 0 insertions(+), 11 deletions(-)
-
-diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
-index 49a4c75..6e6735f 100644
---- a/arch/arm/plat-omap/Kconfig
-+++ b/arch/arm/plat-omap/Kconfig
-@@ -211,9 +211,6 @@ choice
- 	depends on ARCH_OMAP
- 	default OMAP_PM_NOOP
- 
--config OMAP_PM_NONE
--	bool "No PM layer"
--
- config OMAP_PM_NOOP
- 	bool "No-op/debug PM layer"
- 
-diff --git a/arch/arm/plat-omap/include/plat/omap-pm.h b/arch/arm/plat-omap/include/plat/omap-pm.h
-index c0a7520..0840df8 100644
---- a/arch/arm/plat-omap/include/plat/omap-pm.h
-+++ b/arch/arm/plat-omap/include/plat/omap-pm.h
-@@ -40,11 +40,7 @@
-  * framework starts.  The "_if_" is to avoid name collisions with the
-  * PM idle-loop code.
-  */
--#ifdef CONFIG_OMAP_PM_NONE
--#define omap_pm_if_early_init() 0
--#else
- int __init omap_pm_if_early_init(void);
--#endif
- 
- /**
-  * omap_pm_if_init - OMAP PM init code called after clock fw init
-@@ -52,11 +48,7 @@ int __init omap_pm_if_early_init(void);
-  * The main initialization code.  OPP tables are passed in here.  The
-  * "_if_" is to avoid name collisions with the PM idle-loop code.
-  */
--#ifdef CONFIG_OMAP_PM_NONE
--#define omap_pm_if_init() 0
--#else
- int __init omap_pm_if_init(void);
--#endif
- 
- /**
-  * omap_pm_if_exit - OMAP PM exit code
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0060-OMAP4-clock-data-Remove-McASP2-McASP3-and-MMC6-clock.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0060-OMAP4-clock-data-Remove-McASP2-McASP3-and-MMC6-clock.patch
deleted file mode 100644
index a7e85f8..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0060-OMAP4-clock-data-Remove-McASP2-McASP3-and-MMC6-clock.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From e2c80dceb999bf93d079d0a5a040951aad3d2359 Mon Sep 17 00:00:00 2001
-From: Jon Hunter <jon-hunter at ti.com>
-Date: Sat, 9 Jul 2011 19:14:47 -0600
-Subject: [PATCH 060/149] OMAP4: clock data: Remove McASP2, McASP3 and MMC6 clocks
-
-McASP2, 3 and MMC6 modules are not present in the OMAP4 family.
-Remove the fclk and the clksel related to these nodes.
-Rename the references that were potentially re-used in order nodes.
-
-Remove related macros in prcm header files.
-
-Update TI copyright date.
-
-Signed-off-by: Jon Hunter <jon-hunter at ti.com>
-[b-cousson at ti.com: Update the patch according to autogen output]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-[paul at pwsan.com: split PRCM data changes into a separate patch]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |   86 ++++++++++++---------------------
- 1 files changed, 31 insertions(+), 55 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 8307c9e..96bc668 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -1170,19 +1170,6 @@ static struct clk func_96m_fclk = {
- 	.set_rate	= &omap2_clksel_set_rate,
- };
- 
--static const struct clksel hsmmc6_fclk_sel[] = {
--	{ .parent = &func_64m_fclk, .rates = div_1_0_rates },
--	{ .parent = &func_96m_fclk, .rates = div_1_1_rates },
--	{ .parent = NULL },
--};
--
--static struct clk hsmmc6_fclk = {
--	.name		= "hsmmc6_fclk",
--	.parent		= &func_64m_fclk,
--	.ops		= &clkops_null,
--	.recalc		= &followparent_recalc,
--};
--
- static const struct clksel_rate div2_1to8_rates[] = {
- 	{ .div = 1, .val = 0, .flags = RATE_IN_4430 },
- 	{ .div = 8, .val = 1, .flags = RATE_IN_4430 },
-@@ -1265,6 +1252,21 @@ static struct clk l4_wkup_clk_mux_ck = {
- 	.recalc		= &omap2_clksel_recalc,
- };
- 
-+static struct clk ocp_abe_iclk = {
-+	.name		= "ocp_abe_iclk",
-+	.parent		= &aess_fclk,
-+	.ops		= &clkops_null,
-+	.recalc		= &followparent_recalc,
-+};
-+
-+static struct clk per_abe_24m_fclk = {
-+	.name		= "per_abe_24m_fclk",
-+	.parent		= &dpll_abe_m2_ck,
-+	.ops		= &clkops_null,
-+	.fixed_div	= 4,
-+	.recalc		= &omap_fixed_divisor_recalc,
-+};
-+
- static const struct clksel per_abe_nc_fclk_div[] = {
- 	{ .parent = &dpll_abe_m2_ck, .rates = div2_1to2_rates },
- 	{ .parent = NULL },
-@@ -1282,41 +1284,6 @@ static struct clk per_abe_nc_fclk = {
- 	.set_rate	= &omap2_clksel_set_rate,
- };
- 
--static const struct clksel mcasp2_fclk_sel[] = {
--	{ .parent = &func_96m_fclk, .rates = div_1_0_rates },
--	{ .parent = &per_abe_nc_fclk, .rates = div_1_1_rates },
--	{ .parent = NULL },
--};
--
--static struct clk mcasp2_fclk = {
--	.name		= "mcasp2_fclk",
--	.parent		= &func_96m_fclk,
--	.ops		= &clkops_null,
--	.recalc		= &followparent_recalc,
--};
--
--static struct clk mcasp3_fclk = {
--	.name		= "mcasp3_fclk",
--	.parent		= &func_96m_fclk,
--	.ops		= &clkops_null,
--	.recalc		= &followparent_recalc,
--};
--
--static struct clk ocp_abe_iclk = {
--	.name		= "ocp_abe_iclk",
--	.parent		= &aess_fclk,
--	.ops		= &clkops_null,
--	.recalc		= &followparent_recalc,
--};
--
--static struct clk per_abe_24m_fclk = {
--	.name		= "per_abe_24m_fclk",
--	.parent		= &dpll_abe_m2_ck,
--	.ops		= &clkops_null,
--	.fixed_div	= 4,
--	.recalc		= &omap_fixed_divisor_recalc,
--};
--
- static const struct clksel pmd_stm_clock_mux_sel[] = {
- 	{ .parent = &sys_clkin_ck, .rates = div_1_0_rates },
- 	{ .parent = &dpll_core_m6x2_ck, .rates = div_1_1_rates },
-@@ -1996,10 +1963,16 @@ static struct clk mcbsp3_fck = {
- 	.clkdm_name	= "abe_clkdm",
- };
- 
-+static const struct clksel mcbsp4_sync_mux_sel[] = {
-+	{ .parent = &func_96m_fclk, .rates = div_1_0_rates },
-+	{ .parent = &per_abe_nc_fclk, .rates = div_1_1_rates },
-+	{ .parent = NULL },
-+};
-+
- static struct clk mcbsp4_sync_mux_ck = {
- 	.name		= "mcbsp4_sync_mux_ck",
- 	.parent		= &func_96m_fclk,
--	.clksel		= mcasp2_fclk_sel,
-+	.clksel		= mcbsp4_sync_mux_sel,
- 	.init		= &omap2_init_clksel_parent,
- 	.clksel_reg	= OMAP4430_CM_L4PER_MCBSP4_CLKCTRL,
- 	.clksel_mask	= OMAP4430_CLKSEL_INTERNAL_SOURCE_MASK,
-@@ -2078,11 +2051,17 @@ static struct clk mcspi4_fck = {
- 	.recalc		= &followparent_recalc,
- };
- 
-+static const struct clksel hsmmc1_fclk_sel[] = {
-+	{ .parent = &func_64m_fclk, .rates = div_1_0_rates },
-+	{ .parent = &func_96m_fclk, .rates = div_1_1_rates },
-+	{ .parent = NULL },
-+};
-+
- /* Merged hsmmc1_fclk into mmc1 */
- static struct clk mmc1_fck = {
- 	.name		= "mmc1_fck",
- 	.parent		= &func_64m_fclk,
--	.clksel		= hsmmc6_fclk_sel,
-+	.clksel		= hsmmc1_fclk_sel,
- 	.init		= &omap2_init_clksel_parent,
- 	.clksel_reg	= OMAP4430_CM_L3INIT_MMC1_CLKCTRL,
- 	.clksel_mask	= OMAP4430_CLKSEL_MASK,
-@@ -2097,7 +2076,7 @@ static struct clk mmc1_fck = {
- static struct clk mmc2_fck = {
- 	.name		= "mmc2_fck",
- 	.parent		= &func_64m_fclk,
--	.clksel		= hsmmc6_fclk_sel,
-+	.clksel		= hsmmc1_fclk_sel,
- 	.init		= &omap2_init_clksel_parent,
- 	.clksel_reg	= OMAP4430_CM_L3INIT_MMC2_CLKCTRL,
- 	.clksel_mask	= OMAP4430_CLKSEL_MASK,
-@@ -3094,17 +3073,14 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"func_48mc_fclk",		&func_48mc_fclk,	CK_443X),
- 	CLK(NULL,	"func_64m_fclk",		&func_64m_fclk,	CK_443X),
- 	CLK(NULL,	"func_96m_fclk",		&func_96m_fclk,	CK_443X),
--	CLK(NULL,	"hsmmc6_fclk",			&hsmmc6_fclk,	CK_443X),
- 	CLK(NULL,	"init_60m_fclk",		&init_60m_fclk,	CK_443X),
- 	CLK(NULL,	"l3_div_ck",			&l3_div_ck,	CK_443X),
- 	CLK(NULL,	"l4_div_ck",			&l4_div_ck,	CK_443X),
- 	CLK(NULL,	"lp_clk_div_ck",		&lp_clk_div_ck,	CK_443X),
- 	CLK(NULL,	"l4_wkup_clk_mux_ck",		&l4_wkup_clk_mux_ck,	CK_443X),
--	CLK(NULL,	"per_abe_nc_fclk",		&per_abe_nc_fclk,	CK_443X),
--	CLK(NULL,	"mcasp2_fclk",			&mcasp2_fclk,	CK_443X),
--	CLK(NULL,	"mcasp3_fclk",			&mcasp3_fclk,	CK_443X),
- 	CLK(NULL,	"ocp_abe_iclk",			&ocp_abe_iclk,	CK_443X),
- 	CLK(NULL,	"per_abe_24m_fclk",		&per_abe_24m_fclk,	CK_443X),
-+	CLK(NULL,	"per_abe_nc_fclk",		&per_abe_nc_fclk,	CK_443X),
- 	CLK(NULL,	"pmd_stm_clock_mux_ck",		&pmd_stm_clock_mux_ck,	CK_443X),
- 	CLK(NULL,	"pmd_trace_clk_mux_ck",		&pmd_trace_clk_mux_ck,	CK_443X),
- 	CLK(NULL,	"syc_clk_div_ck",		&syc_clk_div_ck,	CK_443X),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0061-OMAP4-clock-data-Remove-UNIPRO-clock-nodes.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0061-OMAP4-clock-data-Remove-UNIPRO-clock-nodes.patch
deleted file mode 100644
index fb4d44f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0061-OMAP4-clock-data-Remove-UNIPRO-clock-nodes.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 73203093397f6939cea566cbedc2affc51d4b597 Mon Sep 17 00:00:00 2001
-From: Jon Hunter <jon-hunter at ti.com>
-Date: Sat, 9 Jul 2011 19:14:47 -0600
-Subject: [PATCH 061/149] OMAP4: clock data: Remove UNIPRO clock nodes
-
-UNIPRO was removed from OMAP4 devices from ES2.0 onwards.
-Since this IP was anyway non-functional and not supported,
-it is best to remove it completely.
-
-Signed-off-by: Jon Hunter <jon-hunter at ti.com>
-[b-cousson at ti.com: Update the changelog]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-[paul at pwsan.com: split PRCM header file changes into a separate patch]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |   60 ----------------------------------
- 1 files changed, 0 insertions(+), 60 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 96bc668..044df38 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -935,63 +935,6 @@ static struct clk dpll_per_m7x2_ck = {
- 	.set_rate	= &omap2_clksel_set_rate,
- };
- 
--/* DPLL_UNIPRO */
--static struct dpll_data dpll_unipro_dd = {
--	.mult_div1_reg	= OMAP4430_CM_CLKSEL_DPLL_UNIPRO,
--	.clk_bypass	= &sys_clkin_ck,
--	.clk_ref	= &sys_clkin_ck,
--	.control_reg	= OMAP4430_CM_CLKMODE_DPLL_UNIPRO,
--	.modes		= (1 << DPLL_LOW_POWER_BYPASS) | (1 << DPLL_LOCKED),
--	.autoidle_reg	= OMAP4430_CM_AUTOIDLE_DPLL_UNIPRO,
--	.idlest_reg	= OMAP4430_CM_IDLEST_DPLL_UNIPRO,
--	.mult_mask	= OMAP4430_DPLL_MULT_MASK,
--	.div1_mask	= OMAP4430_DPLL_DIV_MASK,
--	.enable_mask	= OMAP4430_DPLL_EN_MASK,
--	.autoidle_mask	= OMAP4430_AUTO_DPLL_MODE_MASK,
--	.idlest_mask	= OMAP4430_ST_DPLL_CLK_MASK,
--	.max_multiplier	= 2047,
--	.max_divider	= 128,
--	.min_divider	= 1,
--};
--
--
--static struct clk dpll_unipro_ck = {
--	.name		= "dpll_unipro_ck",
--	.parent		= &sys_clkin_ck,
--	.dpll_data	= &dpll_unipro_dd,
--	.init		= &omap2_init_dpll_parent,
--	.ops		= &clkops_omap3_noncore_dpll_ops,
--	.recalc		= &omap3_dpll_recalc,
--	.round_rate	= &omap2_dpll_round_rate,
--	.set_rate	= &omap3_noncore_dpll_set_rate,
--};
--
--static struct clk dpll_unipro_x2_ck = {
--	.name		= "dpll_unipro_x2_ck",
--	.parent		= &dpll_unipro_ck,
--	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_UNIPRO,
--	.flags		= CLOCK_CLKOUTX2,
--	.ops		= &clkops_omap4_dpllmx_ops,
--	.recalc		= &omap3_clkoutx2_recalc,
--};
--
--static const struct clksel dpll_unipro_m2x2_div[] = {
--	{ .parent = &dpll_unipro_x2_ck, .rates = div31_1to31_rates },
--	{ .parent = NULL },
--};
--
--static struct clk dpll_unipro_m2x2_ck = {
--	.name		= "dpll_unipro_m2x2_ck",
--	.parent		= &dpll_unipro_x2_ck,
--	.clksel		= dpll_unipro_m2x2_div,
--	.clksel_reg	= OMAP4430_CM_DIV_M2_DPLL_UNIPRO,
--	.clksel_mask	= OMAP4430_DPLL_CLKOUT_DIV_MASK,
--	.ops		= &clkops_omap4_dpllmx_ops,
--	.recalc		= &omap2_clksel_recalc,
--	.round_rate	= &omap2_clksel_round_rate,
--	.set_rate	= &omap2_clksel_set_rate,
--};
--
- static struct clk usb_hs_clk_div_ck = {
- 	.name		= "usb_hs_clk_div_ck",
- 	.parent		= &dpll_abe_m3x2_ck,
-@@ -3058,9 +3001,6 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"dpll_per_m5x2_ck",		&dpll_per_m5x2_ck,	CK_443X),
- 	CLK(NULL,	"dpll_per_m6x2_ck",		&dpll_per_m6x2_ck,	CK_443X),
- 	CLK(NULL,	"dpll_per_m7x2_ck",		&dpll_per_m7x2_ck,	CK_443X),
--	CLK(NULL,	"dpll_unipro_ck",		&dpll_unipro_ck,	CK_443X),
--	CLK(NULL,	"dpll_unipro_x2_ck",		&dpll_unipro_x2_ck,	CK_443X),
--	CLK(NULL,	"dpll_unipro_m2x2_ck",		&dpll_unipro_m2x2_ck,	CK_443X),
- 	CLK(NULL,	"usb_hs_clk_div_ck",		&usb_hs_clk_div_ck,	CK_443X),
- 	CLK(NULL,	"dpll_usb_ck",			&dpll_usb_ck,	CK_443X),
- 	CLK(NULL,	"dpll_usb_clkdcoldo_ck",	&dpll_usb_clkdcoldo_ck,	CK_443X),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0062-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0062-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch
deleted file mode 100644
index 69c3b2a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0062-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 52d08db173e39f2af6923dc803593d62fa05e43b Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen at ti.com>
-Date: Sat, 9 Jul 2011 20:39:44 -0600
-Subject: [PATCH 062/149] OMAP4: hwmod data: Modify DSS opt clocks
-
-Add missing DSS optional clocks to HWMOD data for OMAP4xxx.
-
-Add HWMOD_CONTROL_OPT_CLKS_IN_RESET flag for dispc to fix dispc reset.
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
-[b-cousson at ti.com: Remove a comment and update the subject]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Tomi Valkeinen <tomi.valkeinen at ti.com>
-[paul at pwsan.com: removed DSS "fck" role and some clkdev aliases at Tomi's
- request]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c       |    8 +++---
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   33 ++++++++++++++++++++++++++++
- 2 files changed, 37 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 044df38..7a0b112 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -3032,10 +3032,10 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"dmic_sync_mux_ck",		&dmic_sync_mux_ck,	CK_443X),
- 	CLK(NULL,	"dmic_fck",			&dmic_fck,	CK_443X),
- 	CLK(NULL,	"dsp_fck",			&dsp_fck,	CK_443X),
--	CLK("omapdss_dss",	"sys_clk",			&dss_sys_clk,	CK_443X),
--	CLK("omapdss_dss",	"tv_clk",			&dss_tv_clk,	CK_443X),
--	CLK("omapdss_dss",	"video_clk",			&dss_48mhz_clk,	CK_443X),
--	CLK("omapdss_dss",	"fck",				&dss_dss_clk,	CK_443X),
-+	CLK(NULL,	"dss_sys_clk",			&dss_sys_clk,	CK_443X),
-+	CLK(NULL,	"dss_tv_clk",			&dss_tv_clk,	CK_443X),
-+	CLK(NULL,	"dss_48mhz_clk",		&dss_48mhz_clk,	CK_443X),
-+	CLK(NULL,	"dss_dss_clk",			&dss_dss_clk,	CK_443X),
- 	CLK("omapdss_dss",	"ick",				&dss_fck,	CK_443X),
- 	CLK(NULL,	"efuse_ctrl_cust_fck",		&efuse_ctrl_cust_fck,	CK_443X),
- 	CLK(NULL,	"emif1_fck",			&emif1_fck,	CK_443X),
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index e011437..a7fbe5c 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -1267,9 +1267,16 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dispc_slaves[] = {
- 	&omap44xx_l4_per__dss_dispc,
- };
- 
-+static struct omap_hwmod_opt_clk dss_dispc_opt_clks[] = {
-+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
-+	{ .role = "tv_clk", .clk = "dss_tv_clk" },
-+	{ .role = "hdmi_clk", .clk = "dss_48mhz_clk" },
-+};
-+
- static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap44xx_dispc_hwmod_class,
-+	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
- 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
- 	.main_clk	= "dss_fck",
-@@ -1278,6 +1285,8 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
- 		},
- 	},
-+	.opt_clks	= dss_dispc_opt_clks,
-+	.opt_clks_cnt	= ARRAY_SIZE(dss_dispc_opt_clks),
- 	.slaves		= omap44xx_dss_dispc_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dispc_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -1358,6 +1367,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dsi1_slaves[] = {
- 	&omap44xx_l4_per__dss_dsi1,
- };
- 
-+static struct omap_hwmod_opt_clk dss_dsi1_opt_clks[] = {
-+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
-+};
-+
- static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.name		= "dss_dsi1",
- 	.class		= &omap44xx_dsi_hwmod_class,
-@@ -1369,6 +1382,8 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
- 		},
- 	},
-+	.opt_clks	= dss_dsi1_opt_clks,
-+	.opt_clks_cnt	= ARRAY_SIZE(dss_dsi1_opt_clks),
- 	.slaves		= omap44xx_dss_dsi1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dsi1_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -1428,6 +1443,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_dsi2_slaves[] = {
- 	&omap44xx_l4_per__dss_dsi2,
- };
- 
-+static struct omap_hwmod_opt_clk dss_dsi2_opt_clks[] = {
-+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
-+};
-+
- static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.name		= "dss_dsi2",
- 	.class		= &omap44xx_dsi_hwmod_class,
-@@ -1439,6 +1458,8 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
- 		},
- 	},
-+	.opt_clks	= dss_dsi2_opt_clks,
-+	.opt_clks_cnt	= ARRAY_SIZE(dss_dsi2_opt_clks),
- 	.slaves		= omap44xx_dss_dsi2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_dsi2_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -1518,6 +1539,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_hdmi_slaves[] = {
- 	&omap44xx_l4_per__dss_hdmi,
- };
- 
-+static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = {
-+	{ .role = "sys_clk", .clk = "dss_sys_clk" },
-+};
-+
- static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.name		= "dss_hdmi",
- 	.class		= &omap44xx_hdmi_hwmod_class,
-@@ -1529,6 +1554,8 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
- 		},
- 	},
-+	.opt_clks	= dss_hdmi_opt_clks,
-+	.opt_clks_cnt	= ARRAY_SIZE(dss_hdmi_opt_clks),
- 	.slaves		= omap44xx_dss_hdmi_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_hdmi_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -1603,6 +1630,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_rfbi_slaves[] = {
- 	&omap44xx_l4_per__dss_rfbi,
- };
- 
-+static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
-+	{ .role = "ick", .clk = "dss_fck" },
-+};
-+
- static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
- 	.class		= &omap44xx_rfbi_hwmod_class,
-@@ -1613,6 +1644,8 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
- 		},
- 	},
-+	.opt_clks	= dss_rfbi_opt_clks,
-+	.opt_clks_cnt	= ARRAY_SIZE(dss_rfbi_opt_clks),
- 	.slaves		= omap44xx_dss_rfbi_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dss_rfbi_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0063-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0063-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
deleted file mode 100644
index b8ea798..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0063-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 1588fef412d710916847c3f383489af1559aa4b0 Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Sat, 9 Jul 2011 20:42:11 -0600
-Subject: [PATCH 063/149] OMAP2+: PM: Initialise sleep_switch to a non-valid value
-
-sleep_switch which is initialised to 0 in omap_set_pwrdm_state
-happens to be a valid sleep_switch type (FORCEWAKEUP_SWITCH)
-which are defined as:
-
- #define FORCEWAKEUP_SWITCH      0
- #define LOWPOWERSTATE_SWITCH    1
-
-This causes the function to wrongly program some clock domains
-even when the Powerdomain is in ON state.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Acked-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/pm.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
-index 49486f5..d48813f 100644
---- a/arch/arm/mach-omap2/pm.c
-+++ b/arch/arm/mach-omap2/pm.c
-@@ -106,7 +106,7 @@ static void omap2_init_processor_devices(void)
- int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
- {
- 	u32 cur_state;
--	int sleep_switch = 0;
-+	int sleep_switch = -1;
- 	int ret = 0;
- 
- 	if (pwrdm == NULL || IS_ERR(pwrdm))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0064-OMAP4-powerdomain-data-Fix-core-mem-states-and-missi.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0064-OMAP4-powerdomain-data-Fix-core-mem-states-and-missi.patch
deleted file mode 100644
index 2222a2b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0064-OMAP4-powerdomain-data-Fix-core-mem-states-and-missi.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 2e67179b61fd7b58ecbafd72fe07943620863ae7 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sat, 9 Jul 2011 20:42:11 -0600
-Subject: [PATCH 064/149] OMAP4: powerdomain data: Fix core mem states and missing cefuse flag
-
-Since ES2.0, the core ocmram does not support a different state
-than the main power domain anymore during both ON and RET power
-domain state.
-Since PM is not supported at all in ES1.0, update the common
-structure.
-
-LOWPOWERSTATECHANGE is supported by the cefuse power domain but
-the flag was missing.
-Add the PWRDM_HAS_LOWPOWERSTATECHANGE in flags field.
-
-Update the TI copyright date to 2011.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
-[paul at pwsan.com: moved the indentation changes to a different patch set]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/powerdomains44xx_data.c |    7 ++++---
- 1 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomains44xx_data.c b/arch/arm/mach-omap2/powerdomains44xx_data.c
-index 3a7e678..8f46e7d 100644
---- a/arch/arm/mach-omap2/powerdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains44xx_data.c
-@@ -1,7 +1,7 @@
- /*
-  * OMAP4 Power domains framework
-  *
-- * Copyright (C) 2009-2010 Texas Instruments, Inc.
-+ * Copyright (C) 2009-2011 Texas Instruments, Inc.
-  * Copyright (C) 2009-2011 Nokia Corporation
-  *
-  * Abhijit Pagare (abhijitpagare at ti.com)
-@@ -41,14 +41,14 @@ static struct powerdomain core_44xx_pwrdm = {
- 	.banks		  = 5,
- 	.pwrsts_mem_ret	= {
- 		[0] = PWRSTS_OFF,	/* core_nret_bank */
--		[1] = PWRSTS_OFF_RET,	/* core_ocmram */
-+		[1] = PWRSTS_RET,	/* core_ocmram */
- 		[2] = PWRSTS_RET,	/* core_other_bank */
- 		[3] = PWRSTS_OFF_RET,	/* ducati_l2ram */
- 		[4] = PWRSTS_OFF_RET,	/* ducati_unicache */
- 	},
- 	.pwrsts_mem_on	= {
- 		[0] = PWRSTS_ON,	/* core_nret_bank */
--		[1] = PWRSTS_OFF_RET,	/* core_ocmram */
-+		[1] = PWRSTS_ON,	/* core_ocmram */
- 		[2] = PWRSTS_ON,	/* core_other_bank */
- 		[3] = PWRSTS_ON,	/* ducati_l2ram */
- 		[4] = PWRSTS_ON,	/* ducati_unicache */
-@@ -318,6 +318,7 @@ static struct powerdomain cefuse_44xx_pwrdm = {
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- 	.pwrsts		  = PWRSTS_OFF_ON,
-+	.flags		  = PWRDM_HAS_LOWPOWERSTATECHANGE,
- };
- 
- /*
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0065-OMAP4-clock-data-Keep-GPMC-clocks-always-enabled-and.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0065-OMAP4-clock-data-Keep-GPMC-clocks-always-enabled-and.patch
deleted file mode 100644
index 8eee066..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0065-OMAP4-clock-data-Keep-GPMC-clocks-always-enabled-and.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From f54325009439b13e234374856057227edc00373c Mon Sep 17 00:00:00 2001
-From: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Date: Sat, 9 Jul 2011 20:42:59 -0600
-Subject: [PATCH 065/149] OMAP4: clock data: Keep GPMC clocks always enabled and hardware managed
-
-On OMAP4, CPU accesses on unmapped addresses are redirected to GPMC by
-L3 interconnect. Because of CPU speculative nature, such accesses are
-possible which can lead to indirect access to GPMC and if it's clock is
-not running, it can result in hang/abort on the platform.
-
-Above makes access to GPMC unpredictable during the execution, so it's
-module mode needs to be kept under hardware control instead of software
-control.
-Since the auto gating is supported for GPMC, there isn't any power impact
-because of this change.
-
-The issue was un-covered with security middleware running along with HLOS.
-In this case GPMC had a valid MMU descriptor on secure side where as HLOS
-didn't map the GMPC because it isn't being used.
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-[b-cousson at ti.com: Update subject and fix typos in the changelog]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 7a0b112..2578820 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -1605,6 +1605,7 @@ static struct clk gpmc_ick = {
- 	.ops		= &clkops_omap2_dflt,
- 	.enable_reg	= OMAP4430_CM_L3_2_GPMC_CLKCTRL,
- 	.enable_bit	= OMAP4430_MODULEMODE_HWCTRL,
-+	.flags		= ENABLE_ON_INIT,
- 	.clkdm_name	= "l3_2_clkdm",
- 	.parent		= &l3_div_ck,
- 	.recalc		= &followparent_recalc,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0066-OMAP4-powerdomain-data-Remove-unsupported-MPU-powerd.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0066-OMAP4-powerdomain-data-Remove-unsupported-MPU-powerd.patch
deleted file mode 100644
index 7c7671f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0066-OMAP4-powerdomain-data-Remove-unsupported-MPU-powerd.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ef733ded20f0466c32d61872f19903653f31f977 Mon Sep 17 00:00:00 2001
-From: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Date: Sat, 9 Jul 2011 20:42:59 -0600
-Subject: [PATCH 066/149] OMAP4: powerdomain data: Remove unsupported MPU powerdomain state
-
-On OMAP4430 devices, because of boot ROM code bug, MPU OFF state can't
-be attempted independently. When coming out of MPU OFF state, ROM code
-disables the clocks of IVAHD, TESLA which is not desirable. Hence the
-MPU OFF state is not usable on OMAP4430 devices.
-
-OMAP4460 onwards, MPU OFF state will be descoped completely because
-the DDR firewall falls in MPU power domain. When the MPU hit OFF state,
-DDR won't be accessible for other initiators. The deepest state supported
-is open switch retention (OSWR) just like CORE and PER PD on OMAP4430.
-
-So in summary MPU power domain OFF state is not supported on OMAP4
-and onwards designs. Thanks to new PRCM design, device off mode can
-still be achieved with power domains hitting OSWR state.
-
-Signed-off-by: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-[b-cousson at ti.com: Fix changelog typos]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/powerdomains44xx_data.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomains44xx_data.c b/arch/arm/mach-omap2/powerdomains44xx_data.c
-index 8f46e7d..247e794 100644
---- a/arch/arm/mach-omap2/powerdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains44xx_data.c
-@@ -205,7 +205,7 @@ static struct powerdomain mpu_44xx_pwrdm = {
- 	.prcm_offs	  = OMAP4430_PRM_MPU_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
--	.pwrsts		  = PWRSTS_OFF_RET_ON,
-+	.pwrsts		  = PWRSTS_RET_ON,
- 	.pwrsts_logic_ret = PWRSTS_OFF_RET,
- 	.banks		  = 3,
- 	.pwrsts_mem_ret	= {
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0067-OMAP4-hwmod-data-Change-DSS-main_clk-scheme.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0067-OMAP4-hwmod-data-Change-DSS-main_clk-scheme.patch
deleted file mode 100644
index 50baf2a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0067-OMAP4-hwmod-data-Change-DSS-main_clk-scheme.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 497db49799f6c84f5073c6b78e58094ba0b0d52e Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen at ti.com>
-Date: Sat, 9 Jul 2011 20:39:45 -0600
-Subject: [PATCH 067/149] OMAP4: hwmod data: Change DSS main_clk scheme
-
-Currently using pm_runtime with DSS requires the DSS driver to enable
-the DSS functional clock before calling pm_runtime_get(). That makes it
-impossible to use pm_runtime in DSS as it is meant to be used, with
-pm_runtime callbacks.
-
-This patch changes the hwmod database for OMAP4 so that enabling the
-hwmod via pm_runtime will also enable the DSS functional clock, allowing
-us to use pm_runtime properly in DSS driver.
-
-The DSS HWMOD side is not really correct, not before nor after this
-patch, and getting DSS to retention will probably not work currently.
-However, it is not supported in the mainline kernel anyway, so this
-won't break anything.
-
-So this patch allows us to write the pm_runtime adaptation for the DSS
-driver the way it should be done, and the HWMOD/PM side can be fixed
-later.
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |   28 ++++++++++++++--------------
- 1 files changed, 14 insertions(+), 14 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index a7fbe5c..b25ab83 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -1136,7 +1136,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1175,7 +1175,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_hwmod = {
- 	.name		= "dss_core",
- 	.class		= &omap44xx_dss_hwmod_class,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1238,7 +1238,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dispc_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dispc = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_dispc_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_dispc_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1279,7 +1279,7 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
- 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1338,7 +1338,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi1_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi1 = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_dsi1_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_dsi1_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1376,7 +1376,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi1_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi1_sdma_reqs,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1414,7 +1414,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_dsi2_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_dsi2 = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_dsi2_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_dsi2_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1452,7 +1452,7 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.class		= &omap44xx_dsi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_dsi2_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi2_sdma_reqs,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1510,7 +1510,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_hdmi_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_hdmi = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_hdmi_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_hdmi_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1548,7 +1548,7 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.class		= &omap44xx_hdmi_hwmod_class,
- 	.mpu_irqs	= omap44xx_dss_hdmi_irqs,
- 	.sdma_reqs	= omap44xx_dss_hdmi_sdma_reqs,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1601,7 +1601,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_rfbi_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_rfbi = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_rfbi_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_rfbi_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1638,7 +1638,7 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
- 	.class		= &omap44xx_rfbi_hwmod_class,
- 	.sdma_reqs	= omap44xx_dss_rfbi_sdma_reqs,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-@@ -1675,7 +1675,7 @@ static struct omap_hwmod_addr_space omap44xx_dss_venc_dma_addrs[] = {
- static struct omap_hwmod_ocp_if omap44xx_l3_main_2__dss_venc = {
- 	.master		= &omap44xx_l3_main_2_hwmod,
- 	.slave		= &omap44xx_dss_venc_hwmod,
--	.clk		= "l3_div_ck",
-+	.clk		= "dss_fck",
- 	.addr		= omap44xx_dss_venc_dma_addrs,
- 	.user		= OCP_USER_SDMA,
- };
-@@ -1707,7 +1707,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {
- static struct omap_hwmod omap44xx_dss_venc_hwmod = {
- 	.name		= "dss_venc",
- 	.class		= &omap44xx_venc_hwmod_class,
--	.main_clk	= "dss_fck",
-+	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0068-I2C-OMAP2-Set-hwmod-flags-to-only-allow-16-bit-acces.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0068-I2C-OMAP2-Set-hwmod-flags-to-only-allow-16-bit-acces.patch
deleted file mode 100644
index 6a0dea5..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0068-I2C-OMAP2-Set-hwmod-flags-to-only-allow-16-bit-acces.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 3bc9e748aeea5c152564186ad65ae7f7848420d3 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:14 -0600
-Subject: [PATCH 068/149] I2C: OMAP2+: Set hwmod flags to only allow 16-bit accesses to i2c
-
-Peter Maydell noticed when running under QEMU he was getting
-errors reporting 32-bit access to I2C peripheral unit registers
-that are documented to be 8 or 16-bit only[1][2]
-
-The I2C driver is blameless as it wraps its accesses in a
-function using __raw_writew and __raw_readw, it turned out it
-is the hwmod stuff.
-
-However the hwmod code already has a flag to force a
-perhipheral unit to only be accessed using 16-bit operations.
-
-This patch applies the 16-bit only flag to the 2430,
-OMAP3xxx and OMAP44xx hwmod structs.  2420 was already
-correctly marked up as 16-bit.
-
-The 2430 change will need testing by TI as arranged
-in the comments to the previous patch version.
-
-When the 16-bit flag is or-ed with other flags, it is placed
-first as requested in comments.
-
-[1] OMAP4430 Technical reference manual section 23.1.6.2
-[2] OMAP3530 Techincal reference manual section 18.6
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_2430_data.c |    2 ++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    3 +++
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    8 ++++----
- 3 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 2a52f02..19ddf08 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -1092,6 +1092,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c1_slaves[] = {
- 
- static struct omap_hwmod omap2430_i2c1_hwmod = {
- 	.name		= "i2c1",
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= omap2_i2c1_sdma_reqs,
- 	.main_clk	= "i2chs1_fck",
-@@ -1127,6 +1128,7 @@ static struct omap_hwmod_ocp_if *omap2430_i2c2_slaves[] = {
- 
- static struct omap_hwmod omap2430_i2c2_hwmod = {
- 	.name		= "i2c2",
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= omap2_i2c2_sdma_reqs,
- 	.main_clk	= "i2chs2_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 1a52716..542a11b 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1615,6 +1615,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 	.name		= "i2c1",
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap2_i2c1_mpu_irqs,
- 	.sdma_reqs	= omap2_i2c1_sdma_reqs,
- 	.main_clk	= "i2c1_fck",
-@@ -1646,6 +1647,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 	.name		= "i2c2",
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap2_i2c2_mpu_irqs,
- 	.sdma_reqs	= omap2_i2c2_sdma_reqs,
- 	.main_clk	= "i2c2_fck",
-@@ -1688,6 +1690,7 @@ static struct omap_hwmod_ocp_if *omap3xxx_i2c3_slaves[] = {
- 
- static struct omap_hwmod omap3xxx_i2c3_hwmod = {
- 	.name		= "i2c3",
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= i2c3_mpu_irqs,
- 	.sdma_reqs	= i2c3_sdma_reqs,
- 	.main_clk	= "i2c3_fck",
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index b25ab83..2ebccb8 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -2201,7 +2201,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c1_slaves[] = {
- static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c1_irqs,
- 	.sdma_reqs	= omap44xx_i2c1_sdma_reqs,
- 	.main_clk	= "i2c1_fck",
-@@ -2254,7 +2254,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c2_slaves[] = {
- static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c2_irqs,
- 	.sdma_reqs	= omap44xx_i2c2_sdma_reqs,
- 	.main_clk	= "i2c2_fck",
-@@ -2307,7 +2307,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c3_slaves[] = {
- static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.name		= "i2c3",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c3_irqs,
- 	.sdma_reqs	= omap44xx_i2c3_sdma_reqs,
- 	.main_clk	= "i2c3_fck",
-@@ -2360,7 +2360,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c4_slaves[] = {
- static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.name		= "i2c4",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_i2c4_irqs,
- 	.sdma_reqs	= omap44xx_i2c4_sdma_reqs,
- 	.main_clk	= "i2c4_fck",
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0069-I2C-OMAP2-increase-omap_i2c_dev_attr-flags-from-u8-t.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0069-I2C-OMAP2-increase-omap_i2c_dev_attr-flags-from-u8-t.patch
deleted file mode 100644
index cb36f97..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0069-I2C-OMAP2-increase-omap_i2c_dev_attr-flags-from-u8-t.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From c32768648dfe7f6bbe90ee0b18d1edb60fc141fe Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:14 -0600
-Subject: [PATCH 069/149] I2C: OMAP2+: increase omap_i2c_dev_attr flags from u8 to u32
-
-As part of removing cpu_...() from the OMAP I2C driver, we need to
-convert the CPU tests into functionality flags that are set by
-hwmod class in the same way the IP revision is.
-
-More flags are needed than will fit in the existing u8 flags
-member of omap_i2c_dev_attr.
-
-These flags can refer to options inside the IP block but they are
-most needed for information about cpu implementation specific
-options that are not part of the IP block itself.  For example,
-how the CPU data bus is wired to the IP block databus differs
-between OMAP cpus and affects how you must shift the address in
-the IP block, but is not a feature of the IP block itself.
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/plat-omap/include/plat/i2c.h |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h
-index 878d632..4c108f5 100644
---- a/arch/arm/plat-omap/include/plat/i2c.h
-+++ b/arch/arm/plat-omap/include/plat/i2c.h
-@@ -46,7 +46,7 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
-  */
- struct omap_i2c_dev_attr {
- 	u8	fifo_depth;
--	u8	flags;
-+	u32	flags;
- };
- 
- void __init omap1_i2c_mux_pins(int bus_id);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0070-I2C-OMAP2-Introduce-I2C-IP-versioning-constants.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0070-I2C-OMAP2-Introduce-I2C-IP-versioning-constants.patch
deleted file mode 100644
index 9c4b51c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0070-I2C-OMAP2-Introduce-I2C-IP-versioning-constants.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 109f56f616221cb632ce98b5da05420f2099eff1 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:14 -0600
-Subject: [PATCH 070/149] I2C: OMAP2+: Introduce I2C IP versioning constants
-
-These represent the two kinds of (incompatible) OMAP I2C
-peripheral unit in use so far.
-
-The constants are in linux/i2c-omap.h so the omap i2c driver can have
-them too.
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/plat-omap/include/plat/i2c.h |    1 +
- include/linux/i2c-omap.h              |   12 ++++++++++++
- 2 files changed, 13 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h
-index 4c108f5..fd75dad 100644
---- a/arch/arm/plat-omap/include/plat/i2c.h
-+++ b/arch/arm/plat-omap/include/plat/i2c.h
-@@ -22,6 +22,7 @@
- #define __ASM__ARCH_OMAP_I2C_H
- 
- #include <linux/i2c.h>
-+#include <linux/i2c-omap.h>
- 
- #if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
- extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
-diff --git a/include/linux/i2c-omap.h b/include/linux/i2c-omap.h
-index 7472449..701886d 100644
---- a/include/linux/i2c-omap.h
-+++ b/include/linux/i2c-omap.h
-@@ -3,6 +3,18 @@
- 
- #include <linux/platform_device.h>
- 
-+/*
-+ * Version 2 of the I2C peripheral unit has a different register
-+ * layout and extra registers.  The ID register in the V2 peripheral
-+ * unit on the OMAP4430 reports the same ID as the V1 peripheral
-+ * unit on the OMAP3530, so we must inform the driver which IP
-+ * version we know it is running on from platform / cpu-specific
-+ * code using these constants in the hwmod class definition.
-+ */
-+
-+#define OMAP_I2C_IP_VERSION_1 1
-+#define OMAP_I2C_IP_VERSION_2 2
-+
- struct omap_i2c_bus_platform_data {
- 	u32		clkrate;
- 	void		(*set_mpu_wkup_lat)(struct device *dev, long set);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0071-I2C-OMAP1-OMAP2-create-omap-I2C-functionality-flags-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0071-I2C-OMAP1-OMAP2-create-omap-I2C-functionality-flags-.patch
deleted file mode 100644
index c211654..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0071-I2C-OMAP1-OMAP2-create-omap-I2C-functionality-flags-.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 46e0d0dce7d030781e2c67cce0438384ee8dd707 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:15 -0600
-Subject: [PATCH 071/149] I2C: OMAP1/OMAP2+: create omap I2C functionality flags for each cpu_... test
-
-These represent the 8 kinds of implementation functionality
-that up until now were inferred by the 16 remaining cpu_...()
-tests in the omap i2c driver.
-
-Changed to use BIT() as suggested by Balaji T Krishnamoorthy.
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- include/linux/i2c-omap.h |   15 +++++++++++++++
- 1 files changed, 15 insertions(+), 0 deletions(-)
-
-diff --git a/include/linux/i2c-omap.h b/include/linux/i2c-omap.h
-index 701886d..0aa0cbd 100644
---- a/include/linux/i2c-omap.h
-+++ b/include/linux/i2c-omap.h
-@@ -15,6 +15,21 @@
- #define OMAP_I2C_IP_VERSION_1 1
- #define OMAP_I2C_IP_VERSION_2 2
- 
-+/* struct omap_i2c_bus_platform_data .flags meanings */
-+
-+#define OMAP_I2C_FLAG_NO_FIFO			BIT(0)
-+#define OMAP_I2C_FLAG_SIMPLE_CLOCK		BIT(1)
-+#define OMAP_I2C_FLAG_16BIT_DATA_REG		BIT(2)
-+#define OMAP_I2C_FLAG_RESET_REGS_POSTIDLE	BIT(3)
-+#define OMAP_I2C_FLAG_APPLY_ERRATA_I207	BIT(4)
-+#define OMAP_I2C_FLAG_ALWAYS_ARMXOR_CLK	BIT(5)
-+#define OMAP_I2C_FLAG_FORCE_19200_INT_CLK	BIT(6)
-+/* how the CPU address bus must be translated for I2C unit access */
-+#define OMAP_I2C_FLAG_BUS_SHIFT_NONE 0
-+#define OMAP_I2C_FLAG_BUS_SHIFT_1		BIT(7)
-+#define OMAP_I2C_FLAG_BUS_SHIFT_2		BIT(8)
-+#define OMAP_I2C_FLAG_BUS_SHIFT__SHIFT 7
-+
- struct omap_i2c_bus_platform_data {
- 	u32		clkrate;
- 	void		(*set_mpu_wkup_lat)(struct device *dev, long set);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0072-I2C-OMAP2-Tag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0072-I2C-OMAP2-Tag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch
deleted file mode 100644
index 1f19e72..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0072-I2C-OMAP2-Tag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 19d2caadfe6d0faad12b209bc1d096e1297fea68 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:15 -0600
-Subject: [PATCH 072/149] I2C: OMAP2+: Tag all OMAP2+ hwmod defintions with I2C IP revision
-
-Since we cannot trust (or even reliably find) the OMAP I2C
-peripheral unit's own revision register, we must inform the
-OMAP i2c driver of which IP version it is running on.  We
-do this by tagging the omap_hwmod_class for i2c on all the
-OMAP2+ platform / cpu specific hwmod init and passing it up
-to the driver (next patches).
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_2420_data.c |    1 +
- arch/arm/mach-omap2/omap_hwmod_2430_data.c |    1 +
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    1 +
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    1 +
- 4 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index f3901ab..95f547c 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -1029,6 +1029,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
- static struct omap_hwmod_class i2c_class = {
- 	.name		= "i2c",
- 	.sysc		= &i2c_sysc,
-+	.rev		= OMAP_I2C_IP_VERSION_1,
- };
- 
- static struct omap_i2c_dev_attr i2c_dev_attr;
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 19ddf08..d7ed51b 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -1078,6 +1078,7 @@ static struct omap_hwmod_class_sysconfig i2c_sysc = {
- static struct omap_hwmod_class i2c_class = {
- 	.name		= "i2c",
- 	.sysc		= &i2c_sysc,
-+	.rev		= OMAP_I2C_IP_VERSION_1,
- };
- 
- static struct omap_i2c_dev_attr i2c_dev_attr = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 542a11b..58ec1e2 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1308,6 +1308,7 @@ static struct omap_hwmod omap3xxx_uart4_hwmod = {
- static struct omap_hwmod_class i2c_class = {
- 	.name = "i2c",
- 	.sysc = &i2c_sysc,
-+	.rev  = OMAP_I2C_IP_VERSION_1,
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_dss_sdma_chs[] = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 2ebccb8..1bed3b8 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -2160,6 +2160,7 @@ static struct omap_hwmod_class_sysconfig omap44xx_i2c_sysc = {
- static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
- 	.name	= "i2c",
- 	.sysc	= &omap44xx_i2c_sysc,
-+	.rev	= OMAP_I2C_IP_VERSION_2,
- };
- 
- /* i2c1 */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0073-I2C-OMAP2-add-correct-functionality-flags-to-all-oma.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0073-I2C-OMAP2-add-correct-functionality-flags-to-all-oma.patch
deleted file mode 100644
index aad082c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0073-I2C-OMAP2-add-correct-functionality-flags-to-all-oma.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 61ee913ca983d9ff9bc3d98564417d9054db3e45 Mon Sep 17 00:00:00 2001
-From: Andy Green <andy at warmcat.com>
-Date: Sun, 10 Jul 2011 05:27:16 -0600
-Subject: [PATCH 073/149] I2C: OMAP2+: add correct functionality flags to all omap2plus i2c dev_attr
-
-This adds the new functionality flags for omap i2c unit to all OMAP2
-hwmod definitions
-
-Cc: patches at linaro.org
-Cc: Ben Dooks <ben-linux at fluff.org>
-Reported-by: Peter Maydell <peter.maydell at linaro.org>
-Signed-off-by: Andy Green <andy.green at linaro.org>
-Signed-off-by: Tony Lindgren <tony at atomide.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_2420_data.c |    7 ++++++-
- arch/arm/mach-omap2/omap_hwmod_2430_data.c |    3 +++
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |    9 +++++++++
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c |    9 +++++++++
- 4 files changed, 27 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 95f547c..7af2514 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -1032,7 +1032,12 @@ static struct omap_hwmod_class i2c_class = {
- 	.rev		= OMAP_I2C_IP_VERSION_1,
- };
- 
--static struct omap_i2c_dev_attr i2c_dev_attr;
-+static struct omap_i2c_dev_attr i2c_dev_attr = {
-+	.flags		= OMAP_I2C_FLAG_NO_FIFO |
-+			  OMAP_I2C_FLAG_SIMPLE_CLOCK |
-+			  OMAP_I2C_FLAG_16BIT_DATA_REG |
-+			  OMAP_I2C_FLAG_BUS_SHIFT_2,
-+};
- 
- /* I2C1 */
- 
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index d7ed51b..405688a 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -1083,6 +1083,9 @@ static struct omap_hwmod_class i2c_class = {
- 
- static struct omap_i2c_dev_attr i2c_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
-+	.flags		= OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
-+			  OMAP_I2C_FLAG_BUS_SHIFT_2 |
-+			  OMAP_I2C_FLAG_FORCE_19200_INT_CLK,
- };
- 
- /* I2C1 */
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 58ec1e2..c704ac8 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1608,6 +1608,9 @@ static struct omap_hwmod omap3xxx_dss_venc_hwmod = {
- 
- static struct omap_i2c_dev_attr i2c1_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
-+	.flags		= OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
-+			  OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
-+			  OMAP_I2C_FLAG_BUS_SHIFT_2,
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_i2c1_slaves[] = {
-@@ -1640,6 +1643,9 @@ static struct omap_hwmod omap3xxx_i2c1_hwmod = {
- 
- static struct omap_i2c_dev_attr i2c2_dev_attr = {
- 	.fifo_depth	= 8, /* bytes */
-+	.flags = OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
-+		 OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
-+		 OMAP_I2C_FLAG_BUS_SHIFT_2,
- };
- 
- static struct omap_hwmod_ocp_if *omap3xxx_i2c2_slaves[] = {
-@@ -1672,6 +1678,9 @@ static struct omap_hwmod omap3xxx_i2c2_hwmod = {
- 
- static struct omap_i2c_dev_attr i2c3_dev_attr = {
- 	.fifo_depth	= 64, /* bytes */
-+	.flags = OMAP_I2C_FLAG_APPLY_ERRATA_I207 |
-+		 OMAP_I2C_FLAG_RESET_REGS_POSTIDLE |
-+		 OMAP_I2C_FLAG_BUS_SHIFT_2,
- };
- 
- static struct omap_hwmod_irq_info i2c3_mpu_irqs[] = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 1bed3b8..55331df 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -27,6 +27,7 @@
- #include <plat/mcspi.h>
- #include <plat/mcbsp.h>
- #include <plat/mmc.h>
-+#include <plat/i2c.h>
- 
- #include "omap_hwmod_common_data.h"
- 
-@@ -2163,6 +2164,10 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
- 	.rev	= OMAP_I2C_IP_VERSION_2,
- };
- 
-+static struct omap_i2c_dev_attr i2c_dev_attr = {
-+	.flags	= OMAP_I2C_FLAG_BUS_SHIFT_NONE,
-+};
-+
- /* i2c1 */
- static struct omap_hwmod omap44xx_i2c1_hwmod;
- static struct omap_hwmod_irq_info omap44xx_i2c1_irqs[] = {
-@@ -2213,6 +2218,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	},
- 	.slaves		= omap44xx_i2c1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c1_slaves),
-+	.dev_attr	= &i2c_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -2266,6 +2272,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	},
- 	.slaves		= omap44xx_i2c2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c2_slaves),
-+	.dev_attr	= &i2c_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -2319,6 +2326,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	},
- 	.slaves		= omap44xx_i2c3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c3_slaves),
-+	.dev_attr	= &i2c_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -2372,6 +2380,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	},
- 	.slaves		= omap44xx_i2c4_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_i2c4_slaves),
-+	.dev_attr	= &i2c_dev_attr,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0074-OMAP-hwmod-fix-the-i2c-reset-timeout-during-bootup.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0074-OMAP-hwmod-fix-the-i2c-reset-timeout-during-bootup.patch
deleted file mode 100644
index 4d16451..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0074-OMAP-hwmod-fix-the-i2c-reset-timeout-during-bootup.patch
+++ /dev/null
@@ -1,286 +0,0 @@
-From 6cc398a1452cef66c2c10eaadb3efe18f4ab8874 Mon Sep 17 00:00:00 2001
-From: Avinash.H.M <avinashhm at ti.com>
-Date: Sun, 10 Jul 2011 05:27:16 -0600
-Subject: [PATCH 074/149] OMAP: hwmod: fix the i2c-reset timeout during bootup
-
-The sequence of _ocp_softreset doesn't work for i2c. The i2c module has a
-special sequence to reset the module. The sequence is
- - Disable the I2C.
- - Write to SOFTRESET bit.
- - Enable the I2C.
- - Poll on the RESETDONE bit.
-The sequence is implemented as a function and the i2c_class is updated with
-the correct 'reset' pointer.  omap_hwmod_softreset function is implemented
-which triggers the softreset by writing into sysconfig register. On following
-this sequence, i2c module resets properly and timeouts are not seen.
-
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Benoit Cousson <b-cousson at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Avinash.H.M <avinashhm at ti.com>
-[paul at pwsan.com: combined this patch with a patch to remove
- HWMOD_INIT_NO_RESET from the 44xx hwmod flags; change register
- offset conditional code to use the IP block revision; minor code
- cleanup]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/i2c.c                    |   68 ++++++++++++++++++++++++++
- arch/arm/mach-omap2/omap_hwmod.c             |   27 ++++++++++
- arch/arm/mach-omap2/omap_hwmod_2420_data.c   |    1 +
- arch/arm/mach-omap2/omap_hwmod_2430_data.c   |    1 +
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c   |    7 ++-
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   10 ++--
- arch/arm/plat-omap/include/plat/i2c.h        |    3 +
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 +
- 8 files changed, 111 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c
-index 79c478c..ace9994 100644
---- a/arch/arm/mach-omap2/i2c.c
-+++ b/arch/arm/mach-omap2/i2c.c
-@@ -21,9 +21,19 @@
- 
- #include <plat/cpu.h>
- #include <plat/i2c.h>
-+#include <plat/common.h>
-+#include <plat/omap_hwmod.h>
- 
- #include "mux.h"
- 
-+/* In register I2C_CON, Bit 15 is the I2C enable bit */
-+#define I2C_EN					BIT(15)
-+#define OMAP2_I2C_CON_OFFSET			0x24
-+#define OMAP4_I2C_CON_OFFSET			0xA4
-+
-+/* Maximum microseconds to wait for OMAP module to softreset */
-+#define MAX_MODULE_SOFTRESET_WAIT	10000
-+
- void __init omap2_i2c_mux_pins(int bus_id)
- {
- 	char mux_name[sizeof("i2c2_scl.i2c2_scl")];
-@@ -37,3 +47,61 @@ void __init omap2_i2c_mux_pins(int bus_id)
- 	sprintf(mux_name, "i2c%i_sda.i2c%i_sda", bus_id, bus_id);
- 	omap_mux_init_signal(mux_name, OMAP_PIN_INPUT);
- }
-+
-+/**
-+ * omap_i2c_reset - reset the omap i2c module.
-+ * @oh: struct omap_hwmod *
-+ *
-+ * The i2c moudle in omap2, omap3 had a special sequence to reset. The
-+ * sequence is:
-+ * - Disable the I2C.
-+ * - Write to SOFTRESET bit.
-+ * - Enable the I2C.
-+ * - Poll on the RESETDONE bit.
-+ * The sequence is implemented in below function. This is called for 2420,
-+ * 2430 and omap3.
-+ */
-+int omap_i2c_reset(struct omap_hwmod *oh)
-+{
-+	u32 v;
-+	u16 i2c_con;
-+	int c = 0;
-+
-+	if (oh->class->rev == OMAP_I2C_IP_VERSION_2) {
-+		i2c_con = OMAP4_I2C_CON_OFFSET;
-+	} else if (oh->class->rev == OMAP_I2C_IP_VERSION_1) {
-+		i2c_con = OMAP2_I2C_CON_OFFSET;
-+	} else {
-+		WARN(1, "Cannot reset I2C block %s: unsupported revision\n",
-+		     oh->name);
-+		return -EINVAL;
-+	}
-+
-+	/* Disable I2C */
-+	v = omap_hwmod_read(oh, i2c_con);
-+	v &= ~I2C_EN;
-+	omap_hwmod_write(v, oh, i2c_con);
-+
-+	/* Write to the SOFTRESET bit */
-+	omap_hwmod_softreset(oh);
-+
-+	/* Enable I2C */
-+	v = omap_hwmod_read(oh, i2c_con);
-+	v |= I2C_EN;
-+	omap_hwmod_write(v, oh, i2c_con);
-+
-+	/* Poll on RESETDONE bit */
-+	omap_test_timeout((omap_hwmod_read(oh,
-+				oh->class->sysc->syss_offs)
-+				& SYSS_RESETDONE_MASK),
-+				MAX_MODULE_SOFTRESET_WAIT, c);
-+
-+	if (c == MAX_MODULE_SOFTRESET_WAIT)
-+		pr_warning("%s: %s: softreset failed (waited %d usec)\n",
-+			__func__, oh->name, MAX_MODULE_SOFTRESET_WAIT);
-+	else
-+		pr_debug("%s: %s: softreset in %d usec\n", __func__,
-+			oh->name, c);
-+
-+	return 0;
-+}
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 7d242c9..02b6016 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1656,6 +1656,33 @@ void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs)
- }
- 
- /**
-+ * omap_hwmod_softreset - reset a module via SYSCONFIG.SOFTRESET bit
-+ * @oh: struct omap_hwmod *
-+ *
-+ * This is a public function exposed to drivers. Some drivers may need to do
-+ * some settings before and after resetting the device.  Those drivers after
-+ * doing the necessary settings could use this function to start a reset by
-+ * setting the SYSCONFIG.SOFTRESET bit.
-+ */
-+int omap_hwmod_softreset(struct omap_hwmod *oh)
-+{
-+	u32 v;
-+	int ret;
-+
-+	if (!oh || !(oh->_sysc_cache))
-+		return -EINVAL;
-+
-+	v = oh->_sysc_cache;
-+	ret = _set_softreset(oh, &v);
-+	if (ret)
-+		goto error;
-+	_write_sysconfig(v, oh);
-+
-+error:
-+	return ret;
-+}
-+
-+/**
-  * omap_hwmod_set_slave_idlemode - set the hwmod's OCP slave idlemode
-  * @oh: struct omap_hwmod *
-  * @idlemode: SIDLEMODE field bits (shifted to bit 0)
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-index 7af2514..a015c69 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
-@@ -1030,6 +1030,7 @@ static struct omap_hwmod_class i2c_class = {
- 	.name		= "i2c",
- 	.sysc		= &i2c_sysc,
- 	.rev		= OMAP_I2C_IP_VERSION_1,
-+	.reset		= &omap_i2c_reset,
- };
- 
- static struct omap_i2c_dev_attr i2c_dev_attr = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-index 405688a..16743c7 100644
---- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
-@@ -1079,6 +1079,7 @@ static struct omap_hwmod_class i2c_class = {
- 	.name		= "i2c",
- 	.sysc		= &i2c_sysc,
- 	.rev		= OMAP_I2C_IP_VERSION_1,
-+	.reset		= &omap_i2c_reset,
- };
- 
- static struct omap_i2c_dev_attr i2c_dev_attr = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index c704ac8..25bf43b 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -1306,9 +1306,10 @@ static struct omap_hwmod omap3xxx_uart4_hwmod = {
- };
- 
- static struct omap_hwmod_class i2c_class = {
--	.name = "i2c",
--	.sysc = &i2c_sysc,
--	.rev  = OMAP_I2C_IP_VERSION_1,
-+	.name	= "i2c",
-+	.sysc	= &i2c_sysc,
-+	.rev	= OMAP_I2C_IP_VERSION_1,
-+	.reset	= &omap_i2c_reset,
- };
- 
- static struct omap_hwmod_dma_info omap3xxx_dss_sdma_chs[] = {
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 55331df..5d5df49 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -22,6 +22,7 @@
- 
- #include <plat/omap_hwmod.h>
- #include <plat/cpu.h>
-+#include <plat/i2c.h>
- #include <plat/gpio.h>
- #include <plat/dma.h>
- #include <plat/mcspi.h>
-@@ -2162,6 +2163,7 @@ static struct omap_hwmod_class omap44xx_i2c_hwmod_class = {
- 	.name	= "i2c",
- 	.sysc	= &omap44xx_i2c_sysc,
- 	.rev	= OMAP_I2C_IP_VERSION_2,
-+	.reset	= &omap_i2c_reset,
- };
- 
- static struct omap_i2c_dev_attr i2c_dev_attr = {
-@@ -2207,7 +2209,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c1_slaves[] = {
- static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c1_irqs,
- 	.sdma_reqs	= omap44xx_i2c1_sdma_reqs,
- 	.main_clk	= "i2c1_fck",
-@@ -2261,7 +2263,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c2_slaves[] = {
- static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c2_irqs,
- 	.sdma_reqs	= omap44xx_i2c2_sdma_reqs,
- 	.main_clk	= "i2c2_fck",
-@@ -2315,7 +2317,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c3_slaves[] = {
- static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.name		= "i2c3",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c3_irqs,
- 	.sdma_reqs	= omap44xx_i2c3_sdma_reqs,
- 	.main_clk	= "i2c3_fck",
-@@ -2369,7 +2371,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c4_slaves[] = {
- static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.name		= "i2c4",
- 	.class		= &omap44xx_i2c_hwmod_class,
--	.flags		= HWMOD_16BIT_REG | HWMOD_INIT_NO_RESET,
-+	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c4_irqs,
- 	.sdma_reqs	= omap44xx_i2c4_sdma_reqs,
- 	.main_clk	= "i2c4_fck",
-diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/plat-omap/include/plat/i2c.h
-index fd75dad..7c22b9e 100644
---- a/arch/arm/plat-omap/include/plat/i2c.h
-+++ b/arch/arm/plat-omap/include/plat/i2c.h
-@@ -53,4 +53,7 @@ struct omap_i2c_dev_attr {
- void __init omap1_i2c_mux_pins(int bus_id);
- void __init omap2_i2c_mux_pins(int bus_id);
- 
-+struct omap_hwmod;
-+int omap_i2c_reset(struct omap_hwmod *oh);
-+
- #endif /* __ASM__ARCH_OMAP_I2C_H */
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index ce06ac6..fafdfe3 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -566,6 +566,7 @@ void omap_hwmod_ocp_barrier(struct omap_hwmod *oh);
- 
- void omap_hwmod_write(u32 v, struct omap_hwmod *oh, u16 reg_offs);
- u32 omap_hwmod_read(struct omap_hwmod *oh, u16 reg_offs);
-+int omap_hwmod_softreset(struct omap_hwmod *oh);
- 
- int omap_hwmod_count_resources(struct omap_hwmod *oh);
- int omap_hwmod_fill_resources(struct omap_hwmod *oh, struct resource *res);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0075-OMAP-omap_device-Create-clkdev-entry-for-hwmod-main_.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0075-OMAP-omap_device-Create-clkdev-entry-for-hwmod-main_.patch
deleted file mode 100644
index 43a50a0..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0075-OMAP-omap_device-Create-clkdev-entry-for-hwmod-main_.patch
+++ /dev/null
@@ -1,437 +0,0 @@
-From e56d203975458c6e21c5e63711e2c34b36dc9678 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:54:12 -0600
-Subject: [PATCH 075/149] OMAP: omap_device: Create clkdev entry for hwmod main_clk
-
-Extend the existing function to create clkdev for every optional
-clocks to add a well one "fck" alias for the main_clk of the
-omap_hwmod.
-It will allow to remove these static clkdev entries from the
-clockXXX_data.c file.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Cc: Todd Poynor <toddpoynor at google.com>
-[paul at pwsan.com: remove all of the "fck" role clkdev aliases from the
- clock data files; fixed error message]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock2420_data.c |   22 ++++----
- arch/arm/mach-omap2/clock2430_data.c |   32 ++++++------
- arch/arm/mach-omap2/clock3xxx_data.c |   44 +++++++++---------
- arch/arm/mach-omap2/clock44xx_data.c |   38 ++++++++--------
- arch/arm/plat-omap/omap_device.c     |   85 ++++++++++++++++++++--------------
- 5 files changed, 118 insertions(+), 103 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c
-index 2926d02..debc040 100644
---- a/arch/arm/mach-omap2/clock2420_data.c
-+++ b/arch/arm/mach-omap2/clock2420_data.c
-@@ -1805,9 +1805,9 @@ static struct omap_clk omap2420_clks[] = {
- 	CLK(NULL,	"gfx_ick",	&gfx_ick,	CK_242X),
- 	/* DSS domain clocks */
- 	CLK("omapdss_dss",	"ick",		&dss_ick,	CK_242X),
--	CLK("omapdss_dss",	"fck",		&dss1_fck,	CK_242X),
--	CLK("omapdss_dss",	"sys_clk",	&dss2_fck,	CK_242X),
--	CLK("omapdss_dss",	"tv_clk",	&dss_54m_fck,	CK_242X),
-+	CLK(NULL,	"dss1_fck",		&dss1_fck,	CK_242X),
-+	CLK(NULL,	"dss2_fck",	&dss2_fck,	CK_242X),
-+	CLK(NULL,	"dss_54m_fck",	&dss_54m_fck,	CK_242X),
- 	/* L3 domain clocks */
- 	CLK(NULL,	"core_l3_ck",	&core_l3_ck,	CK_242X),
- 	CLK(NULL,	"ssi_fck",	&ssi_ssr_sst_fck, CK_242X),
-@@ -1844,13 +1844,13 @@ static struct omap_clk omap2420_clks[] = {
- 	CLK(NULL,	"gpt12_ick",	&gpt12_ick,	CK_242X),
- 	CLK(NULL,	"gpt12_fck",	&gpt12_fck,	CK_242X),
- 	CLK("omap-mcbsp.1", "ick",	&mcbsp1_ick,	CK_242X),
--	CLK("omap-mcbsp.1", "fck",	&mcbsp1_fck,	CK_242X),
-+	CLK(NULL,	"mcbsp1_fck",	&mcbsp1_fck,	CK_242X),
- 	CLK("omap-mcbsp.2", "ick",	&mcbsp2_ick,	CK_242X),
--	CLK("omap-mcbsp.2", "fck",	&mcbsp2_fck,	CK_242X),
-+	CLK(NULL,	"mcbsp2_fck",	&mcbsp2_fck,	CK_242X),
- 	CLK("omap2_mcspi.1", "ick",	&mcspi1_ick,	CK_242X),
--	CLK("omap2_mcspi.1", "fck",	&mcspi1_fck,	CK_242X),
-+	CLK(NULL,	"mcspi1_fck",	&mcspi1_fck,	CK_242X),
- 	CLK("omap2_mcspi.2", "ick",	&mcspi2_ick,	CK_242X),
--	CLK("omap2_mcspi.2", "fck",	&mcspi2_fck,	CK_242X),
-+	CLK(NULL,	"mcspi2_fck",	&mcspi2_fck,	CK_242X),
- 	CLK(NULL,	"uart1_ick",	&uart1_ick,	CK_242X),
- 	CLK(NULL,	"uart1_fck",	&uart1_fck,	CK_242X),
- 	CLK(NULL,	"uart2_ick",	&uart2_ick,	CK_242X),
-@@ -1860,7 +1860,7 @@ static struct omap_clk omap2420_clks[] = {
- 	CLK(NULL,	"gpios_ick",	&gpios_ick,	CK_242X),
- 	CLK(NULL,	"gpios_fck",	&gpios_fck,	CK_242X),
- 	CLK("omap_wdt",	"ick",		&mpu_wdt_ick,	CK_242X),
--	CLK("omap_wdt",	"fck",		&mpu_wdt_fck,	CK_242X),
-+	CLK(NULL,	"mpu_wdt_fck",	&mpu_wdt_fck,	CK_242X),
- 	CLK(NULL,	"sync_32k_ick",	&sync_32k_ick,	CK_242X),
- 	CLK(NULL,	"wdt1_ick",	&wdt1_ick,	CK_242X),
- 	CLK(NULL,	"omapctrl_ick",	&omapctrl_ick,	CK_242X),
-@@ -1880,11 +1880,11 @@ static struct omap_clk omap2420_clks[] = {
- 	CLK(NULL,	"eac_ick",	&eac_ick,	CK_242X),
- 	CLK(NULL,	"eac_fck",	&eac_fck,	CK_242X),
- 	CLK("omap_hdq.0", "ick",	&hdq_ick,	CK_242X),
--	CLK("omap_hdq.1", "fck",	&hdq_fck,	CK_242X),
-+	CLK("omap_hdq.0", "fck",	&hdq_fck,	CK_242X),
- 	CLK("omap_i2c.1", "ick",	&i2c1_ick,	CK_242X),
--	CLK("omap_i2c.1", "fck",	&i2c1_fck,	CK_242X),
-+	CLK(NULL,	"i2c1_fck",	&i2c1_fck,	CK_242X),
- 	CLK("omap_i2c.2", "ick",	&i2c2_ick,	CK_242X),
--	CLK("omap_i2c.2", "fck",	&i2c2_fck,	CK_242X),
-+	CLK(NULL,	"i2c2_fck",	&i2c2_fck,	CK_242X),
- 	CLK(NULL,	"gpmc_fck",	&gpmc_fck,	CK_242X),
- 	CLK(NULL,	"sdma_fck",	&sdma_fck,	CK_242X),
- 	CLK(NULL,	"sdma_ick",	&sdma_ick,	CK_242X),
-diff --git a/arch/arm/mach-omap2/clock2430_data.c b/arch/arm/mach-omap2/clock2430_data.c
-index 0c79d39..96a942e 100644
---- a/arch/arm/mach-omap2/clock2430_data.c
-+++ b/arch/arm/mach-omap2/clock2430_data.c
-@@ -1895,9 +1895,9 @@ static struct omap_clk omap2430_clks[] = {
- 	CLK(NULL,	"mdm_osc_ck",	&mdm_osc_ck,	CK_243X),
- 	/* DSS domain clocks */
- 	CLK("omapdss_dss",	"ick",		&dss_ick,	CK_243X),
--	CLK("omapdss_dss",	"fck",		&dss1_fck,	CK_243X),
--	CLK("omapdss_dss",	"sys_clk",	&dss2_fck,	CK_243X),
--	CLK("omapdss_dss",	"tv_clk",	&dss_54m_fck,	CK_243X),
-+	CLK(NULL,	"dss1_fck",		&dss1_fck,	CK_243X),
-+	CLK(NULL,	"dss2_fck",	&dss2_fck,	CK_243X),
-+	CLK(NULL,	"dss_54m_fck",	&dss_54m_fck,	CK_243X),
- 	/* L3 domain clocks */
- 	CLK(NULL,	"core_l3_ck",	&core_l3_ck,	CK_243X),
- 	CLK(NULL,	"ssi_fck",	&ssi_ssr_sst_fck, CK_243X),
-@@ -1934,21 +1934,21 @@ static struct omap_clk omap2430_clks[] = {
- 	CLK(NULL,	"gpt12_ick",	&gpt12_ick,	CK_243X),
- 	CLK(NULL,	"gpt12_fck",	&gpt12_fck,	CK_243X),
- 	CLK("omap-mcbsp.1", "ick",	&mcbsp1_ick,	CK_243X),
--	CLK("omap-mcbsp.1", "fck",	&mcbsp1_fck,	CK_243X),
-+	CLK(NULL,	"mcbsp1_fck",	&mcbsp1_fck,	CK_243X),
- 	CLK("omap-mcbsp.2", "ick",	&mcbsp2_ick,	CK_243X),
--	CLK("omap-mcbsp.2", "fck",	&mcbsp2_fck,	CK_243X),
-+	CLK(NULL,	"mcbsp2_fck",	&mcbsp2_fck,	CK_243X),
- 	CLK("omap-mcbsp.3", "ick",	&mcbsp3_ick,	CK_243X),
--	CLK("omap-mcbsp.3", "fck",	&mcbsp3_fck,	CK_243X),
-+	CLK(NULL,	"mcbsp3_fck",	&mcbsp3_fck,	CK_243X),
- 	CLK("omap-mcbsp.4", "ick",	&mcbsp4_ick,	CK_243X),
--	CLK("omap-mcbsp.4", "fck",	&mcbsp4_fck,	CK_243X),
-+	CLK(NULL,	"mcbsp4_fck",	&mcbsp4_fck,	CK_243X),
- 	CLK("omap-mcbsp.5", "ick",	&mcbsp5_ick,	CK_243X),
--	CLK("omap-mcbsp.5", "fck",	&mcbsp5_fck,	CK_243X),
-+	CLK(NULL,	"mcbsp5_fck",	&mcbsp5_fck,	CK_243X),
- 	CLK("omap2_mcspi.1", "ick",	&mcspi1_ick,	CK_243X),
--	CLK("omap2_mcspi.1", "fck",	&mcspi1_fck,	CK_243X),
-+	CLK(NULL,	"mcspi1_fck",	&mcspi1_fck,	CK_243X),
- 	CLK("omap2_mcspi.2", "ick",	&mcspi2_ick,	CK_243X),
--	CLK("omap2_mcspi.2", "fck",	&mcspi2_fck,	CK_243X),
-+	CLK(NULL,	"mcspi2_fck",	&mcspi2_fck,	CK_243X),
- 	CLK("omap2_mcspi.3", "ick",	&mcspi3_ick,	CK_243X),
--	CLK("omap2_mcspi.3", "fck",	&mcspi3_fck,	CK_243X),
-+	CLK(NULL,	"mcspi3_fck",	&mcspi3_fck,	CK_243X),
- 	CLK(NULL,	"uart1_ick",	&uart1_ick,	CK_243X),
- 	CLK(NULL,	"uart1_fck",	&uart1_fck,	CK_243X),
- 	CLK(NULL,	"uart2_ick",	&uart2_ick,	CK_243X),
-@@ -1958,7 +1958,7 @@ static struct omap_clk omap2430_clks[] = {
- 	CLK(NULL,	"gpios_ick",	&gpios_ick,	CK_243X),
- 	CLK(NULL,	"gpios_fck",	&gpios_fck,	CK_243X),
- 	CLK("omap_wdt",	"ick",		&mpu_wdt_ick,	CK_243X),
--	CLK("omap_wdt",	"fck",		&mpu_wdt_fck,	CK_243X),
-+	CLK(NULL,	"mpu_wdt_fck",	&mpu_wdt_fck,	CK_243X),
- 	CLK(NULL,	"sync_32k_ick",	&sync_32k_ick,	CK_243X),
- 	CLK(NULL,	"wdt1_ick",	&wdt1_ick,	CK_243X),
- 	CLK(NULL,	"omapctrl_ick",	&omapctrl_ick,	CK_243X),
-@@ -1975,9 +1975,9 @@ static struct omap_clk omap2430_clks[] = {
- 	CLK("omap_hdq.0", "ick",	&hdq_ick,	CK_243X),
- 	CLK("omap_hdq.1", "fck",	&hdq_fck,	CK_243X),
- 	CLK("omap_i2c.1", "ick",	&i2c1_ick,	CK_243X),
--	CLK("omap_i2c.1", "fck",	&i2chs1_fck,	CK_243X),
-+	CLK(NULL,	"i2chs1_fck",	&i2chs1_fck,	CK_243X),
- 	CLK("omap_i2c.2", "ick",	&i2c2_ick,	CK_243X),
--	CLK("omap_i2c.2", "fck",	&i2chs2_fck,	CK_243X),
-+	CLK(NULL,	"i2chs2_fck",	&i2chs2_fck,	CK_243X),
- 	CLK(NULL,	"gpmc_fck",	&gpmc_fck,	CK_243X),
- 	CLK(NULL,	"sdma_fck",	&sdma_fck,	CK_243X),
- 	CLK(NULL,	"sdma_ick",	&sdma_ick,	CK_243X),
-@@ -1990,9 +1990,9 @@ static struct omap_clk omap2430_clks[] = {
- 	CLK(NULL,	"usb_fck",	&usb_fck,	CK_243X),
- 	CLK("musb-omap2430",	"ick",	&usbhs_ick,	CK_243X),
- 	CLK("omap_hsmmc.0", "ick",	&mmchs1_ick,	CK_243X),
--	CLK("omap_hsmmc.0", "fck",	&mmchs1_fck,	CK_243X),
-+	CLK(NULL,	"mmchs1_fck",	&mmchs1_fck,	CK_243X),
- 	CLK("omap_hsmmc.1", "ick",	&mmchs2_ick,	CK_243X),
--	CLK("omap_hsmmc.1", "fck",	&mmchs2_fck,	CK_243X),
-+	CLK(NULL,	"mmchs2_fck",	&mmchs2_fck,	CK_243X),
- 	CLK(NULL,	"gpio5_ick",	&gpio5_ick,	CK_243X),
- 	CLK(NULL,	"gpio5_fck",	&gpio5_fck,	CK_243X),
- 	CLK(NULL,	"mdm_intc_ick",	&mdm_intc_ick,	CK_243X),
-diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
-index 75b119b..ffd55b1 100644
---- a/arch/arm/mach-omap2/clock3xxx_data.c
-+++ b/arch/arm/mach-omap2/clock3xxx_data.c
-@@ -3289,25 +3289,25 @@ static struct omap_clk omap3xxx_clks[] = {
- 	CLK("omap-mcbsp.1",	"prcm_fck",	&core_96m_fck,	CK_3XXX),
- 	CLK("omap-mcbsp.5",	"prcm_fck",	&core_96m_fck,	CK_3XXX),
- 	CLK(NULL,	"core_96m_fck",	&core_96m_fck,	CK_3XXX),
--	CLK("omap_hsmmc.2",	"fck",	&mmchs3_fck,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
--	CLK("omap_hsmmc.1",	"fck",	&mmchs2_fck,	CK_3XXX),
-+	CLK(NULL,	"mmchs3_fck",	&mmchs3_fck,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
-+	CLK(NULL,	"mmchs2_fck",	&mmchs2_fck,	CK_3XXX),
- 	CLK(NULL,	"mspro_fck",	&mspro_fck,	CK_34XX | CK_36XX),
--	CLK("omap_hsmmc.0",	"fck",	&mmchs1_fck,	CK_3XXX),
--	CLK("omap_i2c.3", "fck",	&i2c3_fck,	CK_3XXX),
--	CLK("omap_i2c.2", "fck",	&i2c2_fck,	CK_3XXX),
--	CLK("omap_i2c.1", "fck",	&i2c1_fck,	CK_3XXX),
--	CLK("omap-mcbsp.5", "fck",	&mcbsp5_fck,	CK_3XXX),
--	CLK("omap-mcbsp.1", "fck",	&mcbsp1_fck,	CK_3XXX),
-+	CLK(NULL,	"mmchs1_fck",	&mmchs1_fck,	CK_3XXX),
-+	CLK(NULL,	"i2c3_fck",	&i2c3_fck,	CK_3XXX),
-+	CLK(NULL,	"i2c2_fck",	&i2c2_fck,	CK_3XXX),
-+	CLK(NULL,	"i2c1_fck",	&i2c1_fck,	CK_3XXX),
-+	CLK(NULL,	"mcbsp5_fck",	&mcbsp5_fck,	CK_3XXX),
-+	CLK(NULL,	"mcbsp1_fck",	&mcbsp1_fck,	CK_3XXX),
- 	CLK(NULL,	"core_48m_fck",	&core_48m_fck,	CK_3XXX),
--	CLK("omap2_mcspi.4", "fck",	&mcspi4_fck,	CK_3XXX),
--	CLK("omap2_mcspi.3", "fck",	&mcspi3_fck,	CK_3XXX),
--	CLK("omap2_mcspi.2", "fck",	&mcspi2_fck,	CK_3XXX),
--	CLK("omap2_mcspi.1", "fck",	&mcspi1_fck,	CK_3XXX),
-+	CLK(NULL,	"mcspi4_fck",	&mcspi4_fck,	CK_3XXX),
-+	CLK(NULL,	"mcspi3_fck",	&mcspi3_fck,	CK_3XXX),
-+	CLK(NULL,	"mcspi2_fck",	&mcspi2_fck,	CK_3XXX),
-+	CLK(NULL,	"mcspi1_fck",	&mcspi1_fck,	CK_3XXX),
- 	CLK(NULL,	"uart2_fck",	&uart2_fck,	CK_3XXX),
- 	CLK(NULL,	"uart1_fck",	&uart1_fck,	CK_3XXX),
- 	CLK(NULL,	"fshostusb_fck", &fshostusb_fck, CK_3430ES1),
- 	CLK(NULL,	"core_12m_fck",	&core_12m_fck,	CK_3XXX),
--	CLK("omap_hdq.0", "fck",	&hdq_fck,	CK_3XXX),
-+	CLK("omap_hdq.0",	"fck",	&hdq_fck,	CK_3XXX),
- 	CLK(NULL,	"ssi_ssr_fck",	&ssi_ssr_fck_3430es1,	CK_3430ES1),
- 	CLK(NULL,	"ssi_ssr_fck",	&ssi_ssr_fck_3430es2,	CK_3430ES2PLUS | CK_36XX),
- 	CLK(NULL,	"ssi_sst_fck",	&ssi_sst_fck_3430es1,	CK_3430ES1),
-@@ -3356,11 +3356,11 @@ static struct omap_clk omap3xxx_clks[] = {
- 	CLK("omap_rng",	"ick",		&rng_ick,	CK_34XX | CK_36XX),
- 	CLK(NULL,	"sha11_ick",	&sha11_ick,	CK_34XX | CK_36XX),
- 	CLK(NULL,	"des1_ick",	&des1_ick,	CK_34XX | CK_36XX),
--	CLK("omapdss_dss",	"fck",		&dss1_alwon_fck_3430es1, CK_3430ES1),
--	CLK("omapdss_dss",	"fck",		&dss1_alwon_fck_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
--	CLK("omapdss_dss",	"tv_clk",	&dss_tv_fck,	CK_3XXX),
--	CLK("omapdss_dss",	"video_clk",	&dss_96m_fck,	CK_3XXX),
--	CLK("omapdss_dss",	"sys_clk",	&dss2_alwon_fck, CK_3XXX),
-+	CLK(NULL,	"dss1_alwon_fck",		&dss1_alwon_fck_3430es1, CK_3430ES1),
-+	CLK(NULL,	"dss1_alwon_fck",		&dss1_alwon_fck_3430es2, CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
-+	CLK(NULL,	"dss_tv_fck",	&dss_tv_fck,	CK_3XXX),
-+	CLK(NULL,	"dss_96m_fck",	&dss_96m_fck,	CK_3XXX),
-+	CLK(NULL,	"dss2_alwon_fck",	&dss2_alwon_fck, CK_3XXX),
- 	CLK("omapdss_dss",	"ick",		&dss_ick_3430es1,	CK_3430ES1),
- 	CLK("omapdss_dss",	"ick",		&dss_ick_3430es2,	CK_3430ES2PLUS | CK_AM35XX | CK_36XX),
- 	CLK(NULL,	"cam_mclk",	&cam_mclk,	CK_34XX | CK_36XX),
-@@ -3385,7 +3385,7 @@ static struct omap_clk omap3xxx_clks[] = {
- 	CLK(NULL,	"gpt1_fck",	&gpt1_fck,	CK_3XXX),
- 	CLK(NULL,	"wkup_32k_fck",	&wkup_32k_fck,	CK_3XXX),
- 	CLK(NULL,	"gpio1_dbck",	&gpio1_dbck,	CK_3XXX),
--	CLK("omap_wdt",	"fck",		&wdt2_fck,	CK_3XXX),
-+	CLK(NULL,	"wdt2_fck",		&wdt2_fck,	CK_3XXX),
- 	CLK(NULL,	"wkup_l4_ick",	&wkup_l4_ick,	CK_34XX | CK_36XX),
- 	CLK(NULL,	"usim_ick",	&usim_ick,	CK_3430ES2PLUS | CK_36XX),
- 	CLK("omap_wdt",	"ick",		&wdt2_ick,	CK_3XXX),
-@@ -3436,9 +3436,9 @@ static struct omap_clk omap3xxx_clks[] = {
- 	CLK("omap-mcbsp.2", "ick",	&mcbsp2_ick,	CK_3XXX),
- 	CLK("omap-mcbsp.3", "ick",	&mcbsp3_ick,	CK_3XXX),
- 	CLK("omap-mcbsp.4", "ick",	&mcbsp4_ick,	CK_3XXX),
--	CLK("omap-mcbsp.2", "fck",	&mcbsp2_fck,	CK_3XXX),
--	CLK("omap-mcbsp.3", "fck",	&mcbsp3_fck,	CK_3XXX),
--	CLK("omap-mcbsp.4", "fck",	&mcbsp4_fck,	CK_3XXX),
-+	CLK(NULL,	"mcbsp2_fck",	&mcbsp2_fck,	CK_3XXX),
-+	CLK(NULL,	"mcbsp3_fck",	&mcbsp3_fck,	CK_3XXX),
-+	CLK(NULL,	"mcbsp4_fck",	&mcbsp4_fck,	CK_3XXX),
- 	CLK("etb",	"emu_src_ck",	&emu_src_ck,	CK_3XXX),
- 	CLK(NULL,	"pclk_fck",	&pclk_fck,	CK_3XXX),
- 	CLK(NULL,	"pclkx2_fck",	&pclkx2_fck,	CK_3XXX),
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 2578820..763507f 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -3057,12 +3057,12 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"gpio6_ick",			&gpio6_ick,	CK_443X),
- 	CLK(NULL,	"gpmc_ick",			&gpmc_ick,	CK_443X),
- 	CLK(NULL,	"gpu_fck",			&gpu_fck,	CK_443X),
--	CLK("omap2_hdq.0",	"fck",				&hdq1w_fck,	CK_443X),
-+	CLK(NULL,	"hdq1w_fck",			&hdq1w_fck,	CK_443X),
- 	CLK(NULL,	"hsi_fck",			&hsi_fck,	CK_443X),
--	CLK("omap_i2c.1",	"fck",				&i2c1_fck,	CK_443X),
--	CLK("omap_i2c.2",	"fck",				&i2c2_fck,	CK_443X),
--	CLK("omap_i2c.3",	"fck",				&i2c3_fck,	CK_443X),
--	CLK("omap_i2c.4",	"fck",				&i2c4_fck,	CK_443X),
-+	CLK(NULL,	"i2c1_fck",			&i2c1_fck,	CK_443X),
-+	CLK(NULL,	"i2c2_fck",			&i2c2_fck,	CK_443X),
-+	CLK(NULL,	"i2c3_fck",			&i2c3_fck,	CK_443X),
-+	CLK(NULL,	"i2c4_fck",			&i2c4_fck,	CK_443X),
- 	CLK(NULL,	"ipu_fck",			&ipu_fck,	CK_443X),
- 	CLK(NULL,	"iss_ctrlclk",			&iss_ctrlclk,	CK_443X),
- 	CLK(NULL,	"iss_fck",			&iss_fck,	CK_443X),
-@@ -3073,23 +3073,23 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"mcasp_sync_mux_ck",		&mcasp_sync_mux_ck,	CK_443X),
- 	CLK(NULL,	"mcasp_fck",			&mcasp_fck,	CK_443X),
- 	CLK(NULL,	"mcbsp1_sync_mux_ck",		&mcbsp1_sync_mux_ck,	CK_443X),
--	CLK("omap-mcbsp.1",	"fck",				&mcbsp1_fck,	CK_443X),
-+	CLK(NULL,	"mcbsp1_fck",			&mcbsp1_fck,	CK_443X),
- 	CLK(NULL,	"mcbsp2_sync_mux_ck",		&mcbsp2_sync_mux_ck,	CK_443X),
--	CLK("omap-mcbsp.2",	"fck",				&mcbsp2_fck,	CK_443X),
-+	CLK(NULL,	"mcbsp2_fck",			&mcbsp2_fck,	CK_443X),
- 	CLK(NULL,	"mcbsp3_sync_mux_ck",		&mcbsp3_sync_mux_ck,	CK_443X),
--	CLK("omap-mcbsp.3",	"fck",				&mcbsp3_fck,	CK_443X),
-+	CLK(NULL,	"mcbsp3_fck",			&mcbsp3_fck,	CK_443X),
- 	CLK(NULL,	"mcbsp4_sync_mux_ck",		&mcbsp4_sync_mux_ck,	CK_443X),
--	CLK("omap-mcbsp.4",	"fck",				&mcbsp4_fck,	CK_443X),
-+	CLK(NULL,	"mcbsp4_fck",			&mcbsp4_fck,	CK_443X),
- 	CLK(NULL,	"mcpdm_fck",			&mcpdm_fck,	CK_443X),
--	CLK("omap2_mcspi.1",	"fck",				&mcspi1_fck,	CK_443X),
--	CLK("omap2_mcspi.2",	"fck",				&mcspi2_fck,	CK_443X),
--	CLK("omap2_mcspi.3",	"fck",				&mcspi3_fck,	CK_443X),
--	CLK("omap2_mcspi.4",	"fck",				&mcspi4_fck,	CK_443X),
--	CLK("omap_hsmmc.0",	"fck",				&mmc1_fck,	CK_443X),
--	CLK("omap_hsmmc.1",	"fck",				&mmc2_fck,	CK_443X),
--	CLK("omap_hsmmc.2",	"fck",				&mmc3_fck,	CK_443X),
--	CLK("omap_hsmmc.3",	"fck",				&mmc4_fck,	CK_443X),
--	CLK("omap_hsmmc.4",	"fck",				&mmc5_fck,	CK_443X),
-+	CLK(NULL,	"mcspi1_fck",			&mcspi1_fck,	CK_443X),
-+	CLK(NULL,	"mcspi2_fck",			&mcspi2_fck,	CK_443X),
-+	CLK(NULL,	"mcspi3_fck",			&mcspi3_fck,	CK_443X),
-+	CLK(NULL,	"mcspi4_fck",			&mcspi4_fck,	CK_443X),
-+	CLK(NULL,	"mmc1_fck",			&mmc1_fck,	CK_443X),
-+	CLK(NULL,	"mmc2_fck",			&mmc2_fck,	CK_443X),
-+	CLK(NULL,	"mmc3_fck",			&mmc3_fck,	CK_443X),
-+	CLK(NULL,	"mmc4_fck",			&mmc4_fck,	CK_443X),
-+	CLK(NULL,	"mmc5_fck",			&mmc5_fck,	CK_443X),
- 	CLK(NULL,	"ocp2scp_usb_phy_phy_48m",	&ocp2scp_usb_phy_phy_48m,	CK_443X),
- 	CLK(NULL,	"ocp2scp_usb_phy_ick",		&ocp2scp_usb_phy_ick,	CK_443X),
- 	CLK(NULL,	"ocp_wp_noc_ick",		&ocp_wp_noc_ick,	CK_443X),
-@@ -3146,7 +3146,7 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"usim_ck",			&usim_ck,	CK_443X),
- 	CLK(NULL,	"usim_fclk",			&usim_fclk,	CK_443X),
- 	CLK(NULL,	"usim_fck",			&usim_fck,	CK_443X),
--	CLK("omap_wdt",	"fck",				&wd_timer2_fck,	CK_443X),
-+	CLK(NULL,	"wd_timer2_fck",		&wd_timer2_fck,	CK_443X),
- 	CLK(NULL,	"wd_timer3_fck",		&wd_timer3_fck,	CK_443X),
- 	CLK(NULL,	"stm_clk_div_ck",		&stm_clk_div_ck,	CK_443X),
- 	CLK(NULL,	"trace_clk_div_ck",		&trace_clk_div_ck,	CK_443X),
-diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
-index c8b9cd1..be45147 100644
---- a/arch/arm/plat-omap/omap_device.c
-+++ b/arch/arm/plat-omap/omap_device.c
-@@ -236,56 +236,71 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
- 	return 0;
- }
- 
-+static void _add_clkdev(struct omap_device *od, const char *clk_alias,
-+		       const char *clk_name)
-+{
-+	struct clk *r;
-+	struct clk_lookup *l;
-+
-+	if (!clk_alias || !clk_name)
-+		return;
-+
-+	pr_debug("omap_device: %s: Creating %s -> %s\n",
-+		 dev_name(&od->pdev.dev), clk_alias, clk_name);
-+
-+	r = clk_get_sys(dev_name(&od->pdev.dev), clk_alias);
-+	if (!IS_ERR(r)) {
-+		pr_warning("omap_device: %s: alias %s already exists\n",
-+			   dev_name(&od->pdev.dev), clk_alias);
-+		clk_put(r);
-+		return;
-+	}
-+
-+	r = omap_clk_get_by_name(clk_name);
-+	if (IS_ERR(r)) {
-+		pr_err("omap_device: %s: omap_clk_get_by_name for %s failed\n",
-+		       dev_name(&od->pdev.dev), clk_name);
-+		return;
-+	}
-+
-+	l = clkdev_alloc(r, clk_alias, dev_name(&od->pdev.dev));
-+	if (!l) {
-+		pr_err("omap_device: %s: clkdev_alloc for %s failed\n",
-+		       dev_name(&od->pdev.dev), clk_alias);
-+		return;
-+	}
-+
-+	clkdev_add(l);
-+}
-+
- /**
-- * _add_optional_clock_clkdev - Add clkdev entry for hwmod optional clocks
-+ * _add_hwmod_clocks_clkdev - Add clkdev entry for hwmod optional clocks
-+ * and main clock
-  * @od: struct omap_device *od
-+ * @oh: struct omap_hwmod *oh
-  *
-- * For every optional clock present per hwmod per omap_device, this function
-- * adds an entry in the clkdev table of the form <dev-id=dev_name, con-id=role>
-- * if it does not exist already.
-+ * For the main clock and every optional clock present per hwmod per
-+ * omap_device, this function adds an entry in the clkdev table of the
-+ * form <dev-id=dev_name, con-id=role> if it does not exist already.
-  *
-  * The function is called from inside omap_device_build_ss(), after
-  * omap_device_register.
-  *
-  * This allows drivers to get a pointer to its optional clocks based on its role
-  * by calling clk_get(<dev*>, <role>).
-+ * In the case of the main clock, a "fck" alias is used.
-  *
-  * No return value.
-  */
--static void _add_optional_clock_clkdev(struct omap_device *od,
--				      struct omap_hwmod *oh)
-+static void _add_hwmod_clocks_clkdev(struct omap_device *od,
-+				     struct omap_hwmod *oh)
- {
- 	int i;
- 
--	for (i = 0; i < oh->opt_clks_cnt; i++) {
--		struct omap_hwmod_opt_clk *oc;
--		struct clk *r;
--		struct clk_lookup *l;
--
--		oc = &oh->opt_clks[i];
--
--		if (!oc->_clk)
--			continue;
--
--		r = clk_get_sys(dev_name(&od->pdev.dev), oc->role);
--		if (!IS_ERR(r))
--			continue; /* clkdev entry exists */
-+	_add_clkdev(od, "fck", oh->main_clk);
- 
--		r = omap_clk_get_by_name((char *)oc->clk);
--		if (IS_ERR(r)) {
--			pr_err("omap_device: %s: omap_clk_get_by_name for %s failed\n",
--			       dev_name(&od->pdev.dev), oc->clk);
--			continue;
--		}
--
--		l = clkdev_alloc(r, oc->role, dev_name(&od->pdev.dev));
--		if (!l) {
--			pr_err("omap_device: %s: clkdev_alloc for %s failed\n",
--			       dev_name(&od->pdev.dev), oc->role);
--			return;
--		}
--		clkdev_add(l);
--	}
-+	for (i = 0; i < oh->opt_clks_cnt; i++)
-+		_add_clkdev(od, oh->opt_clks[i].role, oh->opt_clks[i].clk);
- }
- 
- 
-@@ -492,7 +507,7 @@ struct omap_device *omap_device_build_ss(const char *pdev_name, int pdev_id,
- 
- 	for (i = 0; i < oh_cnt; i++) {
- 		hwmods[i]->od = od;
--		_add_optional_clock_clkdev(od, hwmods[i]);
-+		_add_hwmod_clocks_clkdev(od, hwmods[i]);
- 	}
- 
- 	if (ret)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0076-OMAP4-clock-data-Add-missing-divider-selection-for-a.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0076-OMAP4-clock-data-Add-missing-divider-selection-for-a.patch
deleted file mode 100644
index 066cc55..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0076-OMAP4-clock-data-Add-missing-divider-selection-for-a.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-From 3e03bae4fc1f9b6e413af3c3e65766913049ffa0 Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Sun, 10 Jul 2011 05:56:14 -0600
-Subject: [PATCH 076/149] OMAP4: clock data: Add missing divider selection for auxclks
-
-On OMAP4 the auxclk nodes (part of SCRM) support both
-divider as well as parent selection.
-Supporting this requires splitting the existing nodes
-(which support only parent selection) into two nodes,
-one for parent and another for divider selection.
-The nodes for parent selection are named auxclk*_src_ck
-and the ones for divider selection as auxclk*_ck.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-[b-cousson at ti.com: Rebase on top of clock cleanup
-and autogen alignement]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |  176 +++++++++++++++++++++++++++++-----
- 1 files changed, 152 insertions(+), 24 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 763507f..07bf0de 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -2774,19 +2774,39 @@ static struct clk trace_clk_div_ck = {
- 
- /* SCRM aux clk nodes */
- 
--static const struct clksel auxclk_sel[] = {
-+static const struct clksel auxclk_src_sel[] = {
- 	{ .parent = &sys_clkin_ck, .rates = div_1_0_rates },
- 	{ .parent = &dpll_core_m3x2_ck, .rates = div_1_1_rates },
- 	{ .parent = &dpll_per_m3x2_ck, .rates = div_1_2_rates },
- 	{ .parent = NULL },
- };
- 
--static struct clk auxclk0_ck = {
--	.name		= "auxclk0_ck",
-+static const struct clksel_rate div16_1to16_rates[] = {
-+	{ .div = 1, .val = 0, .flags = RATE_IN_4430 },
-+	{ .div = 2, .val = 1, .flags = RATE_IN_4430 },
-+	{ .div = 3, .val = 2, .flags = RATE_IN_4430 },
-+	{ .div = 4, .val = 3, .flags = RATE_IN_4430 },
-+	{ .div = 5, .val = 4, .flags = RATE_IN_4430 },
-+	{ .div = 6, .val = 5, .flags = RATE_IN_4430 },
-+	{ .div = 7, .val = 6, .flags = RATE_IN_4430 },
-+	{ .div = 8, .val = 7, .flags = RATE_IN_4430 },
-+	{ .div = 9, .val = 8, .flags = RATE_IN_4430 },
-+	{ .div = 10, .val = 9, .flags = RATE_IN_4430 },
-+	{ .div = 11, .val = 10, .flags = RATE_IN_4430 },
-+	{ .div = 12, .val = 11, .flags = RATE_IN_4430 },
-+	{ .div = 13, .val = 12, .flags = RATE_IN_4430 },
-+	{ .div = 14, .val = 13, .flags = RATE_IN_4430 },
-+	{ .div = 15, .val = 14, .flags = RATE_IN_4430 },
-+	{ .div = 16, .val = 15, .flags = RATE_IN_4430 },
-+	{ .div = 0 },
-+};
-+
-+static struct clk auxclk0_src_ck = {
-+	.name		= "auxclk0_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK0,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2794,12 +2814,29 @@ static struct clk auxclk0_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
--static struct clk auxclk1_ck = {
--	.name		= "auxclk1_ck",
-+static const struct clksel auxclk0_sel[] = {
-+	{ .parent = &auxclk0_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk0_ck = {
-+	.name		= "auxclk0_ck",
-+	.parent		= &auxclk0_src_ck,
-+	.clksel		= auxclk0_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK0,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
-+static struct clk auxclk1_src_ck = {
-+	.name		= "auxclk1_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK1,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2807,12 +2844,29 @@ static struct clk auxclk1_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
--static struct clk auxclk2_ck = {
--	.name		= "auxclk2_ck",
-+static const struct clksel auxclk1_sel[] = {
-+	{ .parent = &auxclk1_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk1_ck = {
-+	.name		= "auxclk1_ck",
-+	.parent		= &auxclk1_src_ck,
-+	.clksel		= auxclk1_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK1,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
-+static struct clk auxclk2_src_ck = {
-+	.name		= "auxclk2_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK2,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2820,12 +2874,29 @@ static struct clk auxclk2_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
--static struct clk auxclk3_ck = {
--	.name		= "auxclk3_ck",
-+static const struct clksel auxclk2_sel[] = {
-+	{ .parent = &auxclk2_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk2_ck = {
-+	.name		= "auxclk2_ck",
-+	.parent		= &auxclk2_src_ck,
-+	.clksel		= auxclk2_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK2,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
-+static struct clk auxclk3_src_ck = {
-+	.name		= "auxclk3_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK3,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2833,12 +2904,29 @@ static struct clk auxclk3_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
--static struct clk auxclk4_ck = {
--	.name		= "auxclk4_ck",
-+static const struct clksel auxclk3_sel[] = {
-+	{ .parent = &auxclk3_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk3_ck = {
-+	.name		= "auxclk3_ck",
-+	.parent		= &auxclk3_src_ck,
-+	.clksel		= auxclk3_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK3,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
-+static struct clk auxclk4_src_ck = {
-+	.name		= "auxclk4_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK4,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2846,12 +2934,29 @@ static struct clk auxclk4_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
--static struct clk auxclk5_ck = {
--	.name		= "auxclk5_ck",
-+static const struct clksel auxclk4_sel[] = {
-+	{ .parent = &auxclk4_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk4_ck = {
-+	.name		= "auxclk4_ck",
-+	.parent		= &auxclk4_src_ck,
-+	.clksel		= auxclk4_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK4,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
-+static struct clk auxclk5_src_ck = {
-+	.name		= "auxclk5_src_ck",
- 	.parent		= &sys_clkin_ck,
- 	.init		= &omap2_init_clksel_parent,
- 	.ops		= &clkops_omap2_dflt,
--	.clksel		= auxclk_sel,
-+	.clksel		= auxclk_src_sel,
- 	.clksel_reg	= OMAP4_SCRM_AUXCLK5,
- 	.clksel_mask	= OMAP4_SRCSELECT_MASK,
- 	.recalc		= &omap2_clksel_recalc,
-@@ -2859,6 +2964,23 @@ static struct clk auxclk5_ck = {
- 	.enable_bit	= OMAP4_ENABLE_SHIFT,
- };
- 
-+static const struct clksel auxclk5_sel[] = {
-+	{ .parent = &auxclk5_src_ck, .rates = div16_1to16_rates },
-+	{ .parent = NULL },
-+};
-+
-+static struct clk auxclk5_ck = {
-+	.name		= "auxclk5_ck",
-+	.parent		= &auxclk5_src_ck,
-+	.clksel		= auxclk5_sel,
-+	.clksel_reg	= OMAP4_SCRM_AUXCLK5,
-+	.clksel_mask	= OMAP4_CLKDIV_MASK,
-+	.ops		= &clkops_null,
-+	.recalc		= &omap2_clksel_recalc,
-+	.round_rate	= &omap2_clksel_round_rate,
-+	.set_rate	= &omap2_clksel_set_rate,
-+};
-+
- static const struct clksel auxclkreq_sel[] = {
- 	{ .parent = &auxclk0_ck, .rates = div_1_0_rates },
- 	{ .parent = &auxclk1_ck, .rates = div_1_1_rates },
-@@ -3150,17 +3272,23 @@ static struct omap_clk omap44xx_clks[] = {
- 	CLK(NULL,	"wd_timer3_fck",		&wd_timer3_fck,	CK_443X),
- 	CLK(NULL,	"stm_clk_div_ck",		&stm_clk_div_ck,	CK_443X),
- 	CLK(NULL,	"trace_clk_div_ck",		&trace_clk_div_ck,	CK_443X),
-+	CLK(NULL,	"auxclk0_src_ck",		&auxclk0_src_ck,	CK_443X),
- 	CLK(NULL,	"auxclk0_ck",			&auxclk0_ck,	CK_443X),
--	CLK(NULL,	"auxclk1_ck",			&auxclk1_ck,	CK_443X),
--	CLK(NULL,	"auxclk2_ck",			&auxclk2_ck,	CK_443X),
--	CLK(NULL,	"auxclk3_ck",			&auxclk3_ck,	CK_443X),
--	CLK(NULL,	"auxclk4_ck",			&auxclk4_ck,	CK_443X),
--	CLK(NULL,	"auxclk5_ck",			&auxclk5_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq0_ck",		&auxclkreq0_ck,	CK_443X),
-+	CLK(NULL,	"auxclk1_src_ck",		&auxclk1_src_ck,	CK_443X),
-+	CLK(NULL,	"auxclk1_ck",			&auxclk1_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq1_ck",		&auxclkreq1_ck,	CK_443X),
-+	CLK(NULL,	"auxclk2_src_ck",		&auxclk2_src_ck,	CK_443X),
-+	CLK(NULL,	"auxclk2_ck",			&auxclk2_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq2_ck",		&auxclkreq2_ck,	CK_443X),
-+	CLK(NULL,	"auxclk3_src_ck",		&auxclk3_src_ck,	CK_443X),
-+	CLK(NULL,	"auxclk3_ck",			&auxclk3_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq3_ck",		&auxclkreq3_ck,	CK_443X),
-+	CLK(NULL,	"auxclk4_src_ck",		&auxclk4_src_ck,	CK_443X),
-+	CLK(NULL,	"auxclk4_ck",			&auxclk4_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq4_ck",		&auxclkreq4_ck,	CK_443X),
-+	CLK(NULL,	"auxclk5_src_ck",		&auxclk5_src_ck,	CK_443X),
-+	CLK(NULL,	"auxclk5_ck",			&auxclk5_ck,	CK_443X),
- 	CLK(NULL,	"auxclkreq5_ck",		&auxclkreq5_ck,	CK_443X),
- 	CLK(NULL,	"gpmc_ck",			&dummy_ck,	CK_443X),
- 	CLK(NULL,	"gpt1_ick",			&dummy_ck,	CK_443X),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0077-OMAP4-hwmod-data-Add-clock-domain-attribute.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0077-OMAP4-hwmod-data-Add-clock-domain-attribute.patch
deleted file mode 100644
index f13d839..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0077-OMAP4-hwmod-data-Add-clock-domain-attribute.patch
+++ /dev/null
@@ -1,724 +0,0 @@
-From 67101af593a16acf5d5d924f2746cc221d0360d1 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:29 -0600
-Subject: [PATCH 077/149] OMAP4: hwmod data: Add clock domain attribute
-
-In OMAP PRCM terminology, the clock domain is defined as a group of IPs
-that share some clocks and most of the time an interface clock.
-Every IP does belong to a clockdomain.
-For the moment the clock domain attribute is affected to a clock node.
-The issue with that approach, is that a clock might or not belong to a
-clock domain. Moreover during module transition, it is up to a module
-to handle properly the clock domain state and not to a clock node.
-
-Create a clkdm_name attribute to provide this information per hwmod.
-
-Populate this attribute for every OMAP4 hwmod entries.
-
-Future cleanup series with remove that information from the OMAP4 clock
-when it is relevant.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-[paul at pwsan.com: fix the mpuss_clkdm name]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clockdomains44xx_data.c  |    2 +-
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   85 +++++++++++++++++++++++++-
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 +
- 3 files changed, 85 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomains44xx_data.c b/arch/arm/mach-omap2/clockdomains44xx_data.c
-index 66090f2..dccc651 100644
---- a/arch/arm/mach-omap2/clockdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/clockdomains44xx_data.c
-@@ -565,7 +565,7 @@ static struct clockdomain ducati_44xx_clkdm = {
- };
- 
- static struct clockdomain mpu_44xx_clkdm = {
--	.name		  = "mpu_clkdm",
-+	.name		  = "mpuss_clkdm",
- 	.pwrdm		  = { .name = "mpu_pwrdm" },
- 	.prcm_partition	  = OMAP4430_CM1_PARTITION,
- 	.cm_inst	  = OMAP4430_CM1_MPU_INST,
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 5d5df49..becae45 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -123,9 +123,10 @@ static struct omap_hwmod_ocp_if *omap44xx_dmm_slaves[] = {
- static struct omap_hwmod omap44xx_dmm_hwmod = {
- 	.name		= "dmm",
- 	.class		= &omap44xx_dmm_hwmod_class,
--	.mpu_irqs	= omap44xx_dmm_irqs,
-+	.clkdm_name	= "l3_emif_clkdm",
- 	.slaves		= omap44xx_dmm_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dmm_slaves),
-+	.mpu_irqs	= omap44xx_dmm_irqs,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
- };
- 
-@@ -173,6 +174,7 @@ static struct omap_hwmod_ocp_if *omap44xx_emif_fw_slaves[] = {
- static struct omap_hwmod omap44xx_emif_fw_hwmod = {
- 	.name		= "emif_fw",
- 	.class		= &omap44xx_emif_fw_hwmod_class,
-+	.clkdm_name	= "l3_emif_clkdm",
- 	.slaves		= omap44xx_emif_fw_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_emif_fw_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -212,6 +214,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_instr_slaves[] = {
- static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- 	.name		= "l3_instr",
- 	.class		= &omap44xx_l3_hwmod_class,
-+	.clkdm_name	= "l3_instr_clkdm",
- 	.slaves		= omap44xx_l3_instr_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_instr_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -304,6 +307,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_1_slaves[] = {
- static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.name		= "l3_main_1",
- 	.class		= &omap44xx_l3_hwmod_class,
-+	.clkdm_name	= "l3_1_clkdm",
- 	.mpu_irqs	= omap44xx_l3_main_1_irqs,
- 	.slaves		= omap44xx_l3_main_1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),
-@@ -400,6 +404,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_2_slaves[] = {
- static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
- 	.name		= "l3_main_2",
- 	.class		= &omap44xx_l3_hwmod_class,
-+	.clkdm_name	= "l3_2_clkdm",
- 	.slaves		= omap44xx_l3_main_2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_2_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -450,6 +455,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l3_main_3_slaves[] = {
- static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
- 	.name		= "l3_main_3",
- 	.class		= &omap44xx_l3_hwmod_class,
-+	.clkdm_name	= "l3_instr_clkdm",
- 	.slaves		= omap44xx_l3_main_3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_3_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -507,6 +513,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l4_abe_slaves[] = {
- static struct omap_hwmod omap44xx_l4_abe_hwmod = {
- 	.name		= "l4_abe",
- 	.class		= &omap44xx_l4_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.slaves		= omap44xx_l4_abe_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_abe_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -529,6 +536,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l4_cfg_slaves[] = {
- static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
- 	.name		= "l4_cfg",
- 	.class		= &omap44xx_l4_hwmod_class,
-+	.clkdm_name	= "l4_cfg_clkdm",
- 	.slaves		= omap44xx_l4_cfg_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_cfg_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -551,6 +559,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l4_per_slaves[] = {
- static struct omap_hwmod omap44xx_l4_per_hwmod = {
- 	.name		= "l4_per",
- 	.class		= &omap44xx_l4_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.slaves		= omap44xx_l4_per_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_per_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -573,6 +582,7 @@ static struct omap_hwmod_ocp_if *omap44xx_l4_wkup_slaves[] = {
- static struct omap_hwmod omap44xx_l4_wkup_hwmod = {
- 	.name		= "l4_wkup",
- 	.class		= &omap44xx_l4_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.slaves		= omap44xx_l4_wkup_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_wkup_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -603,6 +613,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mpu_private_slaves[] = {
- static struct omap_hwmod omap44xx_mpu_private_hwmod = {
- 	.name		= "mpu_private",
- 	.class		= &omap44xx_mpu_bus_hwmod_class,
-+	.clkdm_name	= "mpuss_clkdm",
- 	.slaves		= omap44xx_mpu_private_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_mpu_private_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -741,6 +752,7 @@ static struct omap_hwmod_ocp_if *omap44xx_aess_slaves[] = {
- static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.name		= "aess",
- 	.class		= &omap44xx_aess_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_aess_irqs,
- 	.sdma_reqs	= omap44xx_aess_sdma_reqs,
- 	.main_clk	= "aess_fck",
-@@ -773,6 +785,7 @@ static struct omap_hwmod_opt_clk bandgap_opt_clks[] = {
- static struct omap_hwmod omap44xx_bandgap_hwmod = {
- 	.name		= "bandgap",
- 	.class		= &omap44xx_bandgap_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL,
-@@ -830,6 +843,7 @@ static struct omap_hwmod_ocp_if *omap44xx_counter_32k_slaves[] = {
- static struct omap_hwmod omap44xx_counter_32k_hwmod = {
- 	.name		= "counter_32k",
- 	.class		= &omap44xx_counter_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.flags		= HWMOD_SWSUP_SIDLE,
- 	.main_clk	= "sys_32k_ck",
- 	.prcm = {
-@@ -913,6 +927,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dma_system_slaves[] = {
- static struct omap_hwmod omap44xx_dma_system_hwmod = {
- 	.name		= "dma_system",
- 	.class		= &omap44xx_dma_hwmod_class,
-+	.clkdm_name	= "l3_dma_clkdm",
- 	.mpu_irqs	= omap44xx_dma_system_irqs,
- 	.main_clk	= "l3_div_ck",
- 	.prcm = {
-@@ -1005,6 +1020,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dmic_slaves[] = {
- static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.name		= "dmic",
- 	.class		= &omap44xx_dmic_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_dmic_irqs,
- 	.sdma_reqs	= omap44xx_dmic_sdma_reqs,
- 	.main_clk	= "dmic_fck",
-@@ -1072,6 +1088,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dsp_slaves[] = {
- static struct omap_hwmod omap44xx_dsp_c0_hwmod = {
- 	.name		= "dsp_c0",
- 	.class		= &omap44xx_dsp_hwmod_class,
-+	.clkdm_name	= "tesla_clkdm",
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_dsp_c0_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_dsp_c0_resets),
-@@ -1086,6 +1103,7 @@ static struct omap_hwmod omap44xx_dsp_c0_hwmod = {
- static struct omap_hwmod omap44xx_dsp_hwmod = {
- 	.name		= "dsp",
- 	.class		= &omap44xx_dsp_hwmod_class,
-+	.clkdm_name	= "tesla_clkdm",
- 	.mpu_irqs	= omap44xx_dsp_irqs,
- 	.rst_lines	= omap44xx_dsp_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_dsp_resets),
-@@ -1177,6 +1195,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_hwmod = {
- 	.name		= "dss_core",
- 	.class		= &omap44xx_dss_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
-@@ -1278,7 +1297,7 @@ static struct omap_hwmod_opt_clk dss_dispc_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.name		= "dss_dispc",
- 	.class		= &omap44xx_dispc_hwmod_class,
--	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.mpu_irqs	= omap44xx_dss_dispc_irqs,
- 	.sdma_reqs	= omap44xx_dss_dispc_sdma_reqs,
- 	.main_clk	= "dss_dss_clk",
-@@ -1376,6 +1395,7 @@ static struct omap_hwmod_opt_clk dss_dsi1_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.name		= "dss_dsi1",
- 	.class		= &omap44xx_dsi_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.mpu_irqs	= omap44xx_dss_dsi1_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi1_sdma_reqs,
- 	.main_clk	= "dss_dss_clk",
-@@ -1452,6 +1472,7 @@ static struct omap_hwmod_opt_clk dss_dsi2_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.name		= "dss_dsi2",
- 	.class		= &omap44xx_dsi_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.mpu_irqs	= omap44xx_dss_dsi2_irqs,
- 	.sdma_reqs	= omap44xx_dss_dsi2_sdma_reqs,
- 	.main_clk	= "dss_dss_clk",
-@@ -1548,6 +1569,7 @@ static struct omap_hwmod_opt_clk dss_hdmi_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.name		= "dss_hdmi",
- 	.class		= &omap44xx_hdmi_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.mpu_irqs	= omap44xx_dss_hdmi_irqs,
- 	.sdma_reqs	= omap44xx_dss_hdmi_sdma_reqs,
- 	.main_clk	= "dss_dss_clk",
-@@ -1639,6 +1661,7 @@ static struct omap_hwmod_opt_clk dss_rfbi_opt_clks[] = {
- static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.name		= "dss_rfbi",
- 	.class		= &omap44xx_rfbi_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.sdma_reqs	= omap44xx_dss_rfbi_sdma_reqs,
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
-@@ -1709,6 +1732,7 @@ static struct omap_hwmod_ocp_if *omap44xx_dss_venc_slaves[] = {
- static struct omap_hwmod omap44xx_dss_venc_hwmod = {
- 	.name		= "dss_venc",
- 	.class		= &omap44xx_venc_hwmod_class,
-+	.clkdm_name	= "l3_dss_clkdm",
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
-@@ -1786,6 +1810,7 @@ static struct omap_hwmod_opt_clk gpio1_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio1_hwmod = {
- 	.name		= "gpio1",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.mpu_irqs	= omap44xx_gpio1_irqs,
- 	.main_clk	= "gpio1_ick",
- 	.prcm = {
-@@ -1838,6 +1863,7 @@ static struct omap_hwmod_opt_clk gpio2_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio2_hwmod = {
- 	.name		= "gpio2",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio2_irqs,
- 	.main_clk	= "gpio2_ick",
-@@ -1891,6 +1917,7 @@ static struct omap_hwmod_opt_clk gpio3_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio3_hwmod = {
- 	.name		= "gpio3",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio3_irqs,
- 	.main_clk	= "gpio3_ick",
-@@ -1944,6 +1971,7 @@ static struct omap_hwmod_opt_clk gpio4_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio4_hwmod = {
- 	.name		= "gpio4",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio4_irqs,
- 	.main_clk	= "gpio4_ick",
-@@ -1997,6 +2025,7 @@ static struct omap_hwmod_opt_clk gpio5_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio5_hwmod = {
- 	.name		= "gpio5",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio5_irqs,
- 	.main_clk	= "gpio5_ick",
-@@ -2050,6 +2079,7 @@ static struct omap_hwmod_opt_clk gpio6_opt_clks[] = {
- static struct omap_hwmod omap44xx_gpio6_hwmod = {
- 	.name		= "gpio6",
- 	.class		= &omap44xx_gpio_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_CONTROL_OPT_CLKS_IN_RESET,
- 	.mpu_irqs	= omap44xx_gpio6_irqs,
- 	.main_clk	= "gpio6_ick",
-@@ -2129,6 +2159,7 @@ static struct omap_hwmod_ocp_if *omap44xx_hsi_slaves[] = {
- static struct omap_hwmod omap44xx_hsi_hwmod = {
- 	.name		= "hsi",
- 	.class		= &omap44xx_hsi_hwmod_class,
-+	.clkdm_name	= "l3_init_clkdm",
- 	.mpu_irqs	= omap44xx_hsi_irqs,
- 	.main_clk	= "hsi_fck",
- 	.prcm = {
-@@ -2209,6 +2240,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c1_slaves[] = {
- static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.name		= "i2c1",
- 	.class		= &omap44xx_i2c_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c1_irqs,
- 	.sdma_reqs	= omap44xx_i2c1_sdma_reqs,
-@@ -2263,6 +2295,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c2_slaves[] = {
- static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.name		= "i2c2",
- 	.class		= &omap44xx_i2c_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c2_irqs,
- 	.sdma_reqs	= omap44xx_i2c2_sdma_reqs,
-@@ -2317,6 +2350,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c3_slaves[] = {
- static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.name		= "i2c3",
- 	.class		= &omap44xx_i2c_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c3_irqs,
- 	.sdma_reqs	= omap44xx_i2c3_sdma_reqs,
-@@ -2371,6 +2405,7 @@ static struct omap_hwmod_ocp_if *omap44xx_i2c4_slaves[] = {
- static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.name		= "i2c4",
- 	.class		= &omap44xx_i2c_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_16BIT_REG,
- 	.mpu_irqs	= omap44xx_i2c4_irqs,
- 	.sdma_reqs	= omap44xx_i2c4_sdma_reqs,
-@@ -2435,6 +2470,7 @@ static struct omap_hwmod_ocp_if *omap44xx_ipu_slaves[] = {
- static struct omap_hwmod omap44xx_ipu_c0_hwmod = {
- 	.name		= "ipu_c0",
- 	.class		= &omap44xx_ipu_hwmod_class,
-+	.clkdm_name	= "ducati_clkdm",
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_ipu_c0_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c0_resets),
-@@ -2450,6 +2486,7 @@ static struct omap_hwmod omap44xx_ipu_c0_hwmod = {
- static struct omap_hwmod omap44xx_ipu_c1_hwmod = {
- 	.name		= "ipu_c1",
- 	.class		= &omap44xx_ipu_hwmod_class,
-+	.clkdm_name	= "ducati_clkdm",
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_ipu_c1_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c1_resets),
-@@ -2464,6 +2501,7 @@ static struct omap_hwmod omap44xx_ipu_c1_hwmod = {
- static struct omap_hwmod omap44xx_ipu_hwmod = {
- 	.name		= "ipu",
- 	.class		= &omap44xx_ipu_hwmod_class,
-+	.clkdm_name	= "ducati_clkdm",
- 	.mpu_irqs	= omap44xx_ipu_irqs,
- 	.rst_lines	= omap44xx_ipu_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_resets),
-@@ -2551,6 +2589,7 @@ static struct omap_hwmod_opt_clk iss_opt_clks[] = {
- static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.name		= "iss",
- 	.class		= &omap44xx_iss_hwmod_class,
-+	.clkdm_name	= "iss_clkdm",
- 	.mpu_irqs	= omap44xx_iss_irqs,
- 	.sdma_reqs	= omap44xx_iss_sdma_reqs,
- 	.main_clk	= "iss_fck",
-@@ -2631,6 +2670,7 @@ static struct omap_hwmod_ocp_if *omap44xx_iva_slaves[] = {
- static struct omap_hwmod omap44xx_iva_seq0_hwmod = {
- 	.name		= "iva_seq0",
- 	.class		= &omap44xx_iva_hwmod_class,
-+	.clkdm_name	= "ivahd_clkdm",
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_iva_seq0_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_seq0_resets),
-@@ -2646,6 +2686,7 @@ static struct omap_hwmod omap44xx_iva_seq0_hwmod = {
- static struct omap_hwmod omap44xx_iva_seq1_hwmod = {
- 	.name		= "iva_seq1",
- 	.class		= &omap44xx_iva_hwmod_class,
-+	.clkdm_name	= "ivahd_clkdm",
- 	.flags		= HWMOD_INIT_NO_RESET,
- 	.rst_lines	= omap44xx_iva_seq1_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_seq1_resets),
-@@ -2660,6 +2701,7 @@ static struct omap_hwmod omap44xx_iva_seq1_hwmod = {
- static struct omap_hwmod omap44xx_iva_hwmod = {
- 	.name		= "iva",
- 	.class		= &omap44xx_iva_hwmod_class,
-+	.clkdm_name	= "ivahd_clkdm",
- 	.mpu_irqs	= omap44xx_iva_irqs,
- 	.rst_lines	= omap44xx_iva_resets,
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_resets),
-@@ -2732,6 +2774,7 @@ static struct omap_hwmod_ocp_if *omap44xx_kbd_slaves[] = {
- static struct omap_hwmod omap44xx_kbd_hwmod = {
- 	.name		= "kbd",
- 	.class		= &omap44xx_kbd_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.mpu_irqs	= omap44xx_kbd_irqs,
- 	.main_clk	= "kbd_fck",
- 	.prcm = {
-@@ -2797,6 +2840,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mailbox_slaves[] = {
- static struct omap_hwmod omap44xx_mailbox_hwmod = {
- 	.name		= "mailbox",
- 	.class		= &omap44xx_mailbox_hwmod_class,
-+	.clkdm_name	= "l4_cfg_clkdm",
- 	.mpu_irqs	= omap44xx_mailbox_irqs,
- 	.prcm = {
- 		.omap4 = {
-@@ -2887,6 +2931,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mcbsp1_slaves[] = {
- static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 	.name		= "mcbsp1",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_mcbsp1_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp1_sdma_reqs,
- 	.main_clk	= "mcbsp1_fck",
-@@ -2960,6 +3005,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mcbsp2_slaves[] = {
- static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 	.name		= "mcbsp2",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_mcbsp2_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp2_sdma_reqs,
- 	.main_clk	= "mcbsp2_fck",
-@@ -3033,6 +3079,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mcbsp3_slaves[] = {
- static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 	.name		= "mcbsp3",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_mcbsp3_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp3_sdma_reqs,
- 	.main_clk	= "mcbsp3_fck",
-@@ -3085,6 +3132,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mcbsp4_slaves[] = {
- static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 	.name		= "mcbsp4",
- 	.class		= &omap44xx_mcbsp_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mcbsp4_irqs,
- 	.sdma_reqs	= omap44xx_mcbsp4_sdma_reqs,
- 	.main_clk	= "mcbsp4_fck",
-@@ -3177,6 +3225,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mcpdm_slaves[] = {
- static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.name		= "mcpdm",
- 	.class		= &omap44xx_mcpdm_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_mcpdm_irqs,
- 	.sdma_reqs	= omap44xx_mcpdm_sdma_reqs,
- 	.main_clk	= "mcpdm_fck",
-@@ -3262,6 +3311,7 @@ static struct omap2_mcspi_dev_attr mcspi1_dev_attr = {
- static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 	.name		= "mcspi1",
- 	.class		= &omap44xx_mcspi_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mcspi1_irqs,
- 	.sdma_reqs	= omap44xx_mcspi1_sdma_reqs,
- 	.main_clk	= "mcspi1_fck",
-@@ -3322,6 +3372,7 @@ static struct omap2_mcspi_dev_attr mcspi2_dev_attr = {
- static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 	.name		= "mcspi2",
- 	.class		= &omap44xx_mcspi_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mcspi2_irqs,
- 	.sdma_reqs	= omap44xx_mcspi2_sdma_reqs,
- 	.main_clk	= "mcspi2_fck",
-@@ -3382,6 +3433,7 @@ static struct omap2_mcspi_dev_attr mcspi3_dev_attr = {
- static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 	.name		= "mcspi3",
- 	.class		= &omap44xx_mcspi_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mcspi3_irqs,
- 	.sdma_reqs	= omap44xx_mcspi3_sdma_reqs,
- 	.main_clk	= "mcspi3_fck",
-@@ -3440,6 +3492,7 @@ static struct omap2_mcspi_dev_attr mcspi4_dev_attr = {
- static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 	.name		= "mcspi4",
- 	.class		= &omap44xx_mcspi_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mcspi4_irqs,
- 	.sdma_reqs	= omap44xx_mcspi4_sdma_reqs,
- 	.main_clk	= "mcspi4_fck",
-@@ -3524,6 +3577,7 @@ static struct omap_mmc_dev_attr mmc1_dev_attr = {
- static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.name		= "mmc1",
- 	.class		= &omap44xx_mmc_hwmod_class,
-+	.clkdm_name	= "l3_init_clkdm",
- 	.mpu_irqs	= omap44xx_mmc1_irqs,
- 	.sdma_reqs	= omap44xx_mmc1_sdma_reqs,
- 	.main_clk	= "mmc1_fck",
-@@ -3583,6 +3637,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mmc2_slaves[] = {
- static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.name		= "mmc2",
- 	.class		= &omap44xx_mmc_hwmod_class,
-+	.clkdm_name	= "l3_init_clkdm",
- 	.mpu_irqs	= omap44xx_mmc2_irqs,
- 	.sdma_reqs	= omap44xx_mmc2_sdma_reqs,
- 	.main_clk	= "mmc2_fck",
-@@ -3637,6 +3692,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mmc3_slaves[] = {
- static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.name		= "mmc3",
- 	.class		= &omap44xx_mmc_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mmc3_irqs,
- 	.sdma_reqs	= omap44xx_mmc3_sdma_reqs,
- 	.main_clk	= "mmc3_fck",
-@@ -3689,6 +3745,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mmc4_slaves[] = {
- static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 	.name		= "mmc4",
- 	.class		= &omap44xx_mmc_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mmc4_irqs,
- 
- 	.sdma_reqs	= omap44xx_mmc4_sdma_reqs,
-@@ -3742,6 +3799,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mmc5_slaves[] = {
- static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.name		= "mmc5",
- 	.class		= &omap44xx_mmc_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_mmc5_irqs,
- 	.sdma_reqs	= omap44xx_mmc5_sdma_reqs,
- 	.main_clk	= "mmc5_fck",
-@@ -3782,6 +3840,7 @@ static struct omap_hwmod_ocp_if *omap44xx_mpu_masters[] = {
- static struct omap_hwmod omap44xx_mpu_hwmod = {
- 	.name		= "mpu",
- 	.class		= &omap44xx_mpu_hwmod_class,
-+	.clkdm_name	= "mpuss_clkdm",
- 	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_mpu_irqs,
- 	.main_clk	= "dpll_mpu_m2_ck",
-@@ -3854,6 +3913,7 @@ static struct omap_hwmod_ocp_if *omap44xx_smartreflex_core_slaves[] = {
- static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- 	.name		= "smartreflex_core",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
-+	.clkdm_name	= "l4_ao_clkdm",
- 	.mpu_irqs	= omap44xx_smartreflex_core_irqs,
- 
- 	.main_clk	= "smartreflex_core_fck",
-@@ -3901,6 +3961,7 @@ static struct omap_hwmod_ocp_if *omap44xx_smartreflex_iva_slaves[] = {
- static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- 	.name		= "smartreflex_iva",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
-+	.clkdm_name	= "l4_ao_clkdm",
- 	.mpu_irqs	= omap44xx_smartreflex_iva_irqs,
- 	.main_clk	= "smartreflex_iva_fck",
- 	.vdd_name	= "iva",
-@@ -3947,6 +4008,7 @@ static struct omap_hwmod_ocp_if *omap44xx_smartreflex_mpu_slaves[] = {
- static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
- 	.name		= "smartreflex_mpu",
- 	.class		= &omap44xx_smartreflex_hwmod_class,
-+	.clkdm_name	= "l4_ao_clkdm",
- 	.mpu_irqs	= omap44xx_smartreflex_mpu_irqs,
- 	.main_clk	= "smartreflex_mpu_fck",
- 	.vdd_name	= "mpu",
-@@ -4011,6 +4073,7 @@ static struct omap_hwmod_ocp_if *omap44xx_spinlock_slaves[] = {
- static struct omap_hwmod omap44xx_spinlock_hwmod = {
- 	.name		= "spinlock",
- 	.class		= &omap44xx_spinlock_hwmod_class,
-+	.clkdm_name	= "l4_cfg_clkdm",
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_reg = OMAP4430_CM_L4CFG_HW_SEM_CLKCTRL,
-@@ -4092,6 +4155,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer1_slaves[] = {
- static struct omap_hwmod omap44xx_timer1_hwmod = {
- 	.name		= "timer1",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.mpu_irqs	= omap44xx_timer1_irqs,
- 	.main_clk	= "timer1_fck",
- 	.prcm = {
-@@ -4137,6 +4201,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer2_slaves[] = {
- static struct omap_hwmod omap44xx_timer2_hwmod = {
- 	.name		= "timer2",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer2_irqs,
- 	.main_clk	= "timer2_fck",
- 	.prcm = {
-@@ -4182,6 +4247,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer3_slaves[] = {
- static struct omap_hwmod omap44xx_timer3_hwmod = {
- 	.name		= "timer3",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer3_irqs,
- 	.main_clk	= "timer3_fck",
- 	.prcm = {
-@@ -4227,6 +4293,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer4_slaves[] = {
- static struct omap_hwmod omap44xx_timer4_hwmod = {
- 	.name		= "timer4",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer4_irqs,
- 	.main_clk	= "timer4_fck",
- 	.prcm = {
-@@ -4291,6 +4358,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer5_slaves[] = {
- static struct omap_hwmod omap44xx_timer5_hwmod = {
- 	.name		= "timer5",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_timer5_irqs,
- 	.main_clk	= "timer5_fck",
- 	.prcm = {
-@@ -4355,6 +4423,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer6_slaves[] = {
- static struct omap_hwmod omap44xx_timer6_hwmod = {
- 	.name		= "timer6",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_timer6_irqs,
- 
- 	.main_clk	= "timer6_fck",
-@@ -4420,6 +4489,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer7_slaves[] = {
- static struct omap_hwmod omap44xx_timer7_hwmod = {
- 	.name		= "timer7",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_timer7_irqs,
- 	.main_clk	= "timer7_fck",
- 	.prcm = {
-@@ -4484,6 +4554,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer8_slaves[] = {
- static struct omap_hwmod omap44xx_timer8_hwmod = {
- 	.name		= "timer8",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_timer8_irqs,
- 	.main_clk	= "timer8_fck",
- 	.prcm = {
-@@ -4529,6 +4600,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer9_slaves[] = {
- static struct omap_hwmod omap44xx_timer9_hwmod = {
- 	.name		= "timer9",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer9_irqs,
- 	.main_clk	= "timer9_fck",
- 	.prcm = {
-@@ -4574,6 +4646,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer10_slaves[] = {
- static struct omap_hwmod omap44xx_timer10_hwmod = {
- 	.name		= "timer10",
- 	.class		= &omap44xx_timer_1ms_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer10_irqs,
- 	.main_clk	= "timer10_fck",
- 	.prcm = {
-@@ -4619,6 +4692,7 @@ static struct omap_hwmod_ocp_if *omap44xx_timer11_slaves[] = {
- static struct omap_hwmod omap44xx_timer11_hwmod = {
- 	.name		= "timer11",
- 	.class		= &omap44xx_timer_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_timer11_irqs,
- 	.main_clk	= "timer11_fck",
- 	.prcm = {
-@@ -4692,6 +4766,7 @@ static struct omap_hwmod_ocp_if *omap44xx_uart1_slaves[] = {
- static struct omap_hwmod omap44xx_uart1_hwmod = {
- 	.name		= "uart1",
- 	.class		= &omap44xx_uart_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_uart1_irqs,
- 	.sdma_reqs	= omap44xx_uart1_sdma_reqs,
- 	.main_clk	= "uart1_fck",
-@@ -4744,6 +4819,7 @@ static struct omap_hwmod_ocp_if *omap44xx_uart2_slaves[] = {
- static struct omap_hwmod omap44xx_uart2_hwmod = {
- 	.name		= "uart2",
- 	.class		= &omap44xx_uart_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_uart2_irqs,
- 	.sdma_reqs	= omap44xx_uart2_sdma_reqs,
- 	.main_clk	= "uart2_fck",
-@@ -4796,6 +4872,7 @@ static struct omap_hwmod_ocp_if *omap44xx_uart3_slaves[] = {
- static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.name		= "uart3",
- 	.class		= &omap44xx_uart_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.flags		= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET,
- 	.mpu_irqs	= omap44xx_uart3_irqs,
- 	.sdma_reqs	= omap44xx_uart3_sdma_reqs,
-@@ -4849,6 +4926,7 @@ static struct omap_hwmod_ocp_if *omap44xx_uart4_slaves[] = {
- static struct omap_hwmod omap44xx_uart4_hwmod = {
- 	.name		= "uart4",
- 	.class		= &omap44xx_uart_hwmod_class,
-+	.clkdm_name	= "l4_per_clkdm",
- 	.mpu_irqs	= omap44xx_uart4_irqs,
- 	.sdma_reqs	= omap44xx_uart4_sdma_reqs,
- 	.main_clk	= "uart4_fck",
-@@ -4927,6 +5005,7 @@ static struct omap_hwmod_opt_clk usb_otg_hs_opt_clks[] = {
- static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 	.name		= "usb_otg_hs",
- 	.class		= &omap44xx_usb_otg_hs_hwmod_class,
-+	.clkdm_name	= "l3_init_clkdm",
- 	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
- 	.mpu_irqs	= omap44xx_usb_otg_hs_irqs,
- 	.main_clk	= "usb_otg_hs_ick",
-@@ -5000,6 +5079,7 @@ static struct omap_hwmod_ocp_if *omap44xx_wd_timer2_slaves[] = {
- static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- 	.name		= "wd_timer2",
- 	.class		= &omap44xx_wd_timer_hwmod_class,
-+	.clkdm_name	= "l4_wkup_clkdm",
- 	.mpu_irqs	= omap44xx_wd_timer2_irqs,
- 	.main_clk	= "wd_timer2_fck",
- 	.prcm = {
-@@ -5064,6 +5144,7 @@ static struct omap_hwmod_ocp_if *omap44xx_wd_timer3_slaves[] = {
- static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
- 	.name		= "wd_timer3",
- 	.class		= &omap44xx_wd_timer_hwmod_class,
-+	.clkdm_name	= "abe_clkdm",
- 	.mpu_irqs	= omap44xx_wd_timer3_irqs,
- 	.main_clk	= "wd_timer3_fck",
- 	.prcm = {
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index fafdfe3..21d3922 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -515,6 +515,7 @@ struct omap_hwmod {
- 	const char			*main_clk;
- 	struct clk			*_clk;
- 	struct omap_hwmod_opt_clk	*opt_clks;
-+	char				*clkdm_name;
- 	char				*vdd_name;
- 	struct voltagedomain		*voltdm;
- 	struct omap_hwmod_ocp_if	**masters; /* connect to *_IA */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0078-OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0078-OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch
deleted file mode 100644
index db4e932..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0078-OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From 57d2323014444c5d7f8c8d7e2da0a9737c3d8c28 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:30 -0600
-Subject: [PATCH 078/149] OMAP2+: hwmod: Init clkdm field at boot time
-
-At boot time, lookup the clkdm_name to get the clkdm
-structure pointer for further usage.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   34 +++++++++++++++++++++++++-
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 +
- 2 files changed, 34 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 02b6016..1f6f47f 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -990,9 +990,40 @@ static struct omap_hwmod *_lookup(const char *name)
- 
- 	return oh;
- }
-+/**
-+ * _init_clkdm - look up a clockdomain name, store pointer in omap_hwmod
-+ * @oh: struct omap_hwmod *
-+ *
-+ * Convert a clockdomain name stored in a struct omap_hwmod into a
-+ * clockdomain pointer, and save it into the struct omap_hwmod.
-+ * return -EINVAL if clkdm_name does not exist or if the lookup failed.
-+ */
-+static int _init_clkdm(struct omap_hwmod *oh)
-+{
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		return 0;
-+
-+	if (!oh->clkdm_name) {
-+		pr_warning("omap_hwmod: %s: no clkdm_name\n", oh->name);
-+		return -EINVAL;
-+	}
-+
-+	oh->clkdm = clkdm_lookup(oh->clkdm_name);
-+	if (!oh->clkdm) {
-+		pr_warning("omap_hwmod: %s: could not associate to clkdm %s\n",
-+			oh->name, oh->clkdm_name);
-+		return -EINVAL;
-+	}
-+
-+	pr_debug("omap_hwmod: %s: associated to clkdm %s\n",
-+		oh->name, oh->clkdm_name);
-+
-+	return 0;
-+}
- 
- /**
-- * _init_clocks - clk_get() all clocks associated with this hwmod
-+ * _init_clocks - clk_get() all clocks associated with this hwmod. Retrieve as
-+ * well the clockdomain.
-  * @oh: struct omap_hwmod *
-  * @data: not used; pass NULL
-  *
-@@ -1012,6 +1043,7 @@ static int _init_clocks(struct omap_hwmod *oh, void *data)
- 	ret |= _init_main_clk(oh);
- 	ret |= _init_interface_clks(oh);
- 	ret |= _init_opt_clks(oh);
-+	ret |= _init_clkdm(oh);
- 
- 	if (!ret)
- 		oh->_state = _HWMOD_STATE_CLKS_INITED;
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 21d3922..3306bdf 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -516,6 +516,7 @@ struct omap_hwmod {
- 	struct clk			*_clk;
- 	struct omap_hwmod_opt_clk	*opt_clks;
- 	char				*clkdm_name;
-+	struct clockdomain		*clkdm;
- 	char				*vdd_name;
- 	struct voltagedomain		*voltdm;
- 	struct omap_hwmod_ocp_if	**masters; /* connect to *_IA */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0079-OMAP4-hwmod-Replace-CLKCTRL-absolute-address-with-of.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0079-OMAP4-hwmod-Replace-CLKCTRL-absolute-address-with-of.patch
deleted file mode 100644
index ba3120f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0079-OMAP4-hwmod-Replace-CLKCTRL-absolute-address-with-of.patch
+++ /dev/null
@@ -1,976 +0,0 @@
-From d112244b9ada88d33ac8e856587a4645c8f11e80 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:30 -0600
-Subject: [PATCH 079/149] OMAP4: hwmod: Replace CLKCTRL absolute address with offset macros
-
-The CLKCTRL register was accessed using an absolute address.
-The usage of hardcoded macros to calculate virtual address from physical
-one should be avoided as much as possible.
-The usage of a offset will allow future improvement like migration from
-the current architecture code toward a module driver.
-
-Update cm_xxx accessor, move definition to the proper header file and
-update copyrights.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Todd Poynor <toddpoynor at google.com>
-[paul at pwsan.com: renamed 'omap4_cm_' fns to 'omap4_cminst_'; removed empty
- fn prototype section from cm44xx.h; incorporated comments from Todd;
- documented some functions]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/cm44xx.h                 |    8 +-
- arch/arm/mach-omap2/cminst44xx.c             |   87 ++++++++++---
- arch/arm/mach-omap2/cminst44xx.h             |    4 +-
- arch/arm/mach-omap2/omap_hwmod.c             |   12 ++-
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |  182 ++++++++++++++++---------
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    2 +-
- 6 files changed, 198 insertions(+), 97 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/cm44xx.h b/arch/arm/mach-omap2/cm44xx.h
-index 0b87ec8..3380bee 100644
---- a/arch/arm/mach-omap2/cm44xx.h
-+++ b/arch/arm/mach-omap2/cm44xx.h
-@@ -1,7 +1,7 @@
- /*
-  * OMAP4 Clock Management (CM) definitions
-  *
-- * Copyright (C) 2007-2009 Texas Instruments, Inc.
-+ * Copyright (C) 2007-2011 Texas Instruments, Inc.
-  * Copyright (C) 2007-2009 Nokia Corporation
-  *
-  * Written by Paul Walmsley
-@@ -23,10 +23,4 @@
- #define OMAP4_CM_CLKSTCTRL				0x0000
- #define OMAP4_CM_STATICDEP				0x0004
- 
--/* Function prototypes */
--# ifndef __ASSEMBLER__
--
--extern int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg);
--
--# endif
- #endif
-diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
-index a482bfa..9033dd4 100644
---- a/arch/arm/mach-omap2/cminst44xx.c
-+++ b/arch/arm/mach-omap2/cminst44xx.c
-@@ -2,6 +2,7 @@
-  * OMAP4 CM instance functions
-  *
-  * Copyright (C) 2009 Nokia Corporation
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -32,6 +33,22 @@
- #include "prm44xx.h"
- #include "prcm_mpu44xx.h"
- 
-+/*
-+ * CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield:
-+ *
-+ *   0x0 func:     Module is fully functional, including OCP
-+ *   0x1 trans:    Module is performing transition: wakeup, or sleep, or sleep
-+ *                 abortion
-+ *   0x2 idle:     Module is in Idle mode (only OCP part). It is functional if
-+ *                 using separate functional clock
-+ *   0x3 disabled: Module is disabled and cannot be accessed
-+ *
-+ */
-+#define CLKCTRL_IDLEST_FUNCTIONAL		0x0
-+#define CLKCTRL_IDLEST_INTRANSITION		0x1
-+#define CLKCTRL_IDLEST_INTERFACE_IDLE		0x2
-+#define CLKCTRL_IDLEST_DISABLED			0x3
-+
- static u32 _cm_bases[OMAP4_MAX_PRCM_PARTITIONS] = {
- 	[OMAP4430_INVALID_PRCM_PARTITION]	= 0,
- 	[OMAP4430_PRM_PARTITION]		= OMAP4430_PRM_BASE,
-@@ -41,6 +58,48 @@ static u32 _cm_bases[OMAP4_MAX_PRCM_PARTITIONS] = {
- 	[OMAP4430_PRCM_MPU_PARTITION]		= OMAP4430_PRCM_MPU_BASE,
- };
- 
-+/* Private functions */
-+
-+/**
-+ * _clkctrl_idlest - read a CM_*_CLKCTRL register; mask & shift IDLEST bitfield
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-+ *
-+ * Return the IDLEST bitfield of a CM_*_CLKCTRL register, shifted down to
-+ * bit 0.
-+ */
-+static u32 _clkctrl_idlest(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs)
-+{
-+	u32 v = omap4_cminst_read_inst_reg(part, inst, clkctrl_offs);
-+	v &= OMAP4430_IDLEST_MASK;
-+	v >>= OMAP4430_IDLEST_SHIFT;
-+	return v;
-+}
-+
-+/**
-+ * _is_module_ready - can module registers be accessed without causing an abort?
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-+ *
-+ * Returns true if the module's CM_*_CLKCTRL.IDLEST bitfield is either
-+ * *FUNCTIONAL or *INTERFACE_IDLE; false otherwise.
-+ */
-+static bool _is_module_ready(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs)
-+{
-+	u32 v;
-+
-+	v = _clkctrl_idlest(part, inst, cdoffs, clkctrl_offs);
-+
-+	return (v == CLKCTRL_IDLEST_FUNCTIONAL ||
-+		v == CLKCTRL_IDLEST_INTERFACE_IDLE) ? true : false;
-+}
-+
-+/* Public functions */
-+
- /* Read a register in a CM instance */
- u32 omap4_cminst_read_inst_reg(u8 part, s16 inst, u16 idx)
- {
-@@ -200,35 +259,27 @@ void omap4_cminst_clkdm_force_wakeup(u8 part, s16 inst, u16 cdoffs)
-  */
- 
- /**
-- * omap4_cm_wait_module_ready - wait for a module to be in 'func' state
-- * @clkctrl_reg: CLKCTRL module address
-+ * omap4_cminst_wait_module_ready - wait for a module to be in 'func' state
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-  *
-  * Wait for the module IDLEST to be functional. If the idle state is in any
-  * the non functional state (trans, idle or disabled), module and thus the
-  * sysconfig cannot be accessed and will probably lead to an "imprecise
-  * external abort"
-- *
-- * Module idle state:
-- *   0x0 func:     Module is fully functional, including OCP
-- *   0x1 trans:    Module is performing transition: wakeup, or sleep, or sleep
-- *                 abortion
-- *   0x2 idle:     Module is in Idle mode (only OCP part). It is functional if
-- *                 using separate functional clock
-- *   0x3 disabled: Module is disabled and cannot be accessed
-- *
-  */
--int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg)
-+int omap4_cminst_wait_module_ready(u8 part, u16 inst, s16 cdoffs,
-+				   u16 clkctrl_offs)
- {
- 	int i = 0;
- 
--	if (!clkctrl_reg)
-+	if (!clkctrl_offs)
- 		return 0;
- 
--	omap_test_timeout((
--		((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) == 0) ||
--		 (((__raw_readl(clkctrl_reg) & OMAP4430_IDLEST_MASK) >>
--		  OMAP4430_IDLEST_SHIFT) == 0x2)),
--		MAX_MODULE_READY_TIME, i);
-+	omap_test_timeout(_is_module_ready(part, inst, cdoffs, clkctrl_offs),
-+			  MAX_MODULE_READY_TIME, i);
- 
- 	return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
- }
-diff --git a/arch/arm/mach-omap2/cminst44xx.h b/arch/arm/mach-omap2/cminst44xx.h
-index 2b32c18..8eba2ae 100644
---- a/arch/arm/mach-omap2/cminst44xx.h
-+++ b/arch/arm/mach-omap2/cminst44xx.h
-@@ -17,6 +17,8 @@ extern void omap4_cminst_clkdm_disable_hwsup(u8 part, s16 inst, u16 cdoffs);
- extern void omap4_cminst_clkdm_force_sleep(u8 part, s16 inst, u16 cdoffs);
- extern void omap4_cminst_clkdm_force_wakeup(u8 part, s16 inst, u16 cdoffs);
- 
-+extern int omap4_cminst_wait_module_ready(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);
-+
- /*
-  * In an ideal world, we would not export these low-level functions,
-  * but this will probably take some time to fix properly
-@@ -32,6 +34,4 @@ extern u32 omap4_cminst_clear_inst_reg_bits(u32 bits, u8 part, s16 inst,
- extern u32 omap4_cminst_read_inst_reg_bits(u8 part, u16 inst, s16 idx,
- 					   u32 mask);
- 
--extern int omap4_cm_wait_module_ready(void __iomem *clkctrl_reg);
--
- #endif
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 1f6f47f..00241ea 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -146,7 +146,7 @@
- #include <plat/prcm.h>
- 
- #include "cm2xxx_3xxx.h"
--#include "cm44xx.h"
-+#include "cminst44xx.h"
- #include "prm2xxx_3xxx.h"
- #include "prm44xx.h"
- #include "mux.h"
-@@ -1060,7 +1060,7 @@ static int _init_clocks(struct omap_hwmod *oh, void *data)
-  * Wait for a module @oh to leave slave idle.  Returns 0 if the module
-  * does not have an IDLEST bit or if the module successfully leaves
-  * slave idle; otherwise, pass along the return value of the
-- * appropriate *_cm_wait_module_ready() function.
-+ * appropriate *_cm*_wait_module_ready() function.
-  */
- static int _wait_target_ready(struct omap_hwmod *oh)
- {
-@@ -1087,7 +1087,13 @@ static int _wait_target_ready(struct omap_hwmod *oh)
- 						 oh->prcm.omap2.idlest_reg_id,
- 						 oh->prcm.omap2.idlest_idle_bit);
- 	} else if (cpu_is_omap44xx()) {
--		ret = omap4_cm_wait_module_ready(oh->prcm.omap4.clkctrl_reg);
-+		if (!oh->clkdm)
-+			return -EINVAL;
-+
-+		ret = omap4_cminst_wait_module_ready(oh->clkdm->prcm_partition,
-+						     oh->clkdm->cm_inst,
-+						     oh->clkdm->clkdm_offs,
-+						     oh->prcm.omap4.clkctrl_offs);
- 	} else {
- 		BUG();
- 	};
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index becae45..00d7130 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -124,6 +124,11 @@ static struct omap_hwmod omap44xx_dmm_hwmod = {
- 	.name		= "dmm",
- 	.class		= &omap44xx_dmm_hwmod_class,
- 	.clkdm_name	= "l3_emif_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_dmm_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_dmm_slaves),
- 	.mpu_irqs	= omap44xx_dmm_irqs,
-@@ -175,6 +180,11 @@ static struct omap_hwmod omap44xx_emif_fw_hwmod = {
- 	.name		= "emif_fw",
- 	.class		= &omap44xx_emif_fw_hwmod_class,
- 	.clkdm_name	= "l3_emif_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_MEMIF_EMIF_FW_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_emif_fw_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_emif_fw_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -215,6 +225,11 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- 	.name		= "l3_instr",
- 	.class		= &omap44xx_l3_hwmod_class,
- 	.clkdm_name	= "l3_instr_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l3_instr_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_instr_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -309,6 +324,11 @@ static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.class		= &omap44xx_l3_hwmod_class,
- 	.clkdm_name	= "l3_1_clkdm",
- 	.mpu_irqs	= omap44xx_l3_main_1_irqs,
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l3_main_1_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_1_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -405,6 +425,11 @@ static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
- 	.name		= "l3_main_2",
- 	.class		= &omap44xx_l3_hwmod_class,
- 	.clkdm_name	= "l3_2_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L3_2_L3_2_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l3_main_2_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_2_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -456,6 +481,11 @@ static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
- 	.name		= "l3_main_3",
- 	.class		= &omap44xx_l3_hwmod_class,
- 	.clkdm_name	= "l3_instr_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_3_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l3_main_3_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l3_main_3_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -514,6 +544,11 @@ static struct omap_hwmod omap44xx_l4_abe_hwmod = {
- 	.name		= "l4_abe",
- 	.class		= &omap44xx_l4_hwmod_class,
- 	.clkdm_name	= "abe_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM1_ABE_L4ABE_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l4_abe_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_abe_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -537,6 +572,11 @@ static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
- 	.name		= "l4_cfg",
- 	.class		= &omap44xx_l4_hwmod_class,
- 	.clkdm_name	= "l4_cfg_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l4_cfg_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_cfg_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -560,6 +600,11 @@ static struct omap_hwmod omap44xx_l4_per_hwmod = {
- 	.name		= "l4_per",
- 	.class		= &omap44xx_l4_hwmod_class,
- 	.clkdm_name	= "l4_per_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_L4PER_L4PER_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l4_per_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_per_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -583,6 +628,11 @@ static struct omap_hwmod omap44xx_l4_wkup_hwmod = {
- 	.name		= "l4_wkup",
- 	.class		= &omap44xx_l4_hwmod_class,
- 	.clkdm_name	= "l4_wkup_clkdm",
-+	.prcm = {
-+		.omap4 = {
-+			.clkctrl_offs = OMAP4_CM_WKUP_L4WKUP_CLKCTRL_OFFSET,
-+		},
-+	},
- 	.slaves		= omap44xx_l4_wkup_slaves,
- 	.slaves_cnt	= ARRAY_SIZE(omap44xx_l4_wkup_slaves),
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -758,7 +808,7 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.main_clk	= "aess_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_AESS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_aess_slaves,
-@@ -788,7 +838,7 @@ static struct omap_hwmod omap44xx_bandgap_hwmod = {
- 	.clkdm_name	= "l4_wkup_clkdm",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_BANDGAP_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_BANDGAP_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= bandgap_opt_clks,
-@@ -848,7 +898,7 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = {
- 	.main_clk	= "sys_32k_ck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_SYNCTIMER_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_SYNCTIMER_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_counter_32k_slaves,
-@@ -932,7 +982,7 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {
- 	.main_clk	= "l3_div_ck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_SDMA_SDMA_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_SDMA_SDMA_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &dma_dev_attr,
-@@ -1026,7 +1076,7 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.main_clk	= "dmic_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_DMIC_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_DMIC_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dmic_slaves,
-@@ -1110,7 +1160,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
- 	.main_clk	= "dsp_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_TESLA_TESLA_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
- 			.rstctrl_reg = OMAP4430_RM_TESLA_RSTCTRL,
- 		},
- 	},
-@@ -1199,7 +1249,7 @@ static struct omap_hwmod omap44xx_dss_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_opt_clks,
-@@ -1303,7 +1353,7 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dispc_opt_clks,
-@@ -1401,7 +1451,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dsi1_opt_clks,
-@@ -1478,7 +1528,7 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dsi2_opt_clks,
-@@ -1575,7 +1625,7 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_hdmi_opt_clks,
-@@ -1666,7 +1716,7 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_rfbi_opt_clks,
-@@ -1736,7 +1786,7 @@ static struct omap_hwmod omap44xx_dss_venc_hwmod = {
- 	.main_clk	= "dss_dss_clk",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DSS_DSS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dss_venc_slaves,
-@@ -1815,7 +1865,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
- 	.main_clk	= "gpio1_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_GPIO1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio1_opt_clks,
-@@ -1869,7 +1919,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
- 	.main_clk	= "gpio2_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_GPIO2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_GPIO2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio2_opt_clks,
-@@ -1923,7 +1973,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
- 	.main_clk	= "gpio3_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_GPIO3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_GPIO3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio3_opt_clks,
-@@ -1977,7 +2027,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
- 	.main_clk	= "gpio4_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_GPIO4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_GPIO4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio4_opt_clks,
-@@ -2031,7 +2081,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
- 	.main_clk	= "gpio5_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_GPIO5_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_GPIO5_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio5_opt_clks,
-@@ -2085,7 +2135,7 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {
- 	.main_clk	= "gpio6_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_GPIO6_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_GPIO6_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio6_opt_clks,
-@@ -2164,7 +2214,7 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
- 	.main_clk	= "hsi_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L3INIT_HSI_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L3INIT_HSI_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_hsi_slaves,
-@@ -2247,7 +2297,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.main_clk	= "i2c1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_I2C1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_I2C1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c1_slaves,
-@@ -2302,7 +2352,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.main_clk	= "i2c2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_I2C2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_I2C2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c2_slaves,
-@@ -2357,7 +2407,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.main_clk	= "i2c3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_I2C3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_I2C3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c3_slaves,
-@@ -2412,7 +2462,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.main_clk	= "i2c4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_I2C4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_I2C4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c4_slaves,
-@@ -2508,7 +2558,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 	.main_clk	= "ipu_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_DUCATI_DUCATI_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
- 			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
- 		},
- 	},
-@@ -2595,7 +2645,7 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.main_clk	= "iss_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_CAM_ISS_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_CAM_ISS_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= iss_opt_clks,
-@@ -2708,7 +2758,7 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
- 	.main_clk	= "iva_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_IVAHD_IVAHD_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
- 			.rstctrl_reg = OMAP4430_RM_IVAHD_RSTCTRL,
- 		},
- 	},
-@@ -2779,7 +2829,7 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
- 	.main_clk	= "kbd_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_KEYBOARD_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_kbd_slaves,
-@@ -2844,7 +2894,7 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {
- 	.mpu_irqs	= omap44xx_mailbox_irqs,
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4CFG_MAILBOX_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mailbox_slaves,
-@@ -2937,7 +2987,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 	.main_clk	= "mcbsp1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_MCBSP1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp1_slaves,
-@@ -3011,7 +3061,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 	.main_clk	= "mcbsp2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_MCBSP2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp2_slaves,
-@@ -3085,7 +3135,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 	.main_clk	= "mcbsp3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_MCBSP3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp3_slaves,
-@@ -3138,7 +3188,7 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 	.main_clk	= "mcbsp4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MCBSP4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MCBSP4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp4_slaves,
-@@ -3231,7 +3281,7 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.main_clk	= "mcpdm_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_PDM_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_PDM_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcpdm_slaves,
-@@ -3317,7 +3367,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 	.main_clk	= "mcspi1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MCSPI1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi1_dev_attr,
-@@ -3378,7 +3428,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 	.main_clk	= "mcspi2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MCSPI2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi2_dev_attr,
-@@ -3439,7 +3489,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 	.main_clk	= "mcspi3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MCSPI3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi3_dev_attr,
-@@ -3498,7 +3548,7 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 	.main_clk	= "mcspi4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MCSPI4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi4_dev_attr,
-@@ -3583,7 +3633,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.main_clk	= "mmc1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L3INIT_MMC1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mmc1_dev_attr,
-@@ -3643,7 +3693,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.main_clk	= "mmc2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L3INIT_MMC2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L3INIT_MMC2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc2_slaves,
-@@ -3698,7 +3748,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.main_clk	= "mmc3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc3_slaves,
-@@ -3752,7 +3802,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 	.main_clk	= "mmc4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc4_slaves,
-@@ -3805,7 +3855,7 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.main_clk	= "mmc5_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_MMCSD5_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD5_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc5_slaves,
-@@ -3846,7 +3896,7 @@ static struct omap_hwmod omap44xx_mpu_hwmod = {
- 	.main_clk	= "dpll_mpu_m2_ck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_MPU_MPU_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_MPU_MPU_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.masters	= omap44xx_mpu_masters,
-@@ -3920,7 +3970,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- 	.vdd_name	= "core",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_ALWON_SR_CORE_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_ALWON_SR_CORE_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_core_slaves,
-@@ -3967,7 +4017,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- 	.vdd_name	= "iva",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_ALWON_SR_IVA_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_ALWON_SR_IVA_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_iva_slaves,
-@@ -4014,7 +4064,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
- 	.vdd_name	= "mpu",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_ALWON_SR_MPU_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_ALWON_SR_MPU_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_mpu_slaves,
-@@ -4076,7 +4126,7 @@ static struct omap_hwmod omap44xx_spinlock_hwmod = {
- 	.clkdm_name	= "l4_cfg_clkdm",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4CFG_HW_SEM_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4CFG_HW_SEM_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_spinlock_slaves,
-@@ -4160,7 +4210,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
- 	.main_clk	= "timer1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_TIMER1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer1_slaves,
-@@ -4206,7 +4256,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
- 	.main_clk	= "timer2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer2_slaves,
-@@ -4252,7 +4302,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
- 	.main_clk	= "timer3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer3_slaves,
-@@ -4298,7 +4348,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
- 	.main_clk	= "timer4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer4_slaves,
-@@ -4363,7 +4413,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
- 	.main_clk	= "timer5_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_TIMER5_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_TIMER5_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer5_slaves,
-@@ -4429,7 +4479,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
- 	.main_clk	= "timer6_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_TIMER6_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_TIMER6_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer6_slaves,
-@@ -4494,7 +4544,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
- 	.main_clk	= "timer7_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_TIMER7_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_TIMER7_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer7_slaves,
-@@ -4559,7 +4609,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
- 	.main_clk	= "timer8_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_TIMER8_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_TIMER8_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer8_slaves,
-@@ -4605,7 +4655,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
- 	.main_clk	= "timer9_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER9_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER9_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer9_slaves,
-@@ -4651,7 +4701,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
- 	.main_clk	= "timer10_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER10_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER10_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer10_slaves,
-@@ -4697,7 +4747,7 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {
- 	.main_clk	= "timer11_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_DMTIMER11_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER11_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer11_slaves,
-@@ -4772,7 +4822,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- 	.main_clk	= "uart1_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_UART1_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_UART1_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart1_slaves,
-@@ -4825,7 +4875,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- 	.main_clk	= "uart2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_UART2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_UART2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart2_slaves,
-@@ -4879,7 +4929,7 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.main_clk	= "uart3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_UART3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart3_slaves,
-@@ -4932,7 +4982,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
- 	.main_clk	= "uart4_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L4PER_UART4_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L4PER_UART4_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart4_slaves,
-@@ -5011,7 +5061,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 	.main_clk	= "usb_otg_hs_ick",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_L3INIT_USB_OTG_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_L3INIT_USB_OTG_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.opt_clks	= usb_otg_hs_opt_clks,
-@@ -5084,7 +5134,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- 	.main_clk	= "wd_timer2_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM_WKUP_WDT2_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer2_slaves,
-@@ -5149,7 +5199,7 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
- 	.main_clk	= "wd_timer3_fck",
- 	.prcm = {
- 		.omap4 = {
--			.clkctrl_reg = OMAP4430_CM1_ABE_WDT3_CLKCTRL,
-+			.clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer3_slaves,
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 3306bdf..fc54355 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -360,7 +360,7 @@ struct omap_hwmod_omap2_prcm {
-  * @submodule_wkdep_bit: bit shift of the WKDEP range
-  */
- struct omap_hwmod_omap4_prcm {
--	void __iomem	*clkctrl_reg;
-+	u16		clkctrl_offs;
- 	void __iomem	*rstctrl_reg;
- 	u8		submodule_wkdep_bit;
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0080-OMAP-hwmod-Wait-the-idle-status-to-be-disabled.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0080-OMAP-hwmod-Wait-the-idle-status-to-be-disabled.patch
deleted file mode 100644
index c3668a6..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0080-OMAP-hwmod-Wait-the-idle-status-to-be-disabled.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From e800b4bd2d100fea86fbfa46a20a374c691e2fcd Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:30 -0600
-Subject: [PATCH 080/149] OMAP: hwmod: Wait the idle status to be disabled
-
-It is mandatory to wait for a module to be in disabled state before
-potentially disabling source clock or re-asserting a reset.
-
-omap_hwmod_idle and omap_hwmod_shutdown does not wait for
-the module to be fully idle.
-
-Add a cm_xxx accessor to wait the clkctrl idle status to be disabled.
-Fix hwmod_[idle|shutdown] to use this API.
-
-Based on Rajendra's initial patch.
-
-Please note that most interconnects hwmod will return one timeout because
-it is impossible for them to be in idle since the processor is accessing
-the registers though the interconnect.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Todd Poynor <toddpoynor at google.com>
-[paul at pwsan.com: move cpu_is_*() tests to the top of _wait_target_disable();
- incorporate some feedback from Todd]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/cminst44xx.c |   25 +++++++++++++++++++++++
- arch/arm/mach-omap2/cminst44xx.h |    1 +
- arch/arm/mach-omap2/omap_hwmod.c |   40 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 66 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
-index 9033dd4..0fe3f14 100644
---- a/arch/arm/mach-omap2/cminst44xx.c
-+++ b/arch/arm/mach-omap2/cminst44xx.c
-@@ -284,3 +284,28 @@ int omap4_cminst_wait_module_ready(u8 part, u16 inst, s16 cdoffs,
- 	return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
- }
- 
-+/**
-+ * omap4_cminst_wait_module_idle - wait for a module to be in 'disabled'
-+ * state
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-+ *
-+ * Wait for the module IDLEST to be disabled. Some PRCM transition,
-+ * like reset assertion or parent clock de-activation must wait the
-+ * module to be fully disabled.
-+ */
-+int omap4_cminst_wait_module_idle(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs)
-+{
-+	int i = 0;
-+
-+	if (!clkctrl_offs)
-+		return 0;
-+
-+	omap_test_timeout((_clkctrl_idlest(part, inst, cdoffs, clkctrl_offs) ==
-+			   CLKCTRL_IDLEST_DISABLED),
-+			  MAX_MODULE_READY_TIME, i);
-+
-+	return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
-+}
-diff --git a/arch/arm/mach-omap2/cminst44xx.h b/arch/arm/mach-omap2/cminst44xx.h
-index 8eba2ae..a985400 100644
---- a/arch/arm/mach-omap2/cminst44xx.h
-+++ b/arch/arm/mach-omap2/cminst44xx.h
-@@ -18,6 +18,7 @@ extern void omap4_cminst_clkdm_force_sleep(u8 part, s16 inst, u16 cdoffs);
- extern void omap4_cminst_clkdm_force_wakeup(u8 part, s16 inst, u16 cdoffs);
- 
- extern int omap4_cminst_wait_module_ready(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);
-+extern int omap4_cminst_wait_module_idle(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);
- 
- /*
-  * In an ideal world, we would not export these low-level functions,
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 00241ea..d21f49b 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1102,6 +1102,36 @@ static int _wait_target_ready(struct omap_hwmod *oh)
- }
- 
- /**
-+ * _wait_target_disable - wait for a module to be disabled
-+ * @oh: struct omap_hwmod *
-+ *
-+ * Wait for a module @oh to enter slave idle.  Returns 0 if the module
-+ * does not have an IDLEST bit or if the module successfully enters
-+ * slave idle; otherwise, pass along the return value of the
-+ * appropriate *_cm*_wait_module_idle() function.
-+ */
-+static int _wait_target_disable(struct omap_hwmod *oh)
-+{
-+	/* TODO: For now just handle OMAP4+ */
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		return 0;
-+
-+	if (!oh)
-+		return -EINVAL;
-+
-+	if (oh->_int_flags & _HWMOD_NO_MPU_PORT)
-+		return 0;
-+
-+	if (oh->flags & HWMOD_NO_IDLEST)
-+		return 0;
-+
-+	return omap4_cminst_wait_module_idle(oh->clkdm->prcm_partition,
-+					     oh->clkdm->cm_inst,
-+					     oh->clkdm->clkdm_offs,
-+					     oh->prcm.omap4.clkctrl_offs);
-+}
-+
-+/**
-  * _lookup_hardreset - fill register bit info for this hwmod/reset line
-  * @oh: struct omap_hwmod *
-  * @name: name of the reset line in the context of this hwmod
-@@ -1410,6 +1440,8 @@ static int _enable(struct omap_hwmod *oh)
-  */
- static int _idle(struct omap_hwmod *oh)
- {
-+	int ret;
-+
- 	pr_debug("omap_hwmod: %s: idling\n", oh->name);
- 
- 	if (oh->_state != _HWMOD_STATE_ENABLED) {
-@@ -1422,6 +1454,10 @@ static int _idle(struct omap_hwmod *oh)
- 		_idle_sysc(oh);
- 	_del_initiator_dep(oh, mpu_oh);
- 	_disable_clocks(oh);
-+	ret = _wait_target_disable(oh);
-+	if (ret)
-+		pr_warn("omap_hwmod: %s: _wait_target_disable failed\n",
-+			oh->name);
- 
- 	/* Mux pins for device idle if populated */
- 	if (oh->mux && oh->mux->pads_dynamic)
-@@ -1514,6 +1550,10 @@ static int _shutdown(struct omap_hwmod *oh)
- 		_del_initiator_dep(oh, mpu_oh);
- 		/* XXX what about the other system initiators here? dma, dsp */
- 		_disable_clocks(oh);
-+		ret = _wait_target_disable(oh);
-+		if (ret)
-+			pr_warn("omap_hwmod: %s: _wait_target_disable failed\n",
-+				oh->name);
- 	}
- 	/* XXX Should this code also force-disable the optional clocks? */
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0081-OMAP4-hwmod-Replace-RSTCTRL-absolute-address-with-of.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0081-OMAP4-hwmod-Replace-RSTCTRL-absolute-address-with-of.patch
deleted file mode 100644
index d354899..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0081-OMAP4-hwmod-Replace-RSTCTRL-absolute-address-with-of.patch
+++ /dev/null
@@ -1,459 +0,0 @@
-From ab34edbd04746da7916e720ae1f07a981ab5a298 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:31 -0600
-Subject: [PATCH 081/149] OMAP4: hwmod: Replace RSTCTRL absolute address with offset macros
-
-The RSTCTRL register was accessed using an absolute address.
-The usage of hardcoded macros to calculate virtual address from physical
-one should be avoided as much as possible.
-The usage of an offset will allow future improvement like migration from
-the current architecture code toward a module driver.
-
-Update prm_xxx accessors, move definition to the proper header file and
-update copyrights.
-Change the s16 register offset parameter to u16.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-[paul at pwsan.com: use '_prminst_' in function names that are part of the
- prminst44xx.c file]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c             |   19 ++++--
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   16 ++--
- arch/arm/mach-omap2/prm44xx.c                |   93 +-------------------------
- arch/arm/mach-omap2/prm44xx.h                |    4 -
- arch/arm/mach-omap2/prminst44xx.c            |   93 +++++++++++++++++++++++++-
- arch/arm/mach-omap2/prminst44xx.h            |   10 +++-
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    3 +-
- 7 files changed, 125 insertions(+), 113 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index d21f49b..a0f7d31 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -149,6 +149,7 @@
- #include "cminst44xx.h"
- #include "prm2xxx_3xxx.h"
- #include "prm44xx.h"
-+#include "prminst44xx.h"
- #include "mux.h"
- 
- /* Maximum microseconds to wait for OMAP module to softreset */
-@@ -1187,8 +1188,10 @@ static int _assert_hardreset(struct omap_hwmod *oh, const char *name)
- 		return omap2_prm_assert_hardreset(oh->prcm.omap2.module_offs,
- 						  ohri.rst_shift);
- 	else if (cpu_is_omap44xx())
--		return omap4_prm_assert_hardreset(oh->prcm.omap4.rstctrl_reg,
--						  ohri.rst_shift);
-+		return omap4_prminst_assert_hardreset(ohri.rst_shift,
-+				  oh->clkdm->pwrdm.ptr->prcm_partition,
-+				  oh->clkdm->pwrdm.ptr->prcm_offs,
-+				  oh->prcm.omap4.rstctrl_offs);
- 	else
- 		return -EINVAL;
- }
-@@ -1223,8 +1226,10 @@ static int _deassert_hardreset(struct omap_hwmod *oh, const char *name)
- 		if (ohri.st_shift)
- 			pr_err("omap_hwmod: %s: %s: hwmod data error: OMAP4 does not support st_shift\n",
- 			       oh->name, name);
--		ret = omap4_prm_deassert_hardreset(oh->prcm.omap4.rstctrl_reg,
--						   ohri.rst_shift);
-+		ret = omap4_prminst_deassert_hardreset(ohri.rst_shift,
-+				  oh->clkdm->pwrdm.ptr->prcm_partition,
-+				  oh->clkdm->pwrdm.ptr->prcm_offs,
-+				  oh->prcm.omap4.rstctrl_offs);
- 	} else {
- 		return -EINVAL;
- 	}
-@@ -1259,8 +1264,10 @@ static int _read_hardreset(struct omap_hwmod *oh, const char *name)
- 		return omap2_prm_is_hardreset_asserted(oh->prcm.omap2.module_offs,
- 						       ohri.st_shift);
- 	} else if (cpu_is_omap44xx()) {
--		return omap4_prm_is_hardreset_asserted(oh->prcm.omap4.rstctrl_reg,
--						       ohri.rst_shift);
-+		return omap4_prminst_is_hardreset_asserted(ohri.rst_shift,
-+				  oh->clkdm->pwrdm.ptr->prcm_partition,
-+				  oh->clkdm->pwrdm.ptr->prcm_offs,
-+				  oh->prcm.omap4.rstctrl_offs);
- 	} else {
- 		return -EINVAL;
- 	}
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 00d7130..6a190f5 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -1144,7 +1144,7 @@ static struct omap_hwmod omap44xx_dsp_c0_hwmod = {
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_dsp_c0_resets),
- 	.prcm = {
- 		.omap4 = {
--			.rstctrl_reg = OMAP4430_RM_TESLA_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -1161,7 +1161,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
--			.rstctrl_reg = OMAP4430_RM_TESLA_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dsp_slaves,
-@@ -2526,7 +2526,7 @@ static struct omap_hwmod omap44xx_ipu_c0_hwmod = {
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c0_resets),
- 	.prcm = {
- 		.omap4 = {
--			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -2542,7 +2542,7 @@ static struct omap_hwmod omap44xx_ipu_c1_hwmod = {
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_ipu_c1_resets),
- 	.prcm = {
- 		.omap4 = {
--			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -2559,7 +2559,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
--			.rstctrl_reg = OMAP4430_RM_DUCATI_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_ipu_slaves,
-@@ -2726,7 +2726,7 @@ static struct omap_hwmod omap44xx_iva_seq0_hwmod = {
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_seq0_resets),
- 	.prcm = {
- 		.omap4 = {
--			.rstctrl_reg = OMAP4430_RM_IVAHD_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -2742,7 +2742,7 @@ static struct omap_hwmod omap44xx_iva_seq1_hwmod = {
- 	.rst_lines_cnt	= ARRAY_SIZE(omap44xx_iva_seq1_resets),
- 	.prcm = {
- 		.omap4 = {
--			.rstctrl_reg = OMAP4430_RM_IVAHD_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -2759,7 +2759,7 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
--			.rstctrl_reg = OMAP4430_RM_IVAHD_RSTCTRL,
-+			.rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_iva_slaves,
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index a2a04bf..faec860 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -1,7 +1,7 @@
- /*
-  * OMAP4 PRM module functions
-  *
-- * Copyright (C) 2010 Texas Instruments, Inc.
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  * Copyright (C) 2010 Nokia Corporation
-  * Benoît Cousson
-  * Paul Walmsley
-@@ -24,12 +24,6 @@
- #include "prm44xx.h"
- #include "prm-regbits-44xx.h"
- 
--/*
-- * Address offset (in bytes) between the reset control and the reset
-- * status registers: 4 bytes on OMAP4
-- */
--#define OMAP4_RST_CTRL_ST_OFFSET		4
--
- /* PRM low-level functions */
- 
- /* Read a register in a CM/PRM instance in the PRM module */
-@@ -94,91 +88,6 @@ u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 reg)
- 	return omap4_prm_rmw_inst_reg_bits(bits, 0x0, inst, reg);
- }
- 
--/**
-- * omap4_prm_is_hardreset_asserted - read the HW reset line state of
-- * submodules contained in the hwmod module
-- * @rstctrl_reg: RM_RSTCTRL register address for this module
-- * @shift: register bit shift corresponding to the reset line to check
-- *
-- * Returns 1 if the (sub)module hardreset line is currently asserted,
-- * 0 if the (sub)module hardreset line is not currently asserted, or
-- * -EINVAL upon parameter error.
-- */
--int omap4_prm_is_hardreset_asserted(void __iomem *rstctrl_reg, u8 shift)
--{
--	if (!cpu_is_omap44xx() || !rstctrl_reg)
--		return -EINVAL;
--
--	return omap4_prm_read_bits_shift(rstctrl_reg, (1 << shift));
--}
--
--/**
-- * omap4_prm_assert_hardreset - assert the HW reset line of a submodule
-- * @rstctrl_reg: RM_RSTCTRL register address for this module
-- * @shift: register bit shift corresponding to the reset line to assert
-- *
-- * Some IPs like dsp, ipu or iva contain processors that require an HW
-- * reset line to be asserted / deasserted in order to fully enable the
-- * IP.  These modules may have multiple hard-reset lines that reset
-- * different 'submodules' inside the IP block.  This function will
-- * place the submodule into reset.  Returns 0 upon success or -EINVAL
-- * upon an argument error.
-- */
--int omap4_prm_assert_hardreset(void __iomem *rstctrl_reg, u8 shift)
--{
--	u32 mask;
--
--	if (!cpu_is_omap44xx() || !rstctrl_reg)
--		return -EINVAL;
--
--	mask = 1 << shift;
--	omap4_prm_rmw_reg_bits(mask, mask, rstctrl_reg);
--
--	return 0;
--}
--
--/**
-- * omap4_prm_deassert_hardreset - deassert a submodule hardreset line and wait
-- * @rstctrl_reg: RM_RSTCTRL register address for this module
-- * @shift: register bit shift corresponding to the reset line to deassert
-- *
-- * Some IPs like dsp, ipu or iva contain processors that require an HW
-- * reset line to be asserted / deasserted in order to fully enable the
-- * IP.  These modules may have multiple hard-reset lines that reset
-- * different 'submodules' inside the IP block.  This function will
-- * take the submodule out of reset and wait until the PRCM indicates
-- * that the reset has completed before returning.  Returns 0 upon success or
-- * -EINVAL upon an argument error, -EEXIST if the submodule was already out
-- * of reset, or -EBUSY if the submodule did not exit reset promptly.
-- */
--int omap4_prm_deassert_hardreset(void __iomem *rstctrl_reg, u8 shift)
--{
--	u32 mask;
--	void __iomem *rstst_reg;
--	int c;
--
--	if (!cpu_is_omap44xx() || !rstctrl_reg)
--		return -EINVAL;
--
--	rstst_reg = rstctrl_reg + OMAP4_RST_CTRL_ST_OFFSET;
--
--	mask = 1 << shift;
--
--	/* Check the current status to avoid de-asserting the line twice */
--	if (omap4_prm_read_bits_shift(rstctrl_reg, mask) == 0)
--		return -EEXIST;
--
--	/* Clear the reset status by writing 1 to the status bit */
--	omap4_prm_rmw_reg_bits(0xffffffff, mask, rstst_reg);
--	/* de-assert the reset control line */
--	omap4_prm_rmw_reg_bits(mask, 0, rstctrl_reg);
--	/* wait the status to be set */
--	omap_test_timeout(omap4_prm_read_bits_shift(rstst_reg, mask),
--			  MAX_MODULE_HARDRESET_WAIT, c);
--
--	return (c == MAX_MODULE_HARDRESET_WAIT) ? -EBUSY : 0;
--}
--
- void omap4_prm_global_warm_sw_reset(void)
- {
- 	u32 v;
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 6e53120..3732e02 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -755,10 +755,6 @@ extern u32 omap4_prm_set_inst_reg_bits(u32 bits, s16 inst, s16 idx);
- extern u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 idx);
- extern u32 omap4_prm_read_bits_shift(void __iomem *reg, u32 mask);
- 
--extern int omap4_prm_is_hardreset_asserted(void __iomem *rstctrl_reg, u8 shift);
--extern int omap4_prm_assert_hardreset(void __iomem *rstctrl_reg, u8 shift);
--extern int omap4_prm_deassert_hardreset(void __iomem *rstctrl_reg, u8 shift);
--
- extern void omap4_prm_global_warm_sw_reset(void);
- 
- # endif
-diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c
-index a303242..35e02aa 100644
---- a/arch/arm/mach-omap2/prminst44xx.c
-+++ b/arch/arm/mach-omap2/prminst44xx.c
-@@ -2,6 +2,7 @@
-  * OMAP4 PRM instance functions
-  *
-  * Copyright (C) 2009 Nokia Corporation
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -53,7 +54,7 @@ void omap4_prminst_write_inst_reg(u32 val, u8 part, s16 inst, u16 idx)
- 
- /* Read-modify-write a register in PRM. Caller must lock */
- u32 omap4_prminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part, s16 inst,
--				   s16 idx)
-+				    u16 idx)
- {
- 	u32 v;
- 
-@@ -64,3 +65,93 @@ u32 omap4_prminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part, s16 inst,
- 
- 	return v;
- }
-+
-+/*
-+ * Address offset (in bytes) between the reset control and the reset
-+ * status registers: 4 bytes on OMAP4
-+ */
-+#define OMAP4_RST_CTRL_ST_OFFSET		4
-+
-+/**
-+ * omap4_prminst_is_hardreset_asserted - read the HW reset line state of
-+ * submodules contained in the hwmod module
-+ * @rstctrl_reg: RM_RSTCTRL register address for this module
-+ * @shift: register bit shift corresponding to the reset line to check
-+ *
-+ * Returns 1 if the (sub)module hardreset line is currently asserted,
-+ * 0 if the (sub)module hardreset line is not currently asserted, or
-+ * -EINVAL upon parameter error.
-+ */
-+int omap4_prminst_is_hardreset_asserted(u8 shift, u8 part, s16 inst,
-+					u16 rstctrl_offs)
-+{
-+	u32 v;
-+
-+	v = omap4_prminst_read_inst_reg(part, inst, rstctrl_offs);
-+	v &= 1 << shift;
-+	v >>= shift;
-+
-+	return v;
-+}
-+
-+/**
-+ * omap4_prminst_assert_hardreset - assert the HW reset line of a submodule
-+ * @rstctrl_reg: RM_RSTCTRL register address for this module
-+ * @shift: register bit shift corresponding to the reset line to assert
-+ *
-+ * Some IPs like dsp, ipu or iva contain processors that require an HW
-+ * reset line to be asserted / deasserted in order to fully enable the
-+ * IP.  These modules may have multiple hard-reset lines that reset
-+ * different 'submodules' inside the IP block.  This function will
-+ * place the submodule into reset.  Returns 0 upon success or -EINVAL
-+ * upon an argument error.
-+ */
-+int omap4_prminst_assert_hardreset(u8 shift, u8 part, s16 inst,
-+				   u16 rstctrl_offs)
-+{
-+	u32 mask = 1 << shift;
-+
-+	omap4_prminst_rmw_inst_reg_bits(mask, mask, part, inst, rstctrl_offs);
-+
-+	return 0;
-+}
-+
-+/**
-+ * omap4_prminst_deassert_hardreset - deassert a submodule hardreset line and
-+ * wait
-+ * @rstctrl_reg: RM_RSTCTRL register address for this module
-+ * @shift: register bit shift corresponding to the reset line to deassert
-+ *
-+ * Some IPs like dsp, ipu or iva contain processors that require an HW
-+ * reset line to be asserted / deasserted in order to fully enable the
-+ * IP.  These modules may have multiple hard-reset lines that reset
-+ * different 'submodules' inside the IP block.  This function will
-+ * take the submodule out of reset and wait until the PRCM indicates
-+ * that the reset has completed before returning.  Returns 0 upon success or
-+ * -EINVAL upon an argument error, -EEXIST if the submodule was already out
-+ * of reset, or -EBUSY if the submodule did not exit reset promptly.
-+ */
-+int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,
-+				     u16 rstctrl_offs)
-+{
-+	int c;
-+	u32 mask = 1 << shift;
-+	u16 rstst_offs = rstctrl_offs + OMAP4_RST_CTRL_ST_OFFSET;
-+
-+	/* Check the current status to avoid de-asserting the line twice */
-+	if (omap4_prminst_is_hardreset_asserted(shift, part, inst,
-+						rstctrl_offs) == 0)
-+		return -EEXIST;
-+
-+	/* Clear the reset status by writing 1 to the status bit */
-+	omap4_prminst_rmw_inst_reg_bits(0xffffffff, mask, part, inst,
-+					rstst_offs);
-+	/* de-assert the reset control line */
-+	omap4_prminst_rmw_inst_reg_bits(mask, 0, part, inst, rstctrl_offs);
-+	/* wait the status to be set */
-+	omap_test_timeout(omap4_prminst_is_hardreset_asserted(shift, part, inst,
-+							      rstst_offs),
-+			  MAX_MODULE_HARDRESET_WAIT, c);
-+
-+	return (c == MAX_MODULE_HARDRESET_WAIT) ? -EBUSY : 0;
-+}
-diff --git a/arch/arm/mach-omap2/prminst44xx.h b/arch/arm/mach-omap2/prminst44xx.h
-index 02dd66d..c14ae29 100644
---- a/arch/arm/mach-omap2/prminst44xx.h
-+++ b/arch/arm/mach-omap2/prminst44xx.h
-@@ -2,6 +2,7 @@
-  * OMAP4 Power/Reset Management (PRM) function prototypes
-  *
-  * Copyright (C) 2010 Nokia Corporation
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  * Paul Walmsley
-  *
-  * This program is free software; you can redistribute it and/or modify
-@@ -18,8 +19,15 @@
- extern u32 omap4_prminst_read_inst_reg(u8 part, s16 inst, u16 idx);
- extern void omap4_prminst_write_inst_reg(u32 val, u8 part, s16 inst, u16 idx);
- extern u32 omap4_prminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part,
--					   s16 inst, s16 idx);
-+					   s16 inst, u16 idx);
- 
- extern void omap4_prm_global_warm_sw_reset(void);
- 
-+extern int omap4_prminst_is_hardreset_asserted(u8 shift, u8 part, s16 inst,
-+					   u16 rstctrl_offs);
-+extern int omap4_prminst_assert_hardreset(u8 shift, u8 part, s16 inst,
-+				      u16 rstctrl_offs);
-+extern int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,
-+					u16 rstctrl_offs);
-+
- #endif
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index fc54355..9ef4424 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -2,6 +2,7 @@
-  * omap_hwmod macros, structures
-  *
-  * Copyright (C) 2009-2011 Nokia Corporation
-+ * Copyright (C) 2011 Texas Instruments, Inc.
-  * Paul Walmsley
-  *
-  * Created in collaboration with (alphabetical order): Benoît Cousson,
-@@ -361,7 +362,7 @@ struct omap_hwmod_omap2_prcm {
-  */
- struct omap_hwmod_omap4_prcm {
- 	u16		clkctrl_offs;
--	void __iomem	*rstctrl_reg;
-+	u16		rstctrl_offs;
- 	u8		submodule_wkdep_bit;
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0082-OMAP4-prm-Replace-warm-reset-API-with-the-offset-bas.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0082-OMAP4-prm-Replace-warm-reset-API-with-the-offset-bas.patch
deleted file mode 100644
index 74c8414..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0082-OMAP4-prm-Replace-warm-reset-API-with-the-offset-bas.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From 21fe73d93ffbba01a14a70664d4f79cb680d12c0 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:31 -0600
-Subject: [PATCH 082/149] OMAP4: prm: Replace warm reset API with the offset based version
-
-The warm reset function was still using the obsolete API.
-Replace it by the new one and move the file to the proper c file.
-
-Change the function names to stick to the file convention as
-suggested by Paul Walmsley <paul at pwsan.com>:
-prm_xxx -> prminst_xxx
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/prcm.c        |    2 +-
- arch/arm/mach-omap2/prm44xx.c     |   15 ---------------
- arch/arm/mach-omap2/prm44xx.h     |    2 --
- arch/arm/mach-omap2/prminst44xx.c |   19 +++++++++++++++++++
- arch/arm/mach-omap2/prminst44xx.h |    8 ++++----
- 5 files changed, 24 insertions(+), 22 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c
-index 6be1438..2e40a5c 100644
---- a/arch/arm/mach-omap2/prcm.c
-+++ b/arch/arm/mach-omap2/prcm.c
-@@ -70,7 +70,7 @@ static void omap_prcm_arch_reset(char mode, const char *cmd)
- 		prcm_offs = OMAP3430_GR_MOD;
- 		omap3_ctrl_write_boot_mode((cmd ? (u8)*cmd : 0));
- 	} else if (cpu_is_omap44xx()) {
--		omap4_prm_global_warm_sw_reset(); /* never returns */
-+		omap4_prminst_global_warm_sw_reset(); /* never returns */
- 	} else {
- 		WARN_ON(1);
- 	}
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index faec860..f815329 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -87,18 +87,3 @@ u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 reg)
- {
- 	return omap4_prm_rmw_inst_reg_bits(bits, 0x0, inst, reg);
- }
--
--void omap4_prm_global_warm_sw_reset(void)
--{
--	u32 v;
--
--	v = omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
--				    OMAP4_RM_RSTCTRL);
--	v |= OMAP4430_RST_GLOBAL_WARM_SW_MASK;
--	omap4_prm_write_inst_reg(v, OMAP4430_PRM_DEVICE_INST,
--				 OMAP4_RM_RSTCTRL);
--
--	/* OCP barrier */
--	v = omap4_prm_read_inst_reg(OMAP4430_PRM_DEVICE_INST,
--				    OMAP4_RM_RSTCTRL);
--}
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 3732e02..725a6a8 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -755,8 +755,6 @@ extern u32 omap4_prm_set_inst_reg_bits(u32 bits, s16 inst, s16 idx);
- extern u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 idx);
- extern u32 omap4_prm_read_bits_shift(void __iomem *reg, u32 mask);
- 
--extern void omap4_prm_global_warm_sw_reset(void);
--
- # endif
- 
- #endif
-diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c
-index 35e02aa..3a7bab1 100644
---- a/arch/arm/mach-omap2/prminst44xx.c
-+++ b/arch/arm/mach-omap2/prminst44xx.c
-@@ -155,3 +155,22 @@ int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,
- 
- 	return (c == MAX_MODULE_HARDRESET_WAIT) ? -EBUSY : 0;
- }
-+
-+
-+void omap4_prminst_global_warm_sw_reset(void)
-+{
-+	u32 v;
-+
-+	v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-+				    OMAP4430_PRM_DEVICE_INST,
-+				    OMAP4_PRM_RSTCTRL_OFFSET);
-+	v |= OMAP4430_RST_GLOBAL_WARM_SW_MASK;
-+	omap4_prminst_write_inst_reg(v, OMAP4430_PRM_PARTITION,
-+				 OMAP4430_PRM_DEVICE_INST,
-+				 OMAP4_PRM_RSTCTRL_OFFSET);
-+
-+	/* OCP barrier */
-+	v = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-+				    OMAP4430_PRM_DEVICE_INST,
-+				    OMAP4_PRM_RSTCTRL_OFFSET);
-+}
-diff --git a/arch/arm/mach-omap2/prminst44xx.h b/arch/arm/mach-omap2/prminst44xx.h
-index c14ae29..46f2efb 100644
---- a/arch/arm/mach-omap2/prminst44xx.h
-+++ b/arch/arm/mach-omap2/prminst44xx.h
-@@ -21,13 +21,13 @@ extern void omap4_prminst_write_inst_reg(u32 val, u8 part, s16 inst, u16 idx);
- extern u32 omap4_prminst_rmw_inst_reg_bits(u32 mask, u32 bits, u8 part,
- 					   s16 inst, u16 idx);
- 
--extern void omap4_prm_global_warm_sw_reset(void);
-+extern void omap4_prminst_global_warm_sw_reset(void);
- 
- extern int omap4_prminst_is_hardreset_asserted(u8 shift, u8 part, s16 inst,
--					   u16 rstctrl_offs);
-+					       u16 rstctrl_offs);
- extern int omap4_prminst_assert_hardreset(u8 shift, u8 part, s16 inst,
--				      u16 rstctrl_offs);
-+					  u16 rstctrl_offs);
- extern int omap4_prminst_deassert_hardreset(u8 shift, u8 part, s16 inst,
--					u16 rstctrl_offs);
-+					    u16 rstctrl_offs);
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0083-OMAP4-prm-Remove-deprecated-functions.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0083-OMAP4-prm-Remove-deprecated-functions.patch
deleted file mode 100644
index 403764f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0083-OMAP4-prm-Remove-deprecated-functions.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From fd94741b5ca1552a0c6e8c000f9f7530853862ea Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:31 -0600
-Subject: [PATCH 083/149] OMAP4: prm: Remove deprecated functions
-
-The new prminst_xxx accessors based on partition and offset
-is now used, so removed all the previous prcm_xxx accessors.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-[paul at pwsan.com: remove fn prototypes also]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/prm44xx.c |   37 -------------------------------------
- arch/arm/mach-omap2/prm44xx.h |    4 ----
- 2 files changed, 0 insertions(+), 41 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index f815329..0016555 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -50,40 +50,3 @@ u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 reg)
- 
- 	return v;
- }
--
--/* Read a PRM register, AND it, and shift the result down to bit 0 */
--/* XXX deprecated */
--u32 omap4_prm_read_bits_shift(void __iomem *reg, u32 mask)
--{
--	u32 v;
--
--	v = __raw_readl(reg);
--	v &= mask;
--	v >>= __ffs(mask);
--
--	return v;
--}
--
--/* Read-modify-write a register in a PRM module. Caller must lock */
--/* XXX deprecated */
--u32 omap4_prm_rmw_reg_bits(u32 mask, u32 bits, void __iomem *reg)
--{
--	u32 v;
--
--	v = __raw_readl(reg);
--	v &= ~mask;
--	v |= bits;
--	__raw_writel(v, reg);
--
--	return v;
--}
--
--u32 omap4_prm_set_inst_reg_bits(u32 bits, s16 inst, s16 reg)
--{
--	return omap4_prm_rmw_inst_reg_bits(bits, bits, inst, reg);
--}
--
--u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 reg)
--{
--	return omap4_prm_rmw_inst_reg_bits(bits, 0x0, inst, reg);
--}
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 725a6a8..7dfa379 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -750,10 +750,6 @@
- extern u32 omap4_prm_read_inst_reg(s16 inst, u16 idx);
- extern void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 idx);
- extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx);
--extern u32 omap4_prm_rmw_reg_bits(u32 mask, u32 bits, void __iomem *reg);
--extern u32 omap4_prm_set_inst_reg_bits(u32 bits, s16 inst, s16 idx);
--extern u32 omap4_prm_clear_inst_reg_bits(u32 bits, s16 inst, s16 idx);
--extern u32 omap4_prm_read_bits_shift(void __iomem *reg, u32 mask);
- 
- # endif
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch
deleted file mode 100644
index f4e1889..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch
+++ /dev/null
@@ -1,630 +0,0 @@
-From 77eafa703d62b15f2e1021beb2f5437b6b2764ed Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:32 -0600
-Subject: [PATCH 084/149] OMAP4: hwmod data: Add PRM context register offset
-
-Add a 'context_offs' entry in the prcm.omap4 structure to all
-IPs when applicable.
-The offset will be used to retrieve the per module context lost
-information now available on OMAP4.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   74 ++++++++++++++++++++++++++
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 +
- 2 files changed, 75 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index 6a190f5..d68ef2c 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -127,6 +127,7 @@ static struct omap_hwmod omap44xx_dmm_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_MEMIF_DMM_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_MEMIF_DMM_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dmm_slaves,
-@@ -183,6 +184,7 @@ static struct omap_hwmod omap44xx_emif_fw_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_MEMIF_EMIF_FW_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_MEMIF_EMIF_FW_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_emif_fw_slaves,
-@@ -228,6 +230,7 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_instr_slaves,
-@@ -327,6 +330,7 @@ static struct omap_hwmod omap44xx_l3_main_1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3_1_L3_1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3_1_L3_1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_main_1_slaves,
-@@ -428,6 +432,7 @@ static struct omap_hwmod omap44xx_l3_main_2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3_2_L3_2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3_2_L3_2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_main_2_slaves,
-@@ -484,6 +489,7 @@ static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INSTR_L3_3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_main_3_slaves,
-@@ -575,6 +581,7 @@ static struct omap_hwmod omap44xx_l4_cfg_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4CFG_L4_CFG_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4CFG_L4_CFG_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l4_cfg_slaves,
-@@ -603,6 +610,7 @@ static struct omap_hwmod omap44xx_l4_per_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_L4PER_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_L4_PER_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l4_per_slaves,
-@@ -631,6 +639,7 @@ static struct omap_hwmod omap44xx_l4_wkup_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_L4WKUP_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_L4WKUP_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_l4_wkup_slaves,
-@@ -809,6 +818,7 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_aess_slaves,
-@@ -899,6 +909,7 @@ static struct omap_hwmod omap44xx_counter_32k_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_SYNCTIMER_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_SYNCTIMER_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_counter_32k_slaves,
-@@ -983,6 +994,7 @@ static struct omap_hwmod omap44xx_dma_system_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_SDMA_SDMA_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_SDMA_SDMA_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &dma_dev_attr,
-@@ -1077,6 +1089,7 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_DMIC_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_DMIC_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dmic_slaves,
-@@ -1162,6 +1175,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dsp_slaves,
-@@ -1250,6 +1264,7 @@ static struct omap_hwmod omap44xx_dss_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_opt_clks,
-@@ -1354,6 +1369,7 @@ static struct omap_hwmod omap44xx_dss_dispc_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dispc_opt_clks,
-@@ -1452,6 +1468,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dsi1_opt_clks,
-@@ -1529,6 +1546,7 @@ static struct omap_hwmod omap44xx_dss_dsi2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_dsi2_opt_clks,
-@@ -1626,6 +1644,7 @@ static struct omap_hwmod omap44xx_dss_hdmi_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_hdmi_opt_clks,
-@@ -1717,6 +1736,7 @@ static struct omap_hwmod omap44xx_dss_rfbi_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= dss_rfbi_opt_clks,
-@@ -1787,6 +1807,7 @@ static struct omap_hwmod omap44xx_dss_venc_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DSS_DSS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_dss_venc_slaves,
-@@ -1866,6 +1887,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_GPIO1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio1_opt_clks,
-@@ -1920,6 +1942,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_GPIO2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio2_opt_clks,
-@@ -1974,6 +1997,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_GPIO3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio3_opt_clks,
-@@ -2028,6 +2052,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_GPIO4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio4_opt_clks,
-@@ -2082,6 +2107,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO5_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_GPIO5_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio5_opt_clks,
-@@ -2136,6 +2162,7 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO6_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_GPIO6_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= gpio6_opt_clks,
-@@ -2215,6 +2242,7 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_HSI_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INIT_HSI_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_hsi_slaves,
-@@ -2298,6 +2326,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_I2C1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c1_slaves,
-@@ -2353,6 +2382,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_I2C2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c2_slaves,
-@@ -2408,6 +2438,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_I2C3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c3_slaves,
-@@ -2463,6 +2494,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_I2C4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c4_slaves,
-@@ -2560,6 +2592,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_ipu_slaves,
-@@ -2646,6 +2679,7 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_CAM_ISS_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_CAM_ISS_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= iss_opt_clks,
-@@ -2760,6 +2794,7 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_IVAHD_IVAHD_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_iva_slaves,
-@@ -2830,6 +2865,7 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_KEYBOARD_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_kbd_slaves,
-@@ -2895,6 +2931,7 @@ static struct omap_hwmod omap44xx_mailbox_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4CFG_MAILBOX_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4CFG_MAILBOX_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mailbox_slaves,
-@@ -2988,6 +3025,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_MCBSP1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp1_slaves,
-@@ -3062,6 +3100,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_MCBSP2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp2_slaves,
-@@ -3136,6 +3175,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_MCBSP3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp3_slaves,
-@@ -3189,6 +3229,7 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCBSP4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MCBSP4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp4_slaves,
-@@ -3282,6 +3323,7 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_PDM_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_PDM_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mcpdm_slaves,
-@@ -3368,6 +3410,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MCSPI1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi1_dev_attr,
-@@ -3429,6 +3472,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MCSPI2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi2_dev_attr,
-@@ -3490,6 +3534,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MCSPI3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi3_dev_attr,
-@@ -3549,6 +3594,7 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MCSPI4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mcspi4_dev_attr,
-@@ -3634,6 +3680,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_MMC1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INIT_MMC1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.dev_attr	= &mmc1_dev_attr,
-@@ -3694,6 +3741,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_MMC2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INIT_MMC2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc2_slaves,
-@@ -3749,6 +3797,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MMCSD3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc3_slaves,
-@@ -3803,6 +3852,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MMCSD4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc4_slaves,
-@@ -3856,6 +3906,7 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD5_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_MMCSD5_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc5_slaves,
-@@ -3897,6 +3948,7 @@ static struct omap_hwmod omap44xx_mpu_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_MPU_MPU_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_MPU_MPU_CONTEXT_OFFSET,
- 		},
- 	},
- 	.masters	= omap44xx_mpu_masters,
-@@ -3971,6 +4023,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_CORE_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ALWON_SR_CORE_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_core_slaves,
-@@ -4018,6 +4071,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_IVA_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ALWON_SR_IVA_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_iva_slaves,
-@@ -4065,6 +4119,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_MPU_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ALWON_SR_MPU_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_mpu_slaves,
-@@ -4127,6 +4182,7 @@ static struct omap_hwmod omap44xx_spinlock_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4CFG_HW_SEM_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4CFG_HW_SEM_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_spinlock_slaves,
-@@ -4211,6 +4267,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_TIMER1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer1_slaves,
-@@ -4257,6 +4314,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer2_slaves,
-@@ -4303,6 +4361,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer3_slaves,
-@@ -4349,6 +4408,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer4_slaves,
-@@ -4414,6 +4474,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER5_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_TIMER5_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer5_slaves,
-@@ -4480,6 +4541,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER6_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_TIMER6_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer6_slaves,
-@@ -4545,6 +4607,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER7_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_TIMER7_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer7_slaves,
-@@ -4610,6 +4673,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER8_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_TIMER8_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer8_slaves,
-@@ -4656,6 +4720,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER9_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER9_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer9_slaves,
-@@ -4702,6 +4767,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER10_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER10_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer10_slaves,
-@@ -4748,6 +4814,7 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER11_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_DMTIMER11_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_timer11_slaves,
-@@ -4823,6 +4890,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART1_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_UART1_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart1_slaves,
-@@ -4876,6 +4944,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_UART2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart2_slaves,
-@@ -4930,6 +4999,7 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart3_slaves,
-@@ -4983,6 +5053,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART4_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L4PER_UART4_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_uart4_slaves,
-@@ -5062,6 +5133,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_USB_OTG_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_L3INIT_USB_OTG_CONTEXT_OFFSET,
- 		},
- 	},
- 	.opt_clks	= usb_otg_hs_opt_clks,
-@@ -5135,6 +5207,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer2_slaves,
-@@ -5200,6 +5273,7 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
- 	.prcm = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET,
-+			.context_offs = OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer3_slaves,
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 9ef4424..16439fa 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -363,6 +363,7 @@ struct omap_hwmod_omap2_prcm {
- struct omap_hwmod_omap4_prcm {
- 	u16		clkctrl_offs;
- 	u16		rstctrl_offs;
-+	u16		context_offs;
- 	u8		submodule_wkdep_bit;
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0085-OMAP4-hwmod-data-Add-modulemode-entry-in-omap_hwmod-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0085-OMAP4-hwmod-data-Add-modulemode-entry-in-omap_hwmod-.patch
deleted file mode 100644
index c752359..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0085-OMAP4-hwmod-data-Add-modulemode-entry-in-omap_hwmod-.patch
+++ /dev/null
@@ -1,503 +0,0 @@
-From be3f7a2833bf720dcb60b40675a790024995ac27 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:32 -0600
-Subject: [PATCH 085/149] OMAP4: hwmod data: Add modulemode entry in omap_hwmod structure
-
-Add a new field to provide the mode supported by the module.
-The mode will control the way mandatory clocks are managed by the PRCM.
-
-  0 : Module is temporarily disabled by SW. OCP access to module are stalled.
-      Can be used to change timing parameter of GPMC module.
-  1 : Module is managed automatically by HW according to clock domain
-      transition. A clock domain sleep transition put module into idle.
-      A wakeup domain transition put it back into function.
-      If CLKTRCTRL=3, any OCP access to module is always granted.
-      Module clocks may be gated according to the clock domain state.
-  2 : Module is explicitly enabled. Interface clock (if not used for
-      functions) may be gated according to the clock domain state.
-      Functional clocks are guarantied to stay present. As long as
-      in this configuration, power domain sleep transition cannot happen.
-
-Some modules will have a modulemode initialized at 1 (HWCTRL) by default.
-This is the case for interconnect and simple module like GPIO, WDT, MAILBOX.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod_44xx_data.c   |   55 ++++++++++++++++++++++++++
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    6 +++
- 2 files changed, 61 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-index d68ef2c..6201422 100644
---- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
-@@ -231,6 +231,7 @@ static struct omap_hwmod omap44xx_l3_instr_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_INSTR_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INSTR_L3_INSTR_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_instr_slaves,
-@@ -490,6 +491,7 @@ static struct omap_hwmod omap44xx_l3_main_3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INSTR_L3_3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INSTR_L3_3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_l3_main_3_slaves,
-@@ -819,6 +821,7 @@ static struct omap_hwmod omap44xx_aess_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_AESS_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_AESS_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_aess_slaves,
-@@ -1090,6 +1093,7 @@ static struct omap_hwmod omap44xx_dmic_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_DMIC_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_DMIC_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_dmic_slaves,
-@@ -1176,6 +1180,7 @@ static struct omap_hwmod omap44xx_dsp_hwmod = {
- 			.clkctrl_offs = OMAP4_CM_TESLA_TESLA_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_TESLA_RSTCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_TESLA_TESLA_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_dsp_slaves,
-@@ -1888,6 +1893,7 @@ static struct omap_hwmod omap44xx_gpio1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_GPIO1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_WKUP_GPIO1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio1_opt_clks,
-@@ -1943,6 +1949,7 @@ static struct omap_hwmod omap44xx_gpio2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_GPIO2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio2_opt_clks,
-@@ -1998,6 +2005,7 @@ static struct omap_hwmod omap44xx_gpio3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_GPIO3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio3_opt_clks,
-@@ -2053,6 +2061,7 @@ static struct omap_hwmod omap44xx_gpio4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_GPIO4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio4_opt_clks,
-@@ -2108,6 +2117,7 @@ static struct omap_hwmod omap44xx_gpio5_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO5_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_GPIO5_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio5_opt_clks,
-@@ -2163,6 +2173,7 @@ static struct omap_hwmod omap44xx_gpio6_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_GPIO6_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_GPIO6_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= gpio6_opt_clks,
-@@ -2243,6 +2254,7 @@ static struct omap_hwmod omap44xx_hsi_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_HSI_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INIT_HSI_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_hsi_slaves,
-@@ -2327,6 +2339,7 @@ static struct omap_hwmod omap44xx_i2c1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_I2C1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c1_slaves,
-@@ -2383,6 +2396,7 @@ static struct omap_hwmod omap44xx_i2c2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_I2C2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c2_slaves,
-@@ -2439,6 +2453,7 @@ static struct omap_hwmod omap44xx_i2c3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_I2C3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c3_slaves,
-@@ -2495,6 +2510,7 @@ static struct omap_hwmod omap44xx_i2c4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_I2C4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_I2C4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_i2c4_slaves,
-@@ -2593,6 +2609,7 @@ static struct omap_hwmod omap44xx_ipu_hwmod = {
- 			.clkctrl_offs = OMAP4_CM_DUCATI_DUCATI_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_DUCATI_RSTCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_DUCATI_DUCATI_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_ipu_slaves,
-@@ -2680,6 +2697,7 @@ static struct omap_hwmod omap44xx_iss_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_CAM_ISS_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_CAM_ISS_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.opt_clks	= iss_opt_clks,
-@@ -2795,6 +2813,7 @@ static struct omap_hwmod omap44xx_iva_hwmod = {
- 			.clkctrl_offs = OMAP4_CM_IVAHD_IVAHD_CLKCTRL_OFFSET,
- 			.rstctrl_offs = OMAP4_RM_IVAHD_RSTCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_IVAHD_IVAHD_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_iva_slaves,
-@@ -2866,6 +2885,7 @@ static struct omap_hwmod omap44xx_kbd_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_KEYBOARD_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_WKUP_KEYBOARD_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_kbd_slaves,
-@@ -3026,6 +3046,7 @@ static struct omap_hwmod omap44xx_mcbsp1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_MCBSP1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp1_slaves,
-@@ -3101,6 +3122,7 @@ static struct omap_hwmod omap44xx_mcbsp2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_MCBSP2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp2_slaves,
-@@ -3176,6 +3198,7 @@ static struct omap_hwmod omap44xx_mcbsp3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_MCBSP3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_MCBSP3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp3_slaves,
-@@ -3230,6 +3253,7 @@ static struct omap_hwmod omap44xx_mcbsp4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCBSP4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MCBSP4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mcbsp4_slaves,
-@@ -3324,6 +3348,7 @@ static struct omap_hwmod omap44xx_mcpdm_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_PDM_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_PDM_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mcpdm_slaves,
-@@ -3411,6 +3436,7 @@ static struct omap_hwmod omap44xx_mcspi1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MCSPI1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.dev_attr	= &mcspi1_dev_attr,
-@@ -3473,6 +3499,7 @@ static struct omap_hwmod omap44xx_mcspi2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MCSPI2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.dev_attr	= &mcspi2_dev_attr,
-@@ -3535,6 +3562,7 @@ static struct omap_hwmod omap44xx_mcspi3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MCSPI3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.dev_attr	= &mcspi3_dev_attr,
-@@ -3595,6 +3623,7 @@ static struct omap_hwmod omap44xx_mcspi4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MCSPI4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MCSPI4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.dev_attr	= &mcspi4_dev_attr,
-@@ -3681,6 +3710,7 @@ static struct omap_hwmod omap44xx_mmc1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_MMC1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INIT_MMC1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.dev_attr	= &mmc1_dev_attr,
-@@ -3742,6 +3772,7 @@ static struct omap_hwmod omap44xx_mmc2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_MMC2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INIT_MMC2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc2_slaves,
-@@ -3798,6 +3829,7 @@ static struct omap_hwmod omap44xx_mmc3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MMCSD3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc3_slaves,
-@@ -3853,6 +3885,7 @@ static struct omap_hwmod omap44xx_mmc4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MMCSD4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc4_slaves,
-@@ -3907,6 +3940,7 @@ static struct omap_hwmod omap44xx_mmc5_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_MMCSD5_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_MMCSD5_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_mmc5_slaves,
-@@ -4024,6 +4058,7 @@ static struct omap_hwmod omap44xx_smartreflex_core_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_CORE_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ALWON_SR_CORE_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_core_slaves,
-@@ -4072,6 +4107,7 @@ static struct omap_hwmod omap44xx_smartreflex_iva_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_IVA_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ALWON_SR_IVA_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_iva_slaves,
-@@ -4120,6 +4156,7 @@ static struct omap_hwmod omap44xx_smartreflex_mpu_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_ALWON_SR_MPU_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ALWON_SR_MPU_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_smartreflex_mpu_slaves,
-@@ -4268,6 +4305,7 @@ static struct omap_hwmod omap44xx_timer1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_TIMER1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_WKUP_TIMER1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer1_slaves,
-@@ -4315,6 +4353,7 @@ static struct omap_hwmod omap44xx_timer2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer2_slaves,
-@@ -4362,6 +4401,7 @@ static struct omap_hwmod omap44xx_timer3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer3_slaves,
-@@ -4409,6 +4449,7 @@ static struct omap_hwmod omap44xx_timer4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer4_slaves,
-@@ -4475,6 +4516,7 @@ static struct omap_hwmod omap44xx_timer5_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER5_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_TIMER5_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer5_slaves,
-@@ -4542,6 +4584,7 @@ static struct omap_hwmod omap44xx_timer6_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER6_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_TIMER6_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer6_slaves,
-@@ -4608,6 +4651,7 @@ static struct omap_hwmod omap44xx_timer7_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER7_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_TIMER7_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer7_slaves,
-@@ -4674,6 +4718,7 @@ static struct omap_hwmod omap44xx_timer8_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_TIMER8_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_TIMER8_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer8_slaves,
-@@ -4721,6 +4766,7 @@ static struct omap_hwmod omap44xx_timer9_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER9_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER9_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer9_slaves,
-@@ -4768,6 +4814,7 @@ static struct omap_hwmod omap44xx_timer10_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER10_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER10_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer10_slaves,
-@@ -4815,6 +4862,7 @@ static struct omap_hwmod omap44xx_timer11_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_DMTIMER11_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_DMTIMER11_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_timer11_slaves,
-@@ -4891,6 +4939,7 @@ static struct omap_hwmod omap44xx_uart1_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART1_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_UART1_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_uart1_slaves,
-@@ -4945,6 +4994,7 @@ static struct omap_hwmod omap44xx_uart2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_UART2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_uart2_slaves,
-@@ -5000,6 +5050,7 @@ static struct omap_hwmod omap44xx_uart3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_UART3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_uart3_slaves,
-@@ -5054,6 +5105,7 @@ static struct omap_hwmod omap44xx_uart4_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L4PER_UART4_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L4PER_UART4_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_uart4_slaves,
-@@ -5134,6 +5186,7 @@ static struct omap_hwmod omap44xx_usb_otg_hs_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_L3INIT_USB_OTG_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_L3INIT_USB_OTG_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_HWCTRL,
- 		},
- 	},
- 	.opt_clks	= usb_otg_hs_opt_clks,
-@@ -5208,6 +5261,7 @@ static struct omap_hwmod omap44xx_wd_timer2_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM_WKUP_WDT2_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_WKUP_WDT2_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer2_slaves,
-@@ -5274,6 +5328,7 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
- 		.omap4 = {
- 			.clkctrl_offs = OMAP4_CM1_ABE_WDT3_CLKCTRL_OFFSET,
- 			.context_offs = OMAP4_RM_ABE_WDT3_CONTEXT_OFFSET,
-+			.modulemode   = MODULEMODE_SWCTRL,
- 		},
- 	},
- 	.slaves		= omap44xx_wd_timer3_slaves,
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 16439fa..0e329ca 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -80,6 +80,11 @@ extern struct omap_hwmod_sysc_fields omap_hwmod_sysc_type2;
- #define HWMOD_IDLEMODE_SMART		(1 << 2)
- #define HWMOD_IDLEMODE_SMART_WKUP	(1 << 3)
- 
-+/* modulemode control type (SW or HW) */
-+#define MODULEMODE_HWCTRL		1
-+#define MODULEMODE_SWCTRL		2
-+
-+
- /**
-  * struct omap_hwmod_mux_info - hwmod specific mux configuration
-  * @pads:              array of omap_device_pad entries
-@@ -365,6 +370,7 @@ struct omap_hwmod_omap4_prcm {
- 	u16		rstctrl_offs;
- 	u16		context_offs;
- 	u8		submodule_wkdep_bit;
-+	u8		modulemode;
- };
- 
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0086-OMAP4-cm-Add-two-new-APIs-for-modulemode-control.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0086-OMAP4-cm-Add-two-new-APIs-for-modulemode-control.patch
deleted file mode 100644
index 86e8165..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0086-OMAP4-cm-Add-two-new-APIs-for-modulemode-control.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 3ef45618e396f3d9abb12fb4ef1c4462ccca6fd3 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:32 -0600
-Subject: [PATCH 086/149] OMAP4: cm: Add two new APIs for modulemode control
-
-In OMAP4, a new programming model based on module control instead
-of clock control was introduced.
-Expose two APIs to allow the upper layer (omap_hwmod) to control
-the module mode independently of the parent clocks management.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-[paul at pwsan.com: renamed 'omap4_cm_' fns to 'omap4_cminst_'; cleaned up
- kerneldoc]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/cminst44xx.c |   40 ++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/cminst44xx.h |    5 ++++
- 2 files changed, 45 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
-index 0fe3f14..eb2a472 100644
---- a/arch/arm/mach-omap2/cminst44xx.c
-+++ b/arch/arm/mach-omap2/cminst44xx.c
-@@ -309,3 +309,43 @@ int omap4_cminst_wait_module_idle(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_off
- 
- 	return (i < MAX_MODULE_READY_TIME) ? 0 : -EBUSY;
- }
-+
-+/**
-+ * omap4_cminst_module_enable - Enable the modulemode inside CLKCTRL
-+ * @mode: Module mode (SW or HW)
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-+ *
-+ * No return value.
-+ */
-+void omap4_cminst_module_enable(u8 mode, u8 part, u16 inst, s16 cdoffs,
-+			    u16 clkctrl_offs)
-+{
-+	u32 v;
-+
-+	v = omap4_cminst_read_inst_reg(part, inst, clkctrl_offs);
-+	v &= ~OMAP4430_MODULEMODE_MASK;
-+	v |= mode << OMAP4430_MODULEMODE_SHIFT;
-+	omap4_cminst_write_inst_reg(v, part, inst, clkctrl_offs);
-+}
-+
-+/**
-+ * omap4_cminst_module_disable - Disable the module inside CLKCTRL
-+ * @part: PRCM partition ID that the CM_CLKCTRL register exists in
-+ * @inst: CM instance register offset (*_INST macro)
-+ * @cdoffs: Clockdomain register offset (*_CDOFFS macro)
-+ * @clkctrl_offs: Module clock control register offset (*_CLKCTRL macro)
-+ *
-+ * No return value.
-+ */
-+void omap4_cminst_module_disable(u8 part, u16 inst, s16 cdoffs,
-+			     u16 clkctrl_offs)
-+{
-+	u32 v;
-+
-+	v = omap4_cminst_read_inst_reg(part, inst, clkctrl_offs);
-+	v &= ~OMAP4430_MODULEMODE_MASK;
-+	omap4_cminst_write_inst_reg(v, part, inst, clkctrl_offs);
-+}
-diff --git a/arch/arm/mach-omap2/cminst44xx.h b/arch/arm/mach-omap2/cminst44xx.h
-index a985400..f2ea645 100644
---- a/arch/arm/mach-omap2/cminst44xx.h
-+++ b/arch/arm/mach-omap2/cminst44xx.h
-@@ -20,6 +20,11 @@ extern void omap4_cminst_clkdm_force_wakeup(u8 part, s16 inst, u16 cdoffs);
- extern int omap4_cminst_wait_module_ready(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);
- extern int omap4_cminst_wait_module_idle(u8 part, u16 inst, s16 cdoffs, u16 clkctrl_offs);
- 
-+extern void omap4_cminst_module_enable(u8 mode, u8 part, u16 inst, s16 cdoffs,
-+				       u16 clkctrl_offs);
-+extern void omap4_cminst_module_disable(u8 part, u16 inst, s16 cdoffs,
-+					u16 clkctrl_offs);
-+
- /*
-  * In an ideal world, we would not export these low-level functions,
-  * but this will probably take some time to fix properly
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0087-OMAP4-hwmod-Introduce-the-module-control-in-hwmod-co.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0087-OMAP4-hwmod-Introduce-the-module-control-in-hwmod-co.patch
deleted file mode 100644
index 30b978e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0087-OMAP4-hwmod-Introduce-the-module-control-in-hwmod-co.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From a6647b2c4e9c1786df8dcb59595c3029f5a9f493 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:33 -0600
-Subject: [PATCH 087/149] OMAP4: hwmod: Introduce the module control in hwmod control
-
-Take advantage of the explicit modulemode control to fix
-the way parents clocks are managed.
-A module must be disabled before any parents are disabled.
-That programming model was not possible with the previous
-implementation that was considering a modulemode as a leaf
-clock node managed by the clock fmwk.
-This was leading to bad crash upon disable when the parent
-clock was gated before the module completed its transition
-to idle.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/omap_hwmod.c |   63 ++++++++++++++++++++++++++++++++++++-
- 1 files changed, 61 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index a0f7d31..4424fee 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -680,6 +680,56 @@ static void _disable_optional_clocks(struct omap_hwmod *oh)
- }
- 
- /**
-+ * _enable_module - enable CLKCTRL modulemode on OMAP4
-+ * @oh: struct omap_hwmod *
-+ *
-+ * Enables the PRCM module mode related to the hwmod @oh.
-+ * No return value.
-+ */
-+static void _enable_module(struct omap_hwmod *oh)
-+{
-+	/* The module mode does not exist prior OMAP4 */
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		return;
-+
-+	if (!oh->clkdm || !oh->prcm.omap4.modulemode)
-+		return;
-+
-+	pr_debug("omap_hwmod: %s: _enable_module: %d\n",
-+		 oh->name, oh->prcm.omap4.modulemode);
-+
-+	omap4_cminst_module_enable(oh->prcm.omap4.modulemode,
-+				   oh->clkdm->prcm_partition,
-+				   oh->clkdm->cm_inst,
-+				   oh->clkdm->clkdm_offs,
-+				   oh->prcm.omap4.clkctrl_offs);
-+}
-+
-+/**
-+ * _disable_module - enable CLKCTRL modulemode on OMAP4
-+ * @oh: struct omap_hwmod *
-+ *
-+ * Disable the PRCM module mode related to the hwmod @oh.
-+ * No return value.
-+ */
-+static void _disable_module(struct omap_hwmod *oh)
-+{
-+	/* The module mode does not exist prior OMAP4 */
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		return;
-+
-+	if (!oh->clkdm || !oh->prcm.omap4.modulemode)
-+		return;
-+
-+	pr_debug("omap_hwmod: %s: _disable_module\n", oh->name);
-+
-+	omap4_cminst_module_disable(oh->clkdm->prcm_partition,
-+				    oh->clkdm->cm_inst,
-+				    oh->clkdm->clkdm_offs,
-+				    oh->prcm.omap4.clkctrl_offs);
-+}
-+
-+/**
-  * _count_mpu_irqs - count the number of MPU IRQ lines associated with @oh
-  * @oh: struct omap_hwmod *oh
-  *
-@@ -1424,6 +1474,7 @@ static int _enable(struct omap_hwmod *oh)
- 
- 		return r;
- 	}
-+	_enable_module(oh);
- 
- 	oh->_state = _HWMOD_STATE_ENABLED;
- 
-@@ -1460,11 +1511,18 @@ static int _idle(struct omap_hwmod *oh)
- 	if (oh->class->sysc)
- 		_idle_sysc(oh);
- 	_del_initiator_dep(oh, mpu_oh);
--	_disable_clocks(oh);
-+	_disable_module(oh);
- 	ret = _wait_target_disable(oh);
- 	if (ret)
- 		pr_warn("omap_hwmod: %s: _wait_target_disable failed\n",
- 			oh->name);
-+	/*
-+	 * The module must be in idle mode before disabling any parents
-+	 * clocks. Otherwise, the parent clock might be disabled before
-+	 * the module transition is done, and thus will prevent the
-+	 * transition to complete properly.
-+	 */
-+	_disable_clocks(oh);
- 
- 	/* Mux pins for device idle if populated */
- 	if (oh->mux && oh->mux->pads_dynamic)
-@@ -1556,11 +1614,12 @@ static int _shutdown(struct omap_hwmod *oh)
- 	if (oh->_state == _HWMOD_STATE_ENABLED) {
- 		_del_initiator_dep(oh, mpu_oh);
- 		/* XXX what about the other system initiators here? dma, dsp */
--		_disable_clocks(oh);
-+		_disable_module(oh);
- 		ret = _wait_target_disable(oh);
- 		if (ret)
- 			pr_warn("omap_hwmod: %s: _wait_target_disable failed\n",
- 				oh->name);
-+		_disable_clocks(oh);
- 	}
- 	/* XXX Should this code also force-disable the optional clocks? */
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0088-OMAP-clockdomain-Remove-redundant-call-to-pwrdm_wait.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0088-OMAP-clockdomain-Remove-redundant-call-to-pwrdm_wait.patch
deleted file mode 100644
index 9958651..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0088-OMAP-clockdomain-Remove-redundant-call-to-pwrdm_wait.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 376dd007bae9fdcad06c5231c05ab2ca92639579 Mon Sep 17 00:00:00 2001
-From: Vaibhav Bedia <vaibhav.bedia at ti.com>
-Date: Sun, 10 Jul 2011 05:56:53 -0600
-Subject: [PATCH 088/149] OMAP: clockdomain: Remove redundant call to pwrdm_wait_transition()
-
-The call to pwrdm_wait_transition() in clkdm_clk_enable()
-is redundant since the function pwrdm_clkdm_state_switch()
-which is called next also does the same thing.
-
-Signed-off-by: Vaibhav Bedia <vaibhav.bedia at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clockdomain.c |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
-index 6cb6c03..4fbbbfc 100644
---- a/arch/arm/mach-omap2/clockdomain.c
-+++ b/arch/arm/mach-omap2/clockdomain.c
-@@ -834,7 +834,6 @@ int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
- 		 clk->name);
- 
- 	arch_clkdm->clkdm_clk_enable(clkdm);
--	pwrdm_wait_transition(clkdm->pwrdm.ptr);
- 	pwrdm_clkdm_state_switch(clkdm);
- 
- 	return 0;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0089-OMAP2-clockdomain-Add-2-APIs-to-control-clockdomain-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0089-OMAP2-clockdomain-Add-2-APIs-to-control-clockdomain-.patch
deleted file mode 100644
index 3d47851..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0089-OMAP2-clockdomain-Add-2-APIs-to-control-clockdomain-.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From 4cf6b3a535c5e63c4808733c170a68990e45afa2 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Sun, 10 Jul 2011 05:56:54 -0600
-Subject: [PATCH 089/149] OMAP2+: clockdomain: Add 2 APIs to control clockdomain from hwmod framework
-
-Duplicate the existing API for clockdomain enable from clock to enable
-a clock domain from hwmod framework.
-This will be needed when the hwmod framework will move from the current
-clock centric approach to the module based approach.
-
-These APIs are returning 0 for the moment for OMAP2 and OMAP3 until
-their hwmods are updated with the clksm attribute.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Kevin Hilman <khilman at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clockdomain.c |  142 +++++++++++++++++++++++++++---------
- arch/arm/mach-omap2/clockdomain.h |    3 +
- 2 files changed, 109 insertions(+), 36 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
-index 4fbbbfc..5a57de5 100644
---- a/arch/arm/mach-omap2/clockdomain.c
-+++ b/arch/arm/mach-omap2/clockdomain.c
-@@ -796,7 +796,50 @@ void clkdm_deny_idle(struct clockdomain *clkdm)
- }
- 
- 
--/* Clockdomain-to-clock framework interface code */
-+/* Clockdomain-to-clock/hwmod framework interface code */
-+
-+static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm)
-+{
-+	if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_enable)
-+		return -EINVAL;
-+
-+	/*
-+	 * For arch's with no autodeps, clkcm_clk_enable
-+	 * should be called for every clock instance or hwmod that is
-+	 * enabled, so the clkdm can be force woken up.
-+	 */
-+	if ((atomic_inc_return(&clkdm->usecount) > 1) && autodeps)
-+		return 0;
-+
-+	arch_clkdm->clkdm_clk_enable(clkdm);
-+	pwrdm_wait_transition(clkdm->pwrdm.ptr);
-+	pwrdm_clkdm_state_switch(clkdm);
-+
-+	pr_debug("clockdomain: clkdm %s: enabled\n", clkdm->name);
-+
-+	return 0;
-+}
-+
-+static int _clkdm_clk_hwmod_disable(struct clockdomain *clkdm)
-+{
-+	if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_disable)
-+		return -EINVAL;
-+
-+	if (atomic_read(&clkdm->usecount) == 0) {
-+		WARN_ON(1); /* underflow */
-+		return -ERANGE;
-+	}
-+
-+	if (atomic_dec_return(&clkdm->usecount) > 0)
-+		return 0;
-+
-+	arch_clkdm->clkdm_clk_disable(clkdm);
-+	pwrdm_clkdm_state_switch(clkdm);
-+
-+	pr_debug("clockdomain: clkdm %s: disabled\n", clkdm->name);
-+
-+	return 0;
-+}
- 
- /**
-  * clkdm_clk_enable - add an enabled downstream clock to this clkdm
-@@ -819,24 +862,10 @@ int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
- 	 * downstream clocks for debugging purposes?
- 	 */
- 
--	if (!clkdm || !clk)
-+	if (!clk)
- 		return -EINVAL;
- 
--	if (!arch_clkdm || !arch_clkdm->clkdm_clk_enable)
--		return -EINVAL;
--
--	if (atomic_inc_return(&clkdm->usecount) > 1)
--		return 0;
--
--	/* Clockdomain now has one enabled downstream clock */
--
--	pr_debug("clockdomain: clkdm %s: clk %s now enabled\n", clkdm->name,
--		 clk->name);
--
--	arch_clkdm->clkdm_clk_enable(clkdm);
--	pwrdm_clkdm_state_switch(clkdm);
--
--	return 0;
-+	return _clkdm_clk_hwmod_enable(clkdm);
- }
- 
- /**
-@@ -849,9 +878,8 @@ int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk)
-  * clockdomain usecount goes to 0, put the clockdomain to sleep
-  * (software-supervised mode) or remove the clkdm autodependencies
-  * (hardware-supervised mode).  Returns -EINVAL if passed null
-- * pointers; -ERANGE if the @clkdm usecount underflows and debugging
-- * is enabled; or returns 0 upon success or if the clockdomain is in
-- * hwsup idle mode.
-+ * pointers; -ERANGE if the @clkdm usecount underflows; or returns 0
-+ * upon success or if the clockdomain is in hwsup idle mode.
-  */
- int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk)
- {
-@@ -860,30 +888,72 @@ int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk)
- 	 * downstream clocks for debugging purposes?
- 	 */
- 
--	if (!clkdm || !clk)
-+	if (!clk)
- 		return -EINVAL;
- 
--	if (!arch_clkdm || !arch_clkdm->clkdm_clk_disable)
-+	return _clkdm_clk_hwmod_disable(clkdm);
-+}
-+
-+/**
-+ * clkdm_hwmod_enable - add an enabled downstream hwmod to this clkdm
-+ * @clkdm: struct clockdomain *
-+ * @oh: struct omap_hwmod * of the enabled downstream hwmod
-+ *
-+ * Increment the usecount of the clockdomain @clkdm and ensure that it
-+ * is awake before @oh is enabled. Intended to be called by
-+ * module_enable() code.
-+ * If the clockdomain is in software-supervised idle mode, force the
-+ * clockdomain to wake.  If the clockdomain is in hardware-supervised idle
-+ * mode, add clkdm-pwrdm autodependencies, to ensure that devices in the
-+ * clockdomain can be read from/written to by on-chip processors.
-+ * Returns -EINVAL if passed null pointers;
-+ * returns 0 upon success or if the clockdomain is in hwsup idle mode.
-+ */
-+int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh)
-+{
-+	/* The clkdm attribute does not exist yet prior OMAP4 */
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
-+		return 0;
-+
-+	/*
-+	 * XXX Rewrite this code to maintain a list of enabled
-+	 * downstream hwmods for debugging purposes?
-+	 */
-+
-+	if (!oh)
- 		return -EINVAL;
- 
--#ifdef DEBUG
--	if (atomic_read(&clkdm->usecount) == 0) {
--		WARN_ON(1); /* underflow */
--		return -ERANGE;
--	}
--#endif
-+	return _clkdm_clk_hwmod_enable(clkdm);
-+}
- 
--	if (atomic_dec_return(&clkdm->usecount) > 0)
-+/**
-+ * clkdm_hwmod_disable - remove an enabled downstream hwmod from this clkdm
-+ * @clkdm: struct clockdomain *
-+ * @oh: struct omap_hwmod * of the disabled downstream hwmod
-+ *
-+ * Decrement the usecount of this clockdomain @clkdm when @oh is
-+ * disabled. Intended to be called by module_disable() code.
-+ * If the clockdomain usecount goes to 0, put the clockdomain to sleep
-+ * (software-supervised mode) or remove the clkdm autodependencies
-+ * (hardware-supervised mode).
-+ * Returns -EINVAL if passed null pointers; -ERANGE if the @clkdm usecount
-+ * underflows; or returns 0 upon success or if the clockdomain is in hwsup
-+ * idle mode.
-+ */
-+int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh)
-+{
-+	/* The clkdm attribute does not exist yet prior OMAP4 */
-+	if (cpu_is_omap24xx() || cpu_is_omap34xx())
- 		return 0;
- 
--	/* All downstream clocks of this clockdomain are now disabled */
--
--	pr_debug("clockdomain: clkdm %s: clk %s now disabled\n", clkdm->name,
--		 clk->name);
-+	/*
-+	 * XXX Rewrite this code to maintain a list of enabled
-+	 * downstream hwmods for debugging purposes?
-+	 */
- 
--	arch_clkdm->clkdm_clk_disable(clkdm);
--	pwrdm_clkdm_state_switch(clkdm);
-+	if (!oh)
-+		return -EINVAL;
- 
--	return 0;
-+	return _clkdm_clk_hwmod_disable(clkdm);
- }
- 
-diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
-index 5823584..8e0da64 100644
---- a/arch/arm/mach-omap2/clockdomain.h
-+++ b/arch/arm/mach-omap2/clockdomain.h
-@@ -20,6 +20,7 @@
- 
- #include "powerdomain.h"
- #include <plat/clock.h>
-+#include <plat/omap_hwmod.h>
- #include <plat/cpu.h>
- 
- /*
-@@ -183,6 +184,8 @@ int clkdm_sleep(struct clockdomain *clkdm);
- 
- int clkdm_clk_enable(struct clockdomain *clkdm, struct clk *clk);
- int clkdm_clk_disable(struct clockdomain *clkdm, struct clk *clk);
-+int clkdm_hwmod_enable(struct clockdomain *clkdm, struct omap_hwmod *oh);
-+int clkdm_hwmod_disable(struct clockdomain *clkdm, struct omap_hwmod *oh);
- 
- extern void __init omap2xxx_clockdomains_init(void);
- extern void __init omap3xxx_clockdomains_init(void);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch
deleted file mode 100644
index edbaf6d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From b1090dd5eb9e242f8426169718fd7241c025c1a2 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sun, 10 Jul 2011 05:56:54 -0600
-Subject: [PATCH 090/149] OMAP2+: clockdomain: add clkdm_in_hwsup()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Add a new function, clkdm_in_hwsup(), that returns true if a clockdomain
-is configured for hardware-supervised idle.  It does not actually read the
-hardware; rather, it checks an internal flag in the struct clockdomain, which
-is changed when the clockdomain is switched in and out of hardware-supervised
-idle.  This should be safe, since all changes to the idle mode should
-pass through the clockdomain code.
-
-Based on a set of patches by Rajendra Nayak <rnayak at ti.com> which do
-the same thing by checking the hardware bits.  This approach should be
-faster and more compact.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
-Cc: Todd Poynor <toddpoynor at google.com>
-Cc: Benoît Cousson <b-cousson at ti.com>
----
- arch/arm/mach-omap2/clockdomain.c |   30 ++++++++++++++++++++++++++++--
- arch/arm/mach-omap2/clockdomain.h |    6 ++++++
- 2 files changed, 34 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
-index 5a57de5..239b558 100644
---- a/arch/arm/mach-omap2/clockdomain.c
-+++ b/arch/arm/mach-omap2/clockdomain.c
-@@ -1,8 +1,8 @@
- /*
-  * OMAP2/3/4 clockdomain framework functions
-  *
-- * Copyright (C) 2008-2010 Texas Instruments, Inc.
-- * Copyright (C) 2008-2010 Nokia Corporation
-+ * Copyright (C) 2008-2011 Texas Instruments, Inc.
-+ * Copyright (C) 2008-2011 Nokia Corporation
-  *
-  * Written by Paul Walmsley and Jouni Högander
-  * Added OMAP4 specific support by Abhijit Pagare <abhijitpagare at ti.com>
-@@ -704,6 +704,8 @@ int clkdm_sleep(struct clockdomain *clkdm)
- 
- 	pr_debug("clockdomain: forcing sleep on %s\n", clkdm->name);
- 
-+	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
-+
- 	return arch_clkdm->clkdm_sleep(clkdm);
- }
- 
-@@ -732,6 +734,8 @@ int clkdm_wakeup(struct clockdomain *clkdm)
- 
- 	pr_debug("clockdomain: forcing wakeup on %s\n", clkdm->name);
- 
-+	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
-+
- 	return arch_clkdm->clkdm_wakeup(clkdm);
- }
- 
-@@ -762,6 +766,8 @@ void clkdm_allow_idle(struct clockdomain *clkdm)
- 	pr_debug("clockdomain: enabling automatic idle transitions for %s\n",
- 		 clkdm->name);
- 
-+	clkdm->_flags |= _CLKDM_FLAG_HWSUP_ENABLED;
-+
- 	arch_clkdm->clkdm_allow_idle(clkdm);
- 	pwrdm_clkdm_state_switch(clkdm);
- }
-@@ -792,9 +798,29 @@ void clkdm_deny_idle(struct clockdomain *clkdm)
- 	pr_debug("clockdomain: disabling automatic idle transitions for %s\n",
- 		 clkdm->name);
- 
-+	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
-+
- 	arch_clkdm->clkdm_deny_idle(clkdm);
- }
- 
-+/**
-+ * clkdm_in_hwsup - is clockdomain @clkdm have hardware-supervised idle enabled?
-+ * @clkdm: struct clockdomain *
-+ *
-+ * Returns true if clockdomain @clkdm currently has
-+ * hardware-supervised idle enabled, or false if it does not or if
-+ * @clkdm is NULL.  It is only valid to call this function after
-+ * clkdm_init() has been called.  This function does not actually read
-+ * bits from the hardware; it instead tests an in-memory flag that is
-+ * changed whenever the clockdomain code changes the auto-idle mode.
-+ */
-+bool clkdm_in_hwsup(struct clockdomain *clkdm)
-+{
-+	if (!clkdm)
-+		return false;
-+
-+	return (clkdm->_flags & _CLKDM_FLAG_HWSUP_ENABLED) ? true : false;
-+}
- 
- /* Clockdomain-to-clock/hwmod framework interface code */
- 
-diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
-index 8e0da64..8782a5c 100644
---- a/arch/arm/mach-omap2/clockdomain.h
-+++ b/arch/arm/mach-omap2/clockdomain.h
-@@ -83,6 +83,9 @@ struct clkdm_dep {
- 	const struct omap_chip_id omap_chip;
- };
- 
-+/* Possible flags for struct clockdomain._flags */
-+#define _CLKDM_FLAG_HWSUP_ENABLED		BIT(0)
-+
- /**
-  * struct clockdomain - OMAP clockdomain
-  * @name: clockdomain name
-@@ -90,6 +93,7 @@ struct clkdm_dep {
-  * @clktrctrl_reg: CLKSTCTRL reg for the given clock domain
-  * @clktrctrl_mask: CLKTRCTRL/AUTOSTATE field mask in CM_CLKSTCTRL reg
-  * @flags: Clockdomain capability flags
-+ * @_flags: Flags for use only by internal clockdomain code
-  * @dep_bit: Bit shift of this clockdomain's PM_WKDEP/CM_SLEEPDEP bit
-  * @prcm_partition: (OMAP4 only) PRCM partition ID for this clkdm's registers
-  * @cm_inst: (OMAP4 only) CM instance register offset
-@@ -114,6 +118,7 @@ struct clockdomain {
- 	} pwrdm;
- 	const u16 clktrctrl_mask;
- 	const u8 flags;
-+	u8 _flags;
- 	const u8 dep_bit;
- 	const u8 prcm_partition;
- 	const s16 cm_inst;
-@@ -178,6 +183,7 @@ int clkdm_clear_all_sleepdeps(struct clockdomain *clkdm);
- 
- void clkdm_allow_idle(struct clockdomain *clkdm);
- void clkdm_deny_idle(struct clockdomain *clkdm);
-+bool clkdm_in_hwsup(struct clockdomain *clkdm);
- 
- int clkdm_wakeup(struct clockdomain *clkdm);
- int clkdm_sleep(struct clockdomain *clkdm);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0091-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0091-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
deleted file mode 100644
index 91d4e67..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0091-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From bc09c0fe93e874df8fcfd68f31302330646cbf24 Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Sun, 10 Jul 2011 05:56:54 -0600
-Subject: [PATCH 091/149] OMAP2+: PM: idle clkdms only if already in idle
-
-The omap_set_pwrdm_state function forces clockdomains
-to idle, without checking the existing idle state
-programmed, instead based solely on the HW capability
-of the clockdomain to support idle.
-This is wrong and the clockdomains should be idled
-post a state_switch *only* if idle transitions on the
-clockdomain were already enabled.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Acked-by: Kevin Hilman <khilman at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/pm.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
-index d48813f..3feb359 100644
---- a/arch/arm/mach-omap2/pm.c
-+++ b/arch/arm/mach-omap2/pm.c
-@@ -108,6 +108,7 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
- 	u32 cur_state;
- 	int sleep_switch = -1;
- 	int ret = 0;
-+	int hwsup = 0;
- 
- 	if (pwrdm == NULL || IS_ERR(pwrdm))
- 		return -EINVAL;
-@@ -127,6 +128,7 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
- 			(pwrdm->flags & PWRDM_HAS_LOWPOWERSTATECHANGE)) {
- 			sleep_switch = LOWPOWERSTATE_SWITCH;
- 		} else {
-+			hwsup = clkdm_in_hwsup(pwrdm->pwrdm_clkdms[0]);
- 			clkdm_wakeup(pwrdm->pwrdm_clkdms[0]);
- 			pwrdm_wait_transition(pwrdm);
- 			sleep_switch = FORCEWAKEUP_SWITCH;
-@@ -142,7 +144,7 @@ int omap_set_pwrdm_state(struct powerdomain *pwrdm, u32 state)
- 
- 	switch (sleep_switch) {
- 	case FORCEWAKEUP_SWITCH:
--		if (pwrdm->pwrdm_clkdms[0]->flags & CLKDM_CAN_ENABLE_AUTO)
-+		if (hwsup)
- 			clkdm_allow_idle(pwrdm->pwrdm_clkdms[0]);
- 		else
- 			clkdm_sleep(pwrdm->pwrdm_clkdms[0]);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0092-OMAP2-clockdomain-Add-per-clkdm-lock-to-prevent-conc.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0092-OMAP2-clockdomain-Add-per-clkdm-lock-to-prevent-conc.patch
deleted file mode 100644
index d5c7deb..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0092-OMAP2-clockdomain-Add-per-clkdm-lock-to-prevent-conc.patch
+++ /dev/null
@@ -1,264 +0,0 @@
-From 9dbc6c631f27b1e6ed6b058b8d3e57b2398b2d3b Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Sun, 10 Jul 2011 05:56:55 -0600
-Subject: [PATCH 092/149] OMAP2+: clockdomain: Add per clkdm lock to prevent concurrent state programming
-
-Since the clkdm state programming is now done from within the hwmod
-framework (which uses a per-hwmod lock) instead of the being done
-from the clock framework (which used a global lock), there is now a
-need to have per-clkdm locking to prevent races between different
-hwmods/modules belonging to the same clock domain concurrently
-programming the clkdm state.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clockdomain.c          |   47 +++++++++++++++++++++++----
- arch/arm/mach-omap2/clockdomain.h          |    2 +
- arch/arm/mach-omap2/clockdomain2xxx_3xxx.c |    6 ++-
- arch/arm/mach-omap2/clockdomain44xx.c      |   13 ++-----
- 4 files changed, 50 insertions(+), 18 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clockdomain.c b/arch/arm/mach-omap2/clockdomain.c
-index 239b558..ab7db08 100644
---- a/arch/arm/mach-omap2/clockdomain.c
-+++ b/arch/arm/mach-omap2/clockdomain.c
-@@ -92,6 +92,8 @@ static int _clkdm_register(struct clockdomain *clkdm)
- 
- 	pwrdm_add_clkdm(pwrdm, clkdm);
- 
-+	spin_lock_init(&clkdm->lock);
-+
- 	pr_debug("clockdomain: registered %s\n", clkdm->name);
- 
- 	return 0;
-@@ -690,6 +692,9 @@ int clkdm_clear_all_sleepdeps(struct clockdomain *clkdm)
-  */
- int clkdm_sleep(struct clockdomain *clkdm)
- {
-+	int ret;
-+	unsigned long flags;
-+
- 	if (!clkdm)
- 		return -EINVAL;
- 
-@@ -704,9 +709,11 @@ int clkdm_sleep(struct clockdomain *clkdm)
- 
- 	pr_debug("clockdomain: forcing sleep on %s\n", clkdm->name);
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
--
--	return arch_clkdm->clkdm_sleep(clkdm);
-+	ret = arch_clkdm->clkdm_sleep(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
-+	return ret;
- }
- 
- /**
-@@ -720,6 +727,9 @@ int clkdm_sleep(struct clockdomain *clkdm)
-  */
- int clkdm_wakeup(struct clockdomain *clkdm)
- {
-+	int ret;
-+	unsigned long flags;
-+
- 	if (!clkdm)
- 		return -EINVAL;
- 
-@@ -734,9 +744,11 @@ int clkdm_wakeup(struct clockdomain *clkdm)
- 
- 	pr_debug("clockdomain: forcing wakeup on %s\n", clkdm->name);
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
--
--	return arch_clkdm->clkdm_wakeup(clkdm);
-+	ret = arch_clkdm->clkdm_wakeup(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
-+	return ret;
- }
- 
- /**
-@@ -751,6 +763,8 @@ int clkdm_wakeup(struct clockdomain *clkdm)
-  */
- void clkdm_allow_idle(struct clockdomain *clkdm)
- {
-+	unsigned long flags;
-+
- 	if (!clkdm)
- 		return;
- 
-@@ -766,10 +780,11 @@ void clkdm_allow_idle(struct clockdomain *clkdm)
- 	pr_debug("clockdomain: enabling automatic idle transitions for %s\n",
- 		 clkdm->name);
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	clkdm->_flags |= _CLKDM_FLAG_HWSUP_ENABLED;
--
- 	arch_clkdm->clkdm_allow_idle(clkdm);
- 	pwrdm_clkdm_state_switch(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
- }
- 
- /**
-@@ -783,6 +798,8 @@ void clkdm_allow_idle(struct clockdomain *clkdm)
-  */
- void clkdm_deny_idle(struct clockdomain *clkdm)
- {
-+	unsigned long flags;
-+
- 	if (!clkdm)
- 		return;
- 
-@@ -798,9 +815,10 @@ void clkdm_deny_idle(struct clockdomain *clkdm)
- 	pr_debug("clockdomain: disabling automatic idle transitions for %s\n",
- 		 clkdm->name);
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	clkdm->_flags &= ~_CLKDM_FLAG_HWSUP_ENABLED;
--
- 	arch_clkdm->clkdm_deny_idle(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
- }
- 
- /**
-@@ -816,16 +834,25 @@ void clkdm_deny_idle(struct clockdomain *clkdm)
-  */
- bool clkdm_in_hwsup(struct clockdomain *clkdm)
- {
-+	bool ret;
-+	unsigned long flags;
-+
- 	if (!clkdm)
- 		return false;
- 
--	return (clkdm->_flags & _CLKDM_FLAG_HWSUP_ENABLED) ? true : false;
-+	spin_lock_irqsave(&clkdm->lock, flags);
-+	ret = (clkdm->_flags & _CLKDM_FLAG_HWSUP_ENABLED) ? true : false;
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
-+
-+	return ret;
- }
- 
- /* Clockdomain-to-clock/hwmod framework interface code */
- 
- static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm)
- {
-+	unsigned long flags;
-+
- 	if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_enable)
- 		return -EINVAL;
- 
-@@ -837,9 +864,11 @@ static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm)
- 	if ((atomic_inc_return(&clkdm->usecount) > 1) && autodeps)
- 		return 0;
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	arch_clkdm->clkdm_clk_enable(clkdm);
- 	pwrdm_wait_transition(clkdm->pwrdm.ptr);
- 	pwrdm_clkdm_state_switch(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
- 
- 	pr_debug("clockdomain: clkdm %s: enabled\n", clkdm->name);
- 
-@@ -848,6 +877,8 @@ static int _clkdm_clk_hwmod_enable(struct clockdomain *clkdm)
- 
- static int _clkdm_clk_hwmod_disable(struct clockdomain *clkdm)
- {
-+	unsigned long flags;
-+
- 	if (!clkdm || !arch_clkdm || !arch_clkdm->clkdm_clk_disable)
- 		return -EINVAL;
- 
-@@ -859,8 +890,10 @@ static int _clkdm_clk_hwmod_disable(struct clockdomain *clkdm)
- 	if (atomic_dec_return(&clkdm->usecount) > 0)
- 		return 0;
- 
-+	spin_lock_irqsave(&clkdm->lock, flags);
- 	arch_clkdm->clkdm_clk_disable(clkdm);
- 	pwrdm_clkdm_state_switch(clkdm);
-+	spin_unlock_irqrestore(&clkdm->lock, flags);
- 
- 	pr_debug("clockdomain: clkdm %s: disabled\n", clkdm->name);
- 
-diff --git a/arch/arm/mach-omap2/clockdomain.h b/arch/arm/mach-omap2/clockdomain.h
-index 8782a5c..1e50c88 100644
---- a/arch/arm/mach-omap2/clockdomain.h
-+++ b/arch/arm/mach-omap2/clockdomain.h
-@@ -17,6 +17,7 @@
- #define __ARCH_ARM_MACH_OMAP2_CLOCKDOMAIN_H
- 
- #include <linux/init.h>
-+#include <linux/spinlock.h>
- 
- #include "powerdomain.h"
- #include <plat/clock.h>
-@@ -128,6 +129,7 @@ struct clockdomain {
- 	const struct omap_chip_id omap_chip;
- 	atomic_t usecount;
- 	struct list_head node;
-+	spinlock_t lock;
- };
- 
- /**
-diff --git a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-index 48d0db7..f740edb 100644
---- a/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-+++ b/arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
-@@ -183,7 +183,8 @@ static int omap2_clkdm_clk_enable(struct clockdomain *clkdm)
- 		_clkdm_add_autodeps(clkdm);
- 		_enable_hwsup(clkdm);
- 	} else {
--		clkdm_wakeup(clkdm);
-+		if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)
-+			omap2_clkdm_wakeup(clkdm);
- 	}
- 
- 	return 0;
-@@ -205,7 +206,8 @@ static int omap2_clkdm_clk_disable(struct clockdomain *clkdm)
- 		_clkdm_del_autodeps(clkdm);
- 		_enable_hwsup(clkdm);
- 	} else {
--		clkdm_sleep(clkdm);
-+		if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP)
-+			omap2_clkdm_sleep(clkdm);
- 	}
- 
- 	return 0;
-diff --git a/arch/arm/mach-omap2/clockdomain44xx.c b/arch/arm/mach-omap2/clockdomain44xx.c
-index a1a4ecd..b43706a 100644
---- a/arch/arm/mach-omap2/clockdomain44xx.c
-+++ b/arch/arm/mach-omap2/clockdomain44xx.c
-@@ -95,13 +95,8 @@ static void omap4_clkdm_deny_idle(struct clockdomain *clkdm)
- 
- static int omap4_clkdm_clk_enable(struct clockdomain *clkdm)
- {
--	bool hwsup = false;
--
--	hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition,
--					clkdm->cm_inst, clkdm->clkdm_offs);
--
--	if (!hwsup)
--		clkdm_wakeup(clkdm);
-+	if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)
-+		return omap4_clkdm_wakeup(clkdm);
- 
- 	return 0;
- }
-@@ -113,8 +108,8 @@ static int omap4_clkdm_clk_disable(struct clockdomain *clkdm)
- 	hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition,
- 					clkdm->cm_inst, clkdm->clkdm_offs);
- 
--	if (!hwsup)
--		clkdm_sleep(clkdm);
-+	if (!hwsup && (clkdm->flags & CLKDM_CAN_FORCE_SLEEP))
-+		omap4_clkdm_sleep(clkdm);
- 
- 	return 0;
- }
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0093-OMAP2-clock-allow-per-SoC-clock-init-code-to-prevent.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0093-OMAP2-clock-allow-per-SoC-clock-init-code-to-prevent.patch
deleted file mode 100644
index 3870fd3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0093-OMAP2-clock-allow-per-SoC-clock-init-code-to-prevent.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From 7d9356a5f4f67150d793d6be8592ea23b0692d81 Mon Sep 17 00:00:00 2001
-From: Paul Walmsley <paul at pwsan.com>
-Date: Sun, 10 Jul 2011 05:57:06 -0600
-Subject: [PATCH 093/149] OMAP2+: clock: allow per-SoC clock init code to prevent clockdomain calls from clock code
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The OMAP2/3 clock code was written to notify the clockdomain code when
-the first clock in a clockdomain is enabled and when the last enabled
-clock in a clockdomain is disabled.  OMAP4 requires a different
-approach: the hwmod code needs to signal the clockdomain code when to
-force-enable and auto-idle a clockdomain during the IP block enable
-process.  The current conjecture is that once that hwmod sequence is
-implemented, it will no longer be necessary for the clock code to call
-into the clockdomain code for "optional clocks" on OMAP4.
-
-Add a static flag to the OMAP2+ clock code, clkdm_control, that by
-default preserves the OMAP2/3 behavior.  Also add a function,
-omap2_clk_disable_clkdm_control(), intended to be called from OMAP4
-and beyond clock initcalls, that disables the old behavior.
-
-Part of this patch was originally based on a patch by Rajendra Nayak
-<rnayak at ti.com>.
-
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
-Cc: Benoît Cousson <b-cousson at ti.com>
-Cc: Rajendra Nayak <rnayak at ti.com>
----
- arch/arm/mach-omap2/clock.c |   27 ++++++++++++++++++++++++---
- arch/arm/mach-omap2/clock.h |    3 +++
- 2 files changed, 27 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
-index 180299e..fc84576 100644
---- a/arch/arm/mach-omap2/clock.c
-+++ b/arch/arm/mach-omap2/clock.c
-@@ -38,6 +38,14 @@
- u8 cpu_mask;
- 
- /*
-+ * clkdm_control: if true, then when a clock is enabled in the
-+ * hardware, its clockdomain will first be enabled; and when a clock
-+ * is disabled in the hardware, its clockdomain will be disabled
-+ * afterwards.
-+ */
-+static bool clkdm_control = true;
-+
-+/*
-  * OMAP2+ specific clock functions
-  */
- 
-@@ -100,6 +108,19 @@ void omap2_init_clk_clkdm(struct clk *clk)
- }
- 
- /**
-+ * omap2_clk_disable_clkdm_control - disable clkdm control on clk enable/disable
-+ *
-+ * Prevent the OMAP clock code from calling into the clockdomain code
-+ * when a hardware clock in that clockdomain is enabled or disabled.
-+ * Intended to be called at init time from omap*_clk_init().  No
-+ * return value.
-+ */
-+void __init omap2_clk_disable_clkdm_control(void)
-+{
-+	clkdm_control = false;
-+}
-+
-+/**
-  * omap2_clk_dflt_find_companion - find companion clock to @clk
-  * @clk: struct clk * to find the companion clock of
-  * @other_reg: void __iomem ** to return the companion clock CM_*CLKEN va in
-@@ -268,7 +289,7 @@ void omap2_clk_disable(struct clk *clk)
- 		clk->ops->disable(clk);
- 	}
- 
--	if (clk->clkdm)
-+	if (clkdm_control && clk->clkdm)
- 		clkdm_clk_disable(clk->clkdm, clk);
- 
- 	if (clk->parent)
-@@ -308,7 +329,7 @@ int omap2_clk_enable(struct clk *clk)
- 		}
- 	}
- 
--	if (clk->clkdm) {
-+	if (clkdm_control && clk->clkdm) {
- 		ret = clkdm_clk_enable(clk->clkdm, clk);
- 		if (ret) {
- 			WARN(1, "clock: %s: could not enable clockdomain %s: "
-@@ -330,7 +351,7 @@ int omap2_clk_enable(struct clk *clk)
- 	return 0;
- 
- oce_err3:
--	if (clk->clkdm)
-+	if (clkdm_control && clk->clkdm)
- 		clkdm_clk_disable(clk->clkdm, clk);
- oce_err2:
- 	if (clk->parent)
-diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
-index e10ff2b..48ac568 100644
---- a/arch/arm/mach-omap2/clock.h
-+++ b/arch/arm/mach-omap2/clock.h
-@@ -16,6 +16,8 @@
- #ifndef __ARCH_ARM_MACH_OMAP2_CLOCK_H
- #define __ARCH_ARM_MACH_OMAP2_CLOCK_H
- 
-+#include <linux/kernel.h>
-+
- #include <plat/clock.h>
- 
- /* CM_CLKSEL2_PLL.CORE_CLK_SRC bits (2XXX) */
-@@ -72,6 +74,7 @@ void omap2_clk_disable_unused(struct clk *clk);
- #endif
- 
- void omap2_init_clk_clkdm(struct clk *clk);
-+void __init omap2_clk_disable_clkdm_control(void);
- 
- /* clkt_clksel.c public functions */
- u32 omap2_clksel_round_rate_div(struct clk *clk, unsigned long target_rate,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0094-OMAP2-hwmod-Follow-the-recommended-PRCM-module-enabl.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0094-OMAP2-hwmod-Follow-the-recommended-PRCM-module-enabl.patch
deleted file mode 100644
index 4de90a8..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0094-OMAP2-hwmod-Follow-the-recommended-PRCM-module-enabl.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 2a443d7ec48bdaa17f80fbffd82cd11d858d3655 Mon Sep 17 00:00:00 2001
-From: Rajendra Nayak <rnayak at ti.com>
-Date: Sun, 10 Jul 2011 05:57:07 -0600
-Subject: [PATCH 094/149] OMAP2+: hwmod: Follow the recommended PRCM module enable sequence
-
-On OMAP4, the PRCM recommended sequence for enabling
-a module after power-on-reset is:
--1- Force clkdm to SW_WKUP
--2- Enabling the clocks
--3- Configure desired module mode to "enable" or "auto"
--4- Wait for the desired module idle status to be FUNC
--5- Program clkdm in HW_AUTO(if supported)
-
-This sequence applies to all older OMAPs' as well,
-however since they use autodeps, it makes sure that
-no clkdm is in IDLE, and hence not requiring a force
-SW_WKUP when a module is being enabled.
-
-OMAP4 does not need to support autodeps, because
-of the dyanamic dependency feature, wherein
-the HW takes care of waking up a clockdomain from
-idle and hence the module, whenever an interconnect
-access happens to the given module.
-
-Implementing the sequence for OMAP4 requires
-the clockdomain handling that is currently done in
-clock framework to be done as part of hwmod framework
-since the step -4- above to "Wait for the desired
-module idle status to be FUNC" is done as part of
-hwmod framework.
-
-Signed-off-by: Rajendra Nayak <rnayak at ti.com>
-[b-cousson at ti.com: Adapt it to the new clkdm hwmod attribute and API]
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-[paul at pwsan.com: dropped mach-omap2/clock.c changes; modified to only
- call the clockdomain code if oh->clkdm is set; disable clock->clockdomain
- interaction on OMAP4]
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/mach-omap2/clock44xx_data.c |    1 +
- arch/arm/mach-omap2/omap_hwmod.c     |   70 ++++++++++++++++++++++++----------
- 2 files changed, 51 insertions(+), 20 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
-index 07bf0de..0d13def 100644
---- a/arch/arm/mach-omap2/clock44xx_data.c
-+++ b/arch/arm/mach-omap2/clock44xx_data.c
-@@ -3340,6 +3340,7 @@ int __init omap4xxx_clk_init(void)
- 	}
- 
- 	clk_init(&omap2_clk_functions);
-+	omap2_clk_disable_clkdm_control();
- 
- 	for (c = omap44xx_clks; c < omap44xx_clks + ARRAY_SIZE(omap44xx_clks);
- 									  c++)
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index 4424fee..84cc0bd 100644
---- a/arch/arm/mach-omap2/omap_hwmod.c
-+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -1437,6 +1437,7 @@ static int _reset(struct omap_hwmod *oh)
- static int _enable(struct omap_hwmod *oh)
- {
- 	int r;
-+	int hwsup = 0;
- 
- 	pr_debug("omap_hwmod: %s: enabling\n", oh->name);
- 
-@@ -1448,14 +1449,6 @@ static int _enable(struct omap_hwmod *oh)
- 		return -EINVAL;
- 	}
- 
--	/* Mux pins for device runtime if populated */
--	if (oh->mux && (!oh->mux->enabled ||
--			((oh->_state == _HWMOD_STATE_IDLE) &&
--			 oh->mux->pads_dynamic)))
--		omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED);
--
--	_add_initiator_dep(oh, mpu_oh);
--	_enable_clocks(oh);
- 
- 	/*
- 	 * If an IP contains only one HW reset line, then de-assert it in order
-@@ -1466,23 +1459,56 @@ static int _enable(struct omap_hwmod *oh)
- 	     oh->_state == _HWMOD_STATE_DISABLED) && oh->rst_lines_cnt == 1)
- 		_deassert_hardreset(oh, oh->rst_lines[0].name);
- 
--	r = _wait_target_ready(oh);
--	if (r) {
--		pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
--			 oh->name, r);
--		_disable_clocks(oh);
-+	/* Mux pins for device runtime if populated */
-+	if (oh->mux && (!oh->mux->enabled ||
-+			((oh->_state == _HWMOD_STATE_IDLE) &&
-+			 oh->mux->pads_dynamic)))
-+		omap_hwmod_mux(oh->mux, _HWMOD_STATE_ENABLED);
-+
-+	_add_initiator_dep(oh, mpu_oh);
- 
--		return r;
-+	if (oh->clkdm) {
-+		/*
-+		 * A clockdomain must be in SW_SUP before enabling
-+		 * completely the module. The clockdomain can be set
-+		 * in HW_AUTO only when the module become ready.
-+		 */
-+		hwsup = clkdm_in_hwsup(oh->clkdm);
-+		r = clkdm_hwmod_enable(oh->clkdm, oh);
-+		if (r) {
-+			WARN(1, "omap_hwmod: %s: could not enable clockdomain %s: %d\n",
-+			     oh->name, oh->clkdm->name, r);
-+			return r;
-+		}
- 	}
-+
-+	_enable_clocks(oh);
- 	_enable_module(oh);
- 
--	oh->_state = _HWMOD_STATE_ENABLED;
-+	r = _wait_target_ready(oh);
-+	if (!r) {
-+		/*
-+		 * Set the clockdomain to HW_AUTO only if the target is ready,
-+		 * assuming that the previous state was HW_AUTO
-+		 */
-+		if (oh->clkdm && hwsup)
-+			clkdm_allow_idle(oh->clkdm);
- 
--	/* Access the sysconfig only if the target is ready */
--	if (oh->class->sysc) {
--		if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
--			_update_sysc_cache(oh);
--		_enable_sysc(oh);
-+		oh->_state = _HWMOD_STATE_ENABLED;
-+
-+		/* Access the sysconfig only if the target is ready */
-+		if (oh->class->sysc) {
-+			if (!(oh->_int_flags & _HWMOD_SYSCONFIG_LOADED))
-+				_update_sysc_cache(oh);
-+			_enable_sysc(oh);
-+		}
-+	} else {
-+		_disable_clocks(oh);
-+		pr_debug("omap_hwmod: %s: _wait_target_ready: %d\n",
-+			 oh->name, r);
-+
-+		if (oh->clkdm)
-+			clkdm_hwmod_disable(oh->clkdm, oh);
- 	}
- 
- 	return r;
-@@ -1523,6 +1549,8 @@ static int _idle(struct omap_hwmod *oh)
- 	 * transition to complete properly.
- 	 */
- 	_disable_clocks(oh);
-+	if (oh->clkdm)
-+		clkdm_hwmod_disable(oh->clkdm, oh);
- 
- 	/* Mux pins for device idle if populated */
- 	if (oh->mux && oh->mux->pads_dynamic)
-@@ -1620,6 +1648,8 @@ static int _shutdown(struct omap_hwmod *oh)
- 			pr_warn("omap_hwmod: %s: _wait_target_disable failed\n",
- 				oh->name);
- 		_disable_clocks(oh);
-+		if (oh->clkdm)
-+			clkdm_hwmod_disable(oh->clkdm, oh);
- 	}
- 	/* XXX Should this code also force-disable the optional clocks? */
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0095-OMAP-Add-debugfs-node-to-show-the-summary-of-all-clo.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0095-OMAP-Add-debugfs-node-to-show-the-summary-of-all-clo.patch
deleted file mode 100644
index db025c7..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0095-OMAP-Add-debugfs-node-to-show-the-summary-of-all-clo.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 01eed55ec7b57fb5109e7eb70cbdebdc030135a5 Mon Sep 17 00:00:00 2001
-From: Jon Hunter <jon-hunter at ti.com>
-Date: Sun, 10 Jul 2011 05:57:33 -0600
-Subject: [PATCH 095/149] OMAP: Add debugfs node to show the summary of all clocks
-
-Add a debugfs node called "summary" to /sys/kernel/debug/clock/
-that displays a quick summary of all clocks registered in the
-"clocks" structure. The format of the output from this node is:
-
-<clock-name> <parent-name> <rate> <usecount>
-
-This debugfs node was very helpful for taking a quick snapshot of
-the linux clock tree for OMAP and ensuring clock frequencies
-calculated by the kernel were indeed correct. This patch helped
-uncover some bugs in the linux clock tree for OMAP4.
-
-Signed-off-by: Jon Hunter <jon-hunter at ti.com>
-Signed-off-by: Paul Walmsley <paul at pwsan.com>
----
- arch/arm/plat-omap/clock.c |   39 +++++++++++++++++++++++++++++++++++++++
- 1 files changed, 39 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
-index c9122dd..156b27d 100644
---- a/arch/arm/plat-omap/clock.c
-+++ b/arch/arm/plat-omap/clock.c
-@@ -475,8 +475,41 @@ int __init clk_init(struct clk_functions * custom_clocks)
- /*
-  *	debugfs support to trace clock tree hierarchy and attributes
-  */
-+
-+#include <linux/debugfs.h>
-+#include <linux/seq_file.h>
-+
- static struct dentry *clk_debugfs_root;
- 
-+static int clk_dbg_show_summary(struct seq_file *s, void *unused)
-+{
-+	struct clk *c;
-+	struct clk *pa;
-+
-+	seq_printf(s, "%-30s %-30s %-10s %s\n",
-+		"clock-name", "parent-name", "rate", "use-count");
-+
-+	list_for_each_entry(c, &clocks, node) {
-+		pa = c->parent;
-+		seq_printf(s, "%-30s %-30s %-10lu %d\n",
-+			c->name, pa ? pa->name : "none", c->rate, c->usecount);
-+	}
-+
-+	return 0;
-+}
-+
-+static int clk_dbg_open(struct inode *inode, struct file *file)
-+{
-+	return single_open(file, clk_dbg_show_summary, inode->i_private);
-+}
-+
-+static const struct file_operations debug_clock_fops = {
-+	.open           = clk_dbg_open,
-+	.read           = seq_read,
-+	.llseek         = seq_lseek,
-+	.release        = single_release,
-+};
-+
- static int clk_debugfs_register_one(struct clk *c)
- {
- 	int err;
-@@ -551,6 +584,12 @@ static int __init clk_debugfs_init(void)
- 		if (err)
- 			goto err_out;
- 	}
-+
-+	d = debugfs_create_file("summary", S_IRUGO,
-+		d, NULL, &debug_clock_fops);
-+	if (!d)
-+		return -ENOMEM;
-+
- 	return 0;
- err_out:
- 	debugfs_remove_recursive(clk_debugfs_root);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0096-OMAP2-hwmod-remove-unused-voltagedomain-pointer.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0096-OMAP2-hwmod-remove-unused-voltagedomain-pointer.patch
deleted file mode 100644
index 3815245..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0096-OMAP2-hwmod-remove-unused-voltagedomain-pointer.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c9d2e22cc8ed08fb232d99c161f8d0be18c8569e Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 11:02:59 -0700
-Subject: [PATCH 096/149] OMAP2+: hwmod: remove unused voltagedomain pointer
-
-The voltage domain pointer currently in struct omap_hwmod is not used
-and does not belong here.  Instead, voltage domains will be associated
-with powerdomains in forthcoming patches.
-
-Acked-by: Paul Walmsley <paul at pwsan.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/plat-omap/include/plat/omap_hwmod.h |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/include/plat/omap_hwmod.h b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-index 0e329ca..38ac4af 100644
---- a/arch/arm/plat-omap/include/plat/omap_hwmod.h
-+++ b/arch/arm/plat-omap/include/plat/omap_hwmod.h
-@@ -526,7 +526,6 @@ struct omap_hwmod {
- 	char				*clkdm_name;
- 	struct clockdomain		*clkdm;
- 	char				*vdd_name;
--	struct voltagedomain		*voltdm;
- 	struct omap_hwmod_ocp_if	**masters; /* connect to *_IA */
- 	struct omap_hwmod_ocp_if	**slaves;  /* connect to *_TA */
- 	void				*dev_attr;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0097-OMAP2-voltage-move-PRCM-mod-offets-into-VC-VP-struct.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0097-OMAP2-voltage-move-PRCM-mod-offets-into-VC-VP-struct.patch
deleted file mode 100644
index c4c56d0..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0097-OMAP2-voltage-move-PRCM-mod-offets-into-VC-VP-struct.patch
+++ /dev/null
@@ -1,577 +0,0 @@
-From 9d2ed2fa5cc20d7c0233d1c5c8070c7c3f0914c8 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 13:35:22 -0700
-Subject: [PATCH 097/149] OMAP2+: voltage: move PRCM mod offets into VC/VP structures
-
-Eliminate need for global variables for the various PRM module offsets by
-making them part of the VP/VC common structures
-
-Eventually, these will likely be moved again, or more likely removed
-when VP/VC code is isolated, but for now just getting rid of them as
-global variabes so that the voltage domain initialization can be
-cleaned up.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.h                      |    2 +
- arch/arm/mach-omap2/vc3xxx_data.c             |    1 +
- arch/arm/mach-omap2/vc44xx_data.c             |    1 +
- arch/arm/mach-omap2/voltage.c                 |  109 ++++++++++++-------------
- arch/arm/mach-omap2/voltage.h                 |    6 +-
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    8 +-
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    9 +-
- arch/arm/mach-omap2/vp.h                      |    2 +
- arch/arm/mach-omap2/vp3xxx_data.c             |    1 +
- arch/arm/mach-omap2/vp44xx_data.c             |    1 +
- 10 files changed, 70 insertions(+), 70 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index e776777..f7338af 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -23,6 +23,7 @@
-  * struct omap_vc_common_data - per-VC register/bitfield data
-  * @cmd_on_mask: ON bitmask in PRM_VC_CMD_VAL* register
-  * @valid: VALID bitmask in PRM_VC_BYPASS_VAL register
-+ * @prm_mod: PRM module id used for PRM register access
-  * @smps_sa_reg: Offset of PRM_VC_SMPS_SA reg from PRM start
-  * @smps_volra_reg: Offset of PRM_VC_SMPS_VOL_RA reg from PRM start
-  * @bypass_val_reg: Offset of PRM_VC_BYPASS_VAL reg from PRM start
-@@ -40,6 +41,7 @@
- struct omap_vc_common_data {
- 	u32 cmd_on_mask;
- 	u32 valid;
-+	s16 prm_mod;
- 	u8 smps_sa_reg;
- 	u8 smps_volra_reg;
- 	u8 bypass_val_reg;
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index f37dc4b..55caccb 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -30,6 +30,7 @@
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
- static struct omap_vc_common_data omap3_vc_common = {
-+	.prm_mod         = OMAP3430_GR_MOD,
- 	.smps_sa_reg	 = OMAP3_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg	 = OMAP3_PRM_VC_SMPS_VOL_RA_OFFSET,
- 	.bypass_val_reg	 = OMAP3_PRM_VC_BYPASS_VAL_OFFSET,
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index a98da8d..b62678e 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -31,6 +31,7 @@
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
- static const struct omap_vc_common_data omap4_vc_common = {
-+	.prm_mod = OMAP4430_PRM_DEVICE_INST,
- 	.smps_sa_reg = OMAP4_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg = OMAP4_PRM_VC_VAL_SMPS_RA_VOL_OFFSET,
- 	.bypass_val_reg = OMAP4_PRM_VC_VAL_BYPASS_OFFSET,
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 9ef3789..3151d75 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -50,10 +50,6 @@ static struct omap_vdd_info **vdd_info;
-  */
- static int nr_scalable_vdd;
- 
--/* XXX document */
--static s16 prm_mod_offs;
--static s16 prm_irqst_ocp_mod_offs;
--
- static struct dentry *voltage_dir;
- 
- /* Init function pointers */
-@@ -147,7 +143,7 @@ static int vp_volt_debug_get(void *data, u64 *val)
- 		return -EINVAL;
- 	}
- 
--	vsel = vdd->read_reg(prm_mod_offs, vdd->vp_data->voltage);
-+	vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
- 
- 	if (!vdd->pmic_info->vsel_to_uv) {
- 		pr_warning("PMIC function to convert vsel to voltage"
-@@ -197,19 +193,19 @@ static void vp_latch_vsel(struct omap_vdd_info *vdd)
- 
- 	vsel = vdd->pmic_info->uv_to_vsel(uvdc);
- 
--	vpconfig = vdd->read_reg(prm_mod_offs, vdd->vp_data->vpconfig);
-+	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	vpconfig &= ~(vdd->vp_data->vp_common->vpconfig_initvoltage_mask |
- 			vdd->vp_data->vp_common->vpconfig_initvdd);
- 	vpconfig |= vsel << vdd->vp_data->vp_common->vpconfig_initvoltage_shift;
- 
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
- 	vdd->write_reg((vpconfig | vdd->vp_data->vp_common->vpconfig_initvdd),
--		       prm_mod_offs, vdd->vp_data->vpconfig);
-+		       vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/* Clear initVDD copy trigger bit */
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- }
- 
- /* Generic voltage init functions */
-@@ -227,19 +223,19 @@ static void __init vp_init(struct omap_vdd_info *vdd)
- 		(vdd->vp_rt_data.vpconfig_errorgain <<
- 		vdd->vp_data->vp_common->vpconfig_errorgain_shift) |
- 		vdd->vp_data->vp_common->vpconfig_timeouten;
--	vdd->write_reg(vp_val, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
- 		vdd->vp_data->vp_common->vstepmin_smpswaittimemin_shift) |
- 		(vdd->vp_rt_data.vstepmin_stepmin <<
- 		vdd->vp_data->vp_common->vstepmin_stepmin_shift));
--	vdd->write_reg(vp_val, prm_mod_offs, vdd->vp_data->vstepmin);
-+	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstepmin);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
- 		vdd->vp_data->vp_common->vstepmax_smpswaittimemax_shift) |
- 		(vdd->vp_rt_data.vstepmax_stepmax <<
- 		vdd->vp_data->vp_common->vstepmax_stepmax_shift));
--	vdd->write_reg(vp_val, prm_mod_offs, vdd->vp_data->vstepmax);
-+	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstepmax);
- 
- 	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
- 		vdd->vp_data->vp_common->vlimitto_vddmax_shift) |
-@@ -247,7 +243,7 @@ static void __init vp_init(struct omap_vdd_info *vdd)
- 		vdd->vp_data->vp_common->vlimitto_vddmin_shift) |
- 		(vdd->vp_rt_data.vlimitto_timeout <<
- 		vdd->vp_data->vp_common->vlimitto_timeout_shift));
--	vdd->write_reg(vp_val, prm_mod_offs, vdd->vp_data->vlimitto);
-+	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vlimitto);
- }
- 
- static void __init vdd_debugfs_init(struct omap_vdd_info *vdd)
-@@ -336,23 +332,23 @@ static int _pre_volt_scale(struct omap_vdd_info *vdd,
- 		volt_data = NULL;
- 
- 	*target_vsel = vdd->pmic_info->uv_to_vsel(target_volt);
--	*current_vsel = vdd->read_reg(prm_mod_offs, vdd->vp_data->voltage);
-+	*current_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
- 
- 	/* Setting the ON voltage to the new target voltage */
--	vc_cmdval = vdd->read_reg(prm_mod_offs, vdd->vc_data->cmdval_reg);
-+	vc_cmdval = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
- 	vc_cmdval &= ~vc_common->cmd_on_mask;
- 	vc_cmdval |= (*target_vsel << vc_common->cmd_on_shift);
--	vdd->write_reg(vc_cmdval, prm_mod_offs, vdd->vc_data->cmdval_reg);
-+	vdd->write_reg(vc_cmdval, vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
- 
- 	/* Setting vp errorgain based on the voltage */
- 	if (volt_data) {
--		vp_errgain_val = vdd->read_reg(prm_mod_offs,
-+		vp_errgain_val = vdd->read_reg(vdd->vp_data->vp_common->prm_mod,
- 					       vdd->vp_data->vpconfig);
- 		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
- 		vp_errgain_val &= ~vp_common->vpconfig_errorgain_mask;
- 		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
- 			vp_common->vpconfig_errorgain_shift;
--		vdd->write_reg(vp_errgain_val, prm_mod_offs,
-+		vdd->write_reg(vp_errgain_val, vdd->vp_data->vp_common->prm_mod,
- 			       vdd->vp_data->vpconfig);
- 	}
- 
-@@ -394,11 +390,11 @@ static int vc_bypass_scale_voltage(struct omap_vdd_info *vdd,
- 			(vdd->pmic_info->i2c_slave_addr <<
- 			vdd->vc_data->vc_common->slaveaddr_shift);
- 
--	vdd->write_reg(vc_bypass_value, prm_mod_offs, vc_bypass_val_reg);
--	vdd->write_reg(vc_bypass_value | vc_valid, prm_mod_offs,
-+	vdd->write_reg(vc_bypass_value, vdd->vc_data->vc_common->prm_mod, vc_bypass_val_reg);
-+	vdd->write_reg(vc_bypass_value | vc_valid, vdd->vc_data->vc_common->prm_mod,
- 		       vc_bypass_val_reg);
- 
--	vc_bypass_value = vdd->read_reg(prm_mod_offs, vc_bypass_val_reg);
-+	vc_bypass_value = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vc_bypass_val_reg);
- 	/*
- 	 * Loop till the bypass command is acknowledged from the SMPS.
- 	 * NOTE: This is legacy code. The loop count and retry count needs
-@@ -417,7 +413,7 @@ static int vc_bypass_scale_voltage(struct omap_vdd_info *vdd,
- 			loop_cnt = 0;
- 			udelay(10);
- 		}
--		vc_bypass_value = vdd->read_reg(prm_mod_offs,
-+		vc_bypass_value = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
- 						vc_bypass_val_reg);
- 	}
- 
-@@ -445,8 +441,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	 */
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
- 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
--		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
-+			       vdd->prm_irqst_mod, prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
- 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
- 			break;
- 		udelay(1);
-@@ -458,28 +454,28 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	}
- 
- 	/* Configure for VP-Force Update */
--	vpconfig = vdd->read_reg(prm_mod_offs, vdd->vp_data->vpconfig);
-+	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	vpconfig &= ~(vdd->vp_data->vp_common->vpconfig_initvdd |
- 			vdd->vp_data->vp_common->vpconfig_forceupdate |
- 			vdd->vp_data->vp_common->vpconfig_initvoltage_mask);
- 	vpconfig |= ((target_vsel <<
- 			vdd->vp_data->vp_common->vpconfig_initvoltage_shift));
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
- 	vpconfig |= vdd->vp_data->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/* Force update of voltage */
- 	vpconfig |= vdd->vp_data->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/*
- 	 * Wait for TransactionDone. Typical latency is <200us.
- 	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
- 	 */
- 	timeout = 0;
--	omap_test_timeout((vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
-+	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
- 			   vdd->vp_data->prm_irqst_data->tranxdone_status),
- 			  VP_TRANXDONE_TIMEOUT, timeout);
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
-@@ -496,8 +492,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	timeout = 0;
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
- 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       prm_irqst_ocp_mod_offs, prm_irqst_reg);
--		if (!(vdd->read_reg(prm_irqst_ocp_mod_offs, prm_irqst_reg) &
-+			       vdd->prm_irqst_mod, prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
- 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
- 			break;
- 		udelay(1);
-@@ -508,13 +504,13 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 			"to clear the TRANXDONE status\n",
- 			__func__, vdd->voltdm.name);
- 
--	vpconfig = vdd->read_reg(prm_mod_offs, vdd->vp_data->vpconfig);
-+	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	/* Clear initVDD copy trigger bit */
- 	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	/* Clear force bit */
- 	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	return 0;
- }
-@@ -525,10 +521,10 @@ static void __init omap3_vfsm_init(struct omap_vdd_info *vdd)
- 	 * Voltage Manager FSM parameters init
- 	 * XXX This data should be passed in from the board file
- 	 */
--	vdd->write_reg(OMAP3_CLKSETUP, prm_mod_offs, OMAP3_PRM_CLKSETUP_OFFSET);
--	vdd->write_reg(OMAP3_VOLTOFFSET, prm_mod_offs,
-+	vdd->write_reg(OMAP3_CLKSETUP, vdd->vc_data->vc_common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
-+	vdd->write_reg(OMAP3_VOLTOFFSET, vdd->vc_data->vc_common->prm_mod,
- 		       OMAP3_PRM_VOLTOFFSET_OFFSET);
--	vdd->write_reg(OMAP3_VOLTSETUP2, prm_mod_offs,
-+	vdd->write_reg(OMAP3_VOLTSETUP2, vdd->vc_data->vc_common->prm_mod,
- 		       OMAP3_PRM_VOLTSETUP2_OFFSET);
- }
- 
-@@ -550,15 +546,15 @@ static void __init omap3_vc_init(struct omap_vdd_info *vdd)
- 		(onlp_vsel << vdd->vc_data->vc_common->cmd_onlp_shift) |
- 		(ret_vsel << vdd->vc_data->vc_common->cmd_ret_shift) |
- 		(off_vsel << vdd->vc_data->vc_common->cmd_off_shift));
--	vdd->write_reg(vc_val, prm_mod_offs, vdd->vc_data->cmdval_reg);
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
- 
- 	/*
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
- 	 */
--	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, prm_mod_offs,
-+	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vdd->vc_data->vc_common->prm_mod,
- 			OMAP3_PRM_VC_CH_CONF_OFFSET);
--	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, prm_mod_offs,
-+	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vdd->vc_data->vc_common->prm_mod,
- 			OMAP3_PRM_VC_I2C_CFG_OFFSET);
- 
- 	omap3_vfsm_init(vdd);
-@@ -585,11 +581,11 @@ static void __init omap4_vc_init(struct omap_vdd_info *vdd)
- 	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
- 		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
- 		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
--	vdd->write_reg(vc_val, prm_mod_offs, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
- 
- 	/* XXX These are magic numbers and do not belong! */
- 	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
--	vdd->write_reg(vc_val, prm_mod_offs, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
- 
- 	is_initialized = true;
- }
-@@ -612,27 +608,27 @@ static void __init omap_vc_init(struct omap_vdd_info *vdd)
- 	}
- 
- 	/* Set up the SMPS_SA(i2c slave address in VC */
--	vc_val = vdd->read_reg(prm_mod_offs,
-+	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
- 			       vdd->vc_data->vc_common->smps_sa_reg);
- 	vc_val &= ~vdd->vc_data->smps_sa_mask;
- 	vc_val |= vdd->pmic_info->i2c_slave_addr << vdd->vc_data->smps_sa_shift;
--	vdd->write_reg(vc_val, prm_mod_offs,
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod,
- 		       vdd->vc_data->vc_common->smps_sa_reg);
- 
- 	/* Setup the VOLRA(pmic reg addr) in VC */
--	vc_val = vdd->read_reg(prm_mod_offs,
-+	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
- 			       vdd->vc_data->vc_common->smps_volra_reg);
- 	vc_val &= ~vdd->vc_data->smps_volra_mask;
- 	vc_val |= vdd->pmic_info->pmic_reg << vdd->vc_data->smps_volra_shift;
--	vdd->write_reg(vc_val, prm_mod_offs,
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod,
- 		       vdd->vc_data->vc_common->smps_volra_reg);
- 
- 	/* Configure the setup times */
--	vc_val = vdd->read_reg(prm_mod_offs, vdd->vfsm->voltsetup_reg);
-+	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
- 	vc_val &= ~vdd->vfsm->voltsetup_mask;
- 	vc_val |= vdd->pmic_info->volt_setup_time <<
- 			vdd->vfsm->voltsetup_shift;
--	vdd->write_reg(vc_val, prm_mod_offs, vdd->vfsm->voltsetup_reg);
-+	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
- 
- 	if (cpu_is_omap34xx())
- 		omap3_vc_init(vdd);
-@@ -713,7 +709,7 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 		return 0;
- 	}
- 
--	curr_vsel = vdd->read_reg(prm_mod_offs, vdd->vp_data->voltage);
-+	curr_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
- 
- 	if (!vdd->pmic_info || !vdd->pmic_info->vsel_to_uv) {
- 		pr_warning("%s: PMIC function to convert vsel to voltage"
-@@ -755,9 +751,9 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 	vp_latch_vsel(vdd);
- 
- 	/* Enable VP */
--	vpconfig = vdd->read_reg(prm_mod_offs, vdd->vp_data->vpconfig);
-+	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	vpconfig |= vdd->vp_data->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	vdd->vp_enabled = true;
- }
- 
-@@ -794,14 +790,14 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 	}
- 
- 	/* Disable VP */
--	vpconfig = vdd->read_reg(prm_mod_offs, vdd->vp_data->vpconfig);
-+	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, prm_mod_offs, vdd->vp_data->vpconfig);
-+	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 
- 	/*
- 	 * Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
- 	 */
--	omap_test_timeout((vdd->read_reg(prm_mod_offs, vdd->vp_data->vstatus)),
-+	omap_test_timeout((vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstatus)),
- 				VP_IDLE_TIMEOUT, timeout);
- 
- 	if (timeout >= VP_IDLE_TIMEOUT)
-@@ -1094,12 +1090,9 @@ int __init omap_voltage_late_init(void)
- }
- 
- /* XXX document */
--int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_ocp_mod,
--				   struct omap_vdd_info *omap_vdd_array[],
-+int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
- 				   u8 omap_vdd_count)
- {
--	prm_mod_offs = prm_mod;
--	prm_irqst_ocp_mod_offs = prm_irqst_ocp_mod;
- 	vdd_info = omap_vdd_array;
- 	nr_scalable_vdd = omap_vdd_count;
- 	return 0;
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index e9f5408..ffdc55e 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -119,6 +119,7 @@ struct omap_volt_pmic_info {
-  * @voltdm		: pointer to the voltage domain structure
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-+ * @prm_irqst_mod       : PRM module id used for PRM IRQ status register access
-  * @vp_enabled		: flag to keep track of whether vp is enabled or not
-  * @volt_scale		: API to scale the voltage of the vdd.
-  */
-@@ -133,6 +134,8 @@ struct omap_vdd_info {
- 	struct dentry *debug_dir;
- 	u32 curr_volt;
- 	bool vp_enabled;
-+
-+	s16 prm_irqst_mod;
- 	u32 (*read_reg) (u16 mod, u8 offset);
- 	void (*write_reg) (u32 val, u16 mod, u8 offset);
- 	int (*volt_scale) (struct omap_vdd_info *vdd,
-@@ -151,8 +154,7 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		unsigned long volt);
- unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
- struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
--int __init omap_voltage_early_init(s16 prm_mod, s16 prm_irqst_mod,
--				   struct omap_vdd_info *omap_vdd_array[],
-+int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
- 				   u8 omap_vdd_count);
- #ifdef CONFIG_PM
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index def230f..0d30b7f 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -38,6 +38,7 @@ static const struct omap_vfsm_instance_data omap3_vdd1_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap3_vdd1_info = {
-+	.prm_irqst_mod = OCP_MOD,
- 	.vp_data = &omap3_vp1_data,
- 	.vc_data = &omap3_vc1_data,
- 	.vfsm = &omap3_vdd1_vfsm_data,
-@@ -53,6 +54,7 @@ static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap3_vdd2_info = {
-+	.prm_irqst_mod = OCP_MOD,
- 	.vp_data = &omap3_vp2_data,
- 	.vc_data = &omap3_vc2_data,
- 	.vfsm = &omap3_vdd2_vfsm_data,
-@@ -70,9 +72,6 @@ static struct omap_vdd_info *omap3_vdd_info[] = {
- /* OMAP3 specific voltage init functions */
- static int __init omap3xxx_voltage_early_init(void)
- {
--	s16 prm_mod = OMAP3430_GR_MOD;
--	s16 prm_irqst_ocp_mod = OCP_MOD;
--
- 	if (!cpu_is_omap34xx())
- 		return 0;
- 
-@@ -88,8 +87,7 @@ static int __init omap3xxx_voltage_early_init(void)
- 		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
- 	}
- 
--	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
--				       omap3_vdd_info,
-+	return omap_voltage_early_init(omap3_vdd_info,
- 				       ARRAY_SIZE(omap3_vdd_info));
- };
- core_initcall(omap3xxx_voltage_early_init);
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index cb64996..1c2d7d7 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -37,6 +37,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_mpu_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_mpu_info = {
-+	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.vp_data = &omap4_vp_mpu_data,
- 	.vc_data = &omap4_vc_mpu_data,
- 	.vfsm = &omap4_vdd_mpu_vfsm_data,
-@@ -50,6 +51,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_iva_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_iva_info = {
-+	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.vp_data = &omap4_vp_iva_data,
- 	.vc_data = &omap4_vc_iva_data,
- 	.vfsm = &omap4_vdd_iva_vfsm_data,
-@@ -63,6 +65,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_core_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_core_info = {
-+	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.vp_data = &omap4_vp_core_data,
- 	.vc_data = &omap4_vc_core_data,
- 	.vfsm = &omap4_vdd_core_vfsm_data,
-@@ -81,9 +84,6 @@ static struct omap_vdd_info *omap4_vdd_info[] = {
- /* OMAP4 specific voltage init functions */
- static int __init omap44xx_voltage_early_init(void)
- {
--	s16 prm_mod = OMAP4430_PRM_DEVICE_INST;
--	s16 prm_irqst_ocp_mod = OMAP4430_PRM_OCP_SOCKET_INST;
--
- 	if (!cpu_is_omap44xx())
- 		return 0;
- 
-@@ -95,8 +95,7 @@ static int __init omap44xx_voltage_early_init(void)
- 	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
- 	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
- 
--	return omap_voltage_early_init(prm_mod, prm_irqst_ocp_mod,
--				       omap4_vdd_info,
-+	return omap_voltage_early_init(omap4_vdd_info,
- 				       ARRAY_SIZE(omap4_vdd_info));
- };
- core_initcall(omap44xx_voltage_early_init);
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 7ce134f..d277da6 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -42,6 +42,7 @@
-  * @vpconfig_vlimitto_vddmin_shift: VDDMIN field shift in PRM_VP*_VLIMITTO reg
-  * @vpconfig_vlimitto_vddmax_shift: VDDMAX field shift in PRM_VP*_VLIMITTO reg
-  * @vpconfig_vlimitto_timeout_shift: TIMEOUT field shift in PRM_VP*_VLIMITTO reg
-+ * @prm_mod: PRM module id used for PRM register access
-  *
-  * XXX It it not necessary to have both a mask and a shift for the same
-  *     bitfield - remove one
-@@ -54,6 +55,7 @@ struct omap_vp_common_data {
- 	u32 vpconfig_initvdd;
- 	u32 vpconfig_forceupdate;
- 	u32 vpconfig_vpenable;
-+	s16 prm_mod;
- 	u8 vpconfig_erroroffset_shift;
- 	u8 vpconfig_errorgain_shift;
- 	u8 vpconfig_initvoltage_shift;
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index 6452170..c9b3e64 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -31,6 +31,7 @@
-  * XXX This stuff presumably belongs in the vp3xxx.c or vp.c file.
-  */
- static const struct omap_vp_common_data omap3_vp_common = {
-+	.prm_mod = OMAP3430_GR_MOD,
- 	.vpconfig_erroroffset_shift = OMAP3430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP3430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP3430_ERRORGAIN_SHIFT,
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 65d1ad6..1a0842e 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -32,6 +32,7 @@
-  * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
-  */
- static const struct omap_vp_common_data omap4_vp_common = {
-+	.prm_mod = OMAP4430_PRM_DEVICE_INST,
- 	.vpconfig_erroroffset_shift = OMAP4430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP4430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP4430_ERRORGAIN_SHIFT,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0098-OMAP2-voltage-move-prm_irqst_reg-from-VP-into-voltag.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0098-OMAP2-voltage-move-prm_irqst_reg-from-VP-into-voltag.patch
deleted file mode 100644
index 2b2727c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0098-OMAP2-voltage-move-prm_irqst_reg-from-VP-into-voltag.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From 6e8557b224128200bac5f99b41bc6213de05ad69 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 17:20:35 -0700
-Subject: [PATCH 098/149] OMAP2+: voltage: move prm_irqst_reg from VP into voltage domain
-
-The prm_irqst_reg is not part of the VP.  Move it up into the common
-voltage domain struct.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c                 |   15 +++++++--------
- arch/arm/mach-omap2/voltage.h                 |    1 +
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    2 ++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    3 +++
- arch/arm/mach-omap2/vp.h                      |    3 ---
- arch/arm/mach-omap2/vp3xxx_data.c             |    2 --
- arch/arm/mach-omap2/vp44xx_data.c             |    3 ---
- 7 files changed, 13 insertions(+), 16 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 3151d75..a366a6b 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -426,23 +426,21 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 		unsigned long target_volt)
- {
- 	u32 vpconfig;
--	u8 target_vsel, current_vsel, prm_irqst_reg;
-+	u8 target_vsel, current_vsel;
- 	int ret, timeout = 0;
- 
- 	ret = _pre_volt_scale(vdd, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
- 		return ret;
- 
--	prm_irqst_reg = vdd->vp_data->prm_irqst_data->prm_irqst_reg;
--
- 	/*
- 	 * Clear all pending TransactionDone interrupt/status. Typical latency
- 	 * is <3us
- 	 */
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
- 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
-+			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
- 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
- 			break;
- 		udelay(1);
-@@ -475,7 +473,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
- 	 */
- 	timeout = 0;
--	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
-+	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod,
-+					 vdd->prm_irqst_reg) &
- 			   vdd->vp_data->prm_irqst_data->tranxdone_status),
- 			  VP_TRANXDONE_TIMEOUT, timeout);
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
-@@ -492,8 +491,8 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	timeout = 0;
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
- 		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, prm_irqst_reg) &
-+			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
- 		      vdd->vp_data->prm_irqst_data->tranxdone_status))
- 			break;
- 		udelay(1);
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index ffdc55e..db23d49 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -136,6 +136,7 @@ struct omap_vdd_info {
- 	bool vp_enabled;
- 
- 	s16 prm_irqst_mod;
-+	u8 prm_irqst_reg;
- 	u32 (*read_reg) (u16 mod, u8 offset);
- 	void (*write_reg) (u32 val, u16 mod, u8 offset);
- 	int (*volt_scale) (struct omap_vdd_info *vdd,
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 0d30b7f..f831f9a 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -39,6 +39,7 @@ static const struct omap_vfsm_instance_data omap3_vdd1_vfsm_data = {
- 
- static struct omap_vdd_info omap3_vdd1_info = {
- 	.prm_irqst_mod = OCP_MOD,
-+	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp1_data,
- 	.vc_data = &omap3_vc1_data,
- 	.vfsm = &omap3_vdd1_vfsm_data,
-@@ -55,6 +56,7 @@ static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
- 
- static struct omap_vdd_info omap3_vdd2_info = {
- 	.prm_irqst_mod = OCP_MOD,
-+	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp2_data,
- 	.vc_data = &omap3_vc2_data,
- 	.vfsm = &omap3_vdd2_vfsm_data,
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 1c2d7d7..64dc265 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -38,6 +38,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_mpu_vfsm_data = {
- 
- static struct omap_vdd_info omap4_vdd_mpu_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
-+	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
- 	.vp_data = &omap4_vp_mpu_data,
- 	.vc_data = &omap4_vc_mpu_data,
- 	.vfsm = &omap4_vdd_mpu_vfsm_data,
-@@ -52,6 +53,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_iva_vfsm_data = {
- 
- static struct omap_vdd_info omap4_vdd_iva_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
-+	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_iva_data,
- 	.vc_data = &omap4_vc_iva_data,
- 	.vfsm = &omap4_vdd_iva_vfsm_data,
-@@ -66,6 +68,7 @@ static const struct omap_vfsm_instance_data omap4_vdd_core_vfsm_data = {
- 
- static struct omap_vdd_info omap4_vdd_core_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
-+	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_core_data,
- 	.vc_data = &omap4_vc_core_data,
- 	.vfsm = &omap4_vdd_core_vfsm_data,
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index d277da6..5406b08 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -70,16 +70,13 @@ struct omap_vp_common_data {
- 
- /**
-  * struct omap_vp_prm_irqst_data - PRM_IRQSTATUS_MPU.VP_TRANXDONE_ST data
-- * @prm_irqst_reg: reg offset for PRM_IRQSTATUS_MPU from top of PRM
-  * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-  *
-- * XXX prm_irqst_reg does not belong here
-  * XXX Note that on OMAP3, VP_TRANXDONE interrupt may not work due to a
-  *     hardware bug
-  * XXX This structure is probably not needed
-  */
- struct omap_vp_prm_irqst_data {
--	u8 prm_irqst_reg;
- 	u32 tranxdone_status;
- };
- 
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index c9b3e64..a8ea045 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -51,7 +51,6 @@ static const struct omap_vp_common_data omap3_vp_common = {
- };
- 
- static const struct omap_vp_prm_irqst_data omap3_vp1_prm_irqst_data = {
--	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
- };
- 
-@@ -67,7 +66,6 @@ struct omap_vp_instance_data omap3_vp1_data = {
- };
- 
- static const struct omap_vp_prm_irqst_data omap3_vp2_prm_irqst_data = {
--	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
- };
- 
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 1a0842e..0957c24 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -52,7 +52,6 @@ static const struct omap_vp_common_data omap4_vp_common = {
- };
- 
- static const struct omap_vp_prm_irqst_data omap4_vp_mpu_prm_irqst_data = {
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
- 	.tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
- };
- 
-@@ -68,7 +67,6 @@ struct omap_vp_instance_data omap4_vp_mpu_data = {
- };
- 
- static const struct omap_vp_prm_irqst_data omap4_vp_iva_prm_irqst_data = {
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
- };
- 
-@@ -84,7 +82,6 @@ struct omap_vp_instance_data omap4_vp_iva_data = {
- };
- 
- static const struct omap_vp_prm_irqst_data omap4_vp_core_prm_irqst_data = {
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0099-OMAP2-voltage-start-towards-a-new-voltagedomain-laye.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0099-OMAP2-voltage-start-towards-a-new-voltagedomain-laye.patch
deleted file mode 100644
index 930f985..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0099-OMAP2-voltage-start-towards-a-new-voltagedomain-laye.patch
+++ /dev/null
@@ -1,986 +0,0 @@
-From 1e7eea5a5f4557d90e5b25e4473b7cb77540b7cd Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 14:25:45 -0700
-Subject: [PATCH 099/149] OMAP2+: voltage: start towards a new voltagedomain layer
-
-Start cleaning up the voltage layer to have a voltage domain layer
-that resembles the structure of the existing clock and power domain
-layers.  To that end:
-
-- move the 'struct voltagedomain' out of 'struct omap_vdd_info' to
-  become the primary data structure.
-
-- convert any functions taking a pointer to struct omap_vdd_info into
-  functions taking a struct voltagedomain pointer.
-
-- convert the register & initialize of voltage domains to look like
-  that of powerdomains
-
-- convert omap_voltage_domain_lookup() to voltdm_lookup(), modeled
-  after the current powerdomain and clockdomain lookup functions.
-
-- omap_voltage_late_init(): only configure VDD info when
-  the vdd_info struct is non-NULL
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/io.c                      |    3 +
- arch/arm/mach-omap2/omap_twl.c                |   10 +-
- arch/arm/mach-omap2/pm.c                      |    2 +-
- arch/arm/mach-omap2/sr_device.c               |    2 +-
- arch/arm/mach-omap2/voltage.c                 |  257 ++++++++++++++-----------
- arch/arm/mach-omap2/voltage.h                 |   27 ++--
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |   34 ++--
- arch/arm/mach-omap2/voltagedomains44xx_data.c |   44 ++--
- 8 files changed, 207 insertions(+), 172 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index 2ce1ce6..9f5a846 100644
---- a/arch/arm/mach-omap2/io.c
-+++ b/arch/arm/mach-omap2/io.c
-@@ -38,6 +38,7 @@
- #include "io.h"
- 
- #include <plat/omap-pm.h>
-+#include "voltage.h"
- #include "powerdomain.h"
- 
- #include "clockdomain.h"
-@@ -349,10 +350,12 @@ void __init omap2_init_common_infrastructure(void)
- 		omap2xxx_clockdomains_init();
- 		omap2430_hwmod_init();
- 	} else if (cpu_is_omap34xx()) {
-+		omap3xxx_voltagedomains_init();
- 		omap3xxx_powerdomains_init();
- 		omap3xxx_clockdomains_init();
- 		omap3xxx_hwmod_init();
- 	} else if (cpu_is_omap44xx()) {
-+		omap44xx_voltagedomains_init();
- 		omap44xx_powerdomains_init();
- 		omap44xx_clockdomains_init();
- 		omap44xx_hwmod_init();
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 07d6140..fcd2f62 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -250,13 +250,13 @@ int __init omap4_twl_init(void)
- 	if (!cpu_is_omap44xx())
- 		return -ENODEV;
- 
--	voltdm = omap_voltage_domain_lookup("mpu");
-+	voltdm = voltdm_lookup("mpu");
- 	omap_voltage_register_pmic(voltdm, &omap4_mpu_volt_info);
- 
--	voltdm = omap_voltage_domain_lookup("iva");
-+	voltdm = voltdm_lookup("iva");
- 	omap_voltage_register_pmic(voltdm, &omap4_iva_volt_info);
- 
--	voltdm = omap_voltage_domain_lookup("core");
-+	voltdm = voltdm_lookup("core");
- 	omap_voltage_register_pmic(voltdm, &omap4_core_volt_info);
- 
- 	return 0;
-@@ -288,10 +288,10 @@ int __init omap3_twl_init(void)
- 	if (!twl_sr_enable_autoinit)
- 		omap3_twl_set_sr_bit(true);
- 
--	voltdm = omap_voltage_domain_lookup("mpu");
-+	voltdm = voltdm_lookup("mpu");
- 	omap_voltage_register_pmic(voltdm, &omap3_mpu_volt_info);
- 
--	voltdm = omap_voltage_domain_lookup("core");
-+	voltdm = voltdm_lookup("core");
- 	omap_voltage_register_pmic(voltdm, &omap3_core_volt_info);
- 
- 	return 0;
-diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
-index 3feb359..3bce29b 100644
---- a/arch/arm/mach-omap2/pm.c
-+++ b/arch/arm/mach-omap2/pm.c
-@@ -183,7 +183,7 @@ static int __init omap2_set_init_voltage(char *vdd_name, char *clk_name,
- 		goto exit;
- 	}
- 
--	voltdm = omap_voltage_domain_lookup(vdd_name);
-+	voltdm = voltdm_lookup(vdd_name);
- 	if (IS_ERR(voltdm)) {
- 		printk(KERN_ERR "%s: Unable to get vdd pointer for vdd_%s\n",
- 			__func__, vdd_name);
-diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
-index 10d3c5e..2782d3f 100644
---- a/arch/arm/mach-omap2/sr_device.c
-+++ b/arch/arm/mach-omap2/sr_device.c
-@@ -102,7 +102,7 @@ static int sr_dev_init(struct omap_hwmod *oh, void *user)
- 	sr_data->senn_mod = 0x1;
- 	sr_data->senp_mod = 0x1;
- 
--	sr_data->voltdm = omap_voltage_domain_lookup(oh->vdd_name);
-+	sr_data->voltdm = voltdm_lookup(oh->vdd_name);
- 	if (IS_ERR(sr_data->voltdm)) {
- 		pr_err("%s: Unable to get voltage domain pointer for VDD %s\n",
- 			__func__, oh->vdd_name);
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index a366a6b..4f0361a 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -40,20 +40,13 @@
- #include "vc.h"
- #include "vp.h"
- 
--#define VOLTAGE_DIR_SIZE	16
--
--
--static struct omap_vdd_info **vdd_info;
--
--/*
-- * Number of scalable voltage domains.
-- */
--static int nr_scalable_vdd;
-+static LIST_HEAD(voltdm_list);
- 
-+#define VOLTAGE_DIR_SIZE	16
- static struct dentry *voltage_dir;
- 
- /* Init function pointers */
--static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
-+static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 					unsigned long target_volt);
- 
- static u32 omap3_voltage_read_reg(u16 mod, u8 offset)
-@@ -77,11 +70,12 @@ static void omap4_voltage_write_reg(u32 val, u16 mod, u8 offset)
- 	omap4_prminst_write_inst_reg(val, OMAP4430_PRM_PARTITION, mod, offset);
- }
- 
--static int __init _config_common_vdd_data(struct omap_vdd_info *vdd)
-+static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
- 	char *sys_ck_name;
- 	struct clk *sys_ck;
- 	u32 sys_clk_speed, timeout_val, waittime;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 
- 	/*
- 	 * XXX Clockfw should handle this, or this should be in a
-@@ -101,7 +95,7 @@ static int __init _config_common_vdd_data(struct omap_vdd_info *vdd)
- 	sys_ck = clk_get(NULL, sys_ck_name);
- 	if (IS_ERR(sys_ck)) {
- 		pr_warning("%s: Could not get the sys clk to calculate"
--			"various vdd_%s params\n", __func__, vdd->voltdm.name);
-+			"various vdd_%s params\n", __func__, voltdm->name);
- 		return -EINVAL;
- 	}
- 	sys_clk_speed = clk_get_rate(sys_ck);
-@@ -135,7 +129,8 @@ static int __init _config_common_vdd_data(struct omap_vdd_info *vdd)
- /* Voltage debugfs support */
- static int vp_volt_debug_get(void *data, u64 *val)
- {
--	struct omap_vdd_info *vdd = (struct omap_vdd_info *) data;
-+	struct voltagedomain *voltdm = (struct voltagedomain *)data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u8 vsel;
- 
- 	if (!vdd) {
-@@ -157,14 +152,14 @@ static int vp_volt_debug_get(void *data, u64 *val)
- 
- static int nom_volt_debug_get(void *data, u64 *val)
- {
--	struct omap_vdd_info *vdd = (struct omap_vdd_info *) data;
-+	struct voltagedomain *voltdm = (struct voltagedomain *)data;
- 
--	if (!vdd) {
-+	if (!voltdm) {
- 		pr_warning("Wrong paramater passed\n");
- 		return -EINVAL;
- 	}
- 
--	*val = omap_voltage_get_nom_volt(&vdd->voltdm);
-+	*val = omap_voltage_get_nom_volt(voltdm);
- 
- 	return 0;
- }
-@@ -172,16 +167,17 @@ static int nom_volt_debug_get(void *data, u64 *val)
- DEFINE_SIMPLE_ATTRIBUTE(vp_volt_debug_fops, vp_volt_debug_get, NULL, "%llu\n");
- DEFINE_SIMPLE_ATTRIBUTE(nom_volt_debug_fops, nom_volt_debug_get, NULL,
- 								"%llu\n");
--static void vp_latch_vsel(struct omap_vdd_info *vdd)
-+static void vp_latch_vsel(struct voltagedomain *voltdm)
- {
- 	u32 vpconfig;
- 	unsigned long uvdc;
- 	char vsel;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 
--	uvdc = omap_voltage_get_nom_volt(&vdd->voltdm);
-+	uvdc = omap_voltage_get_nom_volt(voltdm);
- 	if (!uvdc) {
- 		pr_warning("%s: unable to find current voltage for vdd_%s\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return;
- 	}
- 
-@@ -209,13 +205,14 @@ static void vp_latch_vsel(struct omap_vdd_info *vdd)
- }
- 
- /* Generic voltage init functions */
--static void __init vp_init(struct omap_vdd_info *vdd)
-+static void __init vp_init(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vp_val;
- 
- 	if (!vdd->read_reg || !vdd->write_reg) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return;
- 	}
- 
-@@ -246,25 +243,26 @@ static void __init vp_init(struct omap_vdd_info *vdd)
- 	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vlimitto);
- }
- 
--static void __init vdd_debugfs_init(struct omap_vdd_info *vdd)
-+static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
- {
- 	char *name;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 
- 	name = kzalloc(VOLTAGE_DIR_SIZE, GFP_KERNEL);
- 	if (!name) {
- 		pr_warning("%s: Unable to allocate memory for debugfs"
- 			" directory name for vdd_%s",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return;
- 	}
- 	strcpy(name, "vdd_");
--	strcat(name, vdd->voltdm.name);
-+	strcat(name, voltdm->name);
- 
- 	vdd->debug_dir = debugfs_create_dir(name, voltage_dir);
- 	kfree(name);
- 	if (IS_ERR(vdd->debug_dir)) {
- 		pr_warning("%s: Unable to create debugfs directory for"
--			" vdd_%s\n", __func__, vdd->voltdm.name);
-+			" vdd_%s\n", __func__, voltdm->name);
- 		vdd->debug_dir = NULL;
- 		return;
- 	}
-@@ -288,16 +286,17 @@ static void __init vdd_debugfs_init(struct omap_vdd_info *vdd)
- 	(void) debugfs_create_x16("vp_timeout", S_IRUGO, vdd->debug_dir,
- 				&(vdd->vp_rt_data.vlimitto_timeout));
- 	(void) debugfs_create_file("curr_vp_volt", S_IRUGO, vdd->debug_dir,
--				(void *) vdd, &vp_volt_debug_fops);
-+				(void *) voltdm, &vp_volt_debug_fops);
- 	(void) debugfs_create_file("curr_nominal_volt", S_IRUGO,
--				vdd->debug_dir, (void *) vdd,
-+				vdd->debug_dir, (void *) voltdm,
- 				&nom_volt_debug_fops);
- }
- 
- /* Voltage scale and accessory APIs */
--static int _pre_volt_scale(struct omap_vdd_info *vdd,
-+static int _pre_volt_scale(struct voltagedomain *voltdm,
- 		unsigned long target_volt, u8 *target_vsel, u8 *current_vsel)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	struct omap_volt_data *volt_data;
- 	const struct omap_vc_common_data *vc_common;
- 	const struct omap_vp_common_data *vp_common;
-@@ -309,25 +308,25 @@ static int _pre_volt_scale(struct omap_vdd_info *vdd,
- 	/* Check if suffiecient pmic info is available for this vdd */
- 	if (!vdd->pmic_info) {
- 		pr_err("%s: Insufficient pmic info to scale the vdd_%s\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return -EINVAL;
- 	}
- 
- 	if (!vdd->pmic_info->uv_to_vsel) {
- 		pr_err("%s: PMIC function to convert voltage in uV to"
- 			"vsel not registered. Hence unable to scale voltage"
--			"for vdd_%s\n", __func__, vdd->voltdm.name);
-+			"for vdd_%s\n", __func__, voltdm->name);
- 		return -ENODATA;
- 	}
- 
- 	if (!vdd->read_reg || !vdd->write_reg) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return -EINVAL;
- 	}
- 
- 	/* Get volt_data corresponding to target_volt */
--	volt_data = omap_voltage_get_voltdata(&vdd->voltdm, target_volt);
-+	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
- 	if (IS_ERR(volt_data))
- 		volt_data = NULL;
- 
-@@ -355,9 +354,10 @@ static int _pre_volt_scale(struct omap_vdd_info *vdd,
- 	return 0;
- }
- 
--static void _post_volt_scale(struct omap_vdd_info *vdd,
-+static void _post_volt_scale(struct voltagedomain *voltdm,
- 		unsigned long target_volt, u8 target_vsel, u8 current_vsel)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 smps_steps = 0, smps_delay = 0;
- 
- 	smps_steps = abs(target_vsel - current_vsel);
-@@ -370,15 +370,16 @@ static void _post_volt_scale(struct omap_vdd_info *vdd,
- }
- 
- /* vc_bypass_scale_voltage - VC bypass method of voltage scaling */
--static int vc_bypass_scale_voltage(struct omap_vdd_info *vdd,
-+static int vc_bypass_scale_voltage(struct voltagedomain *voltdm,
- 		unsigned long target_volt)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 loop_cnt = 0, retries_cnt = 0;
- 	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
- 	u8 target_vsel, current_vsel;
- 	int ret;
- 
--	ret = _pre_volt_scale(vdd, target_volt, &target_vsel, &current_vsel);
-+	ret = _pre_volt_scale(voltdm, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
- 		return ret;
- 
-@@ -417,19 +418,20 @@ static int vc_bypass_scale_voltage(struct omap_vdd_info *vdd,
- 						vc_bypass_val_reg);
- 	}
- 
--	_post_volt_scale(vdd, target_volt, target_vsel, current_vsel);
-+	_post_volt_scale(voltdm, target_volt, target_vsel, current_vsel);
- 	return 0;
- }
- 
- /* VP force update method of voltage scaling */
--static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
-+static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 		unsigned long target_volt)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vpconfig;
- 	u8 target_vsel, current_vsel;
- 	int ret, timeout = 0;
- 
--	ret = _pre_volt_scale(vdd, target_volt, &target_vsel, &current_vsel);
-+	ret = _pre_volt_scale(voltdm, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
- 		return ret;
- 
-@@ -447,7 +449,7 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	}
- 	if (timeout >= VP_TRANXDONE_TIMEOUT) {
- 		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded."
--			"Voltage change aborted", __func__, vdd->voltdm.name);
-+			"Voltage change aborted", __func__, voltdm->name);
- 		return -ETIMEDOUT;
- 	}
- 
-@@ -480,9 +482,9 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
- 		pr_err("%s: vdd_%s TRANXDONE timeout exceeded."
- 			"TRANXDONE never got set after the voltage update\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 
--	_post_volt_scale(vdd, target_volt, target_vsel, current_vsel);
-+	_post_volt_scale(voltdm, target_volt, target_vsel, current_vsel);
- 
- 	/*
- 	 * Disable TransactionDone interrupt , clear all status, clear
-@@ -501,7 +503,7 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
- 		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded while trying"
- 			"to clear the TRANXDONE status\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 
- 	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
- 	/* Clear initVDD copy trigger bit */
-@@ -514,8 +516,10 @@ static int vp_forceupdate_scale_voltage(struct omap_vdd_info *vdd,
- 	return 0;
- }
- 
--static void __init omap3_vfsm_init(struct omap_vdd_info *vdd)
-+static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+
- 	/*
- 	 * Voltage Manager FSM parameters init
- 	 * XXX This data should be passed in from the board file
-@@ -527,8 +531,9 @@ static void __init omap3_vfsm_init(struct omap_vdd_info *vdd)
- 		       OMAP3_PRM_VOLTSETUP2_OFFSET);
- }
- 
--static void __init omap3_vc_init(struct omap_vdd_info *vdd)
-+static void __init omap3_vc_init(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
- 	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
- 	u32 vc_val;
-@@ -556,15 +561,16 @@ static void __init omap3_vc_init(struct omap_vdd_info *vdd)
- 	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vdd->vc_data->vc_common->prm_mod,
- 			OMAP3_PRM_VC_I2C_CFG_OFFSET);
- 
--	omap3_vfsm_init(vdd);
-+	omap3_vfsm_init(voltdm);
- 
- 	is_initialized = true;
- }
- 
- 
- /* OMAP4 specific voltage init functions */
--static void __init omap4_vc_init(struct omap_vdd_info *vdd)
-+static void __init omap4_vc_init(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
- 	u32 vc_val;
- 
-@@ -589,20 +595,21 @@ static void __init omap4_vc_init(struct omap_vdd_info *vdd)
- 	is_initialized = true;
- }
- 
--static void __init omap_vc_init(struct omap_vdd_info *vdd)
-+static void __init omap_vc_init(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vc_val;
- 
- 	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
- 		pr_err("%s: PMIC info requried to configure vc for"
- 			"vdd_%s not populated.Hence cannot initialize vc\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return;
- 	}
- 
- 	if (!vdd->read_reg || !vdd->write_reg) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, vdd->voltdm.name);
-+			__func__, voltdm->name);
- 		return;
- 	}
- 
-@@ -630,23 +637,24 @@ static void __init omap_vc_init(struct omap_vdd_info *vdd)
- 	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
- 
- 	if (cpu_is_omap34xx())
--		omap3_vc_init(vdd);
-+		omap3_vc_init(voltdm);
- 	else if (cpu_is_omap44xx())
--		omap4_vc_init(vdd);
-+		omap4_vc_init(voltdm);
- }
- 
--static int __init omap_vdd_data_configure(struct omap_vdd_info *vdd)
-+static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- {
-+	struct omap_vdd_info *vdd = voltdm->vdd;
- 	int ret = -EINVAL;
- 
- 	if (!vdd->pmic_info) {
- 		pr_err("%s: PMIC info requried to configure vdd_%s not"
- 			"populated.Hence cannot initialize vdd_%s\n",
--			__func__, vdd->voltdm.name, vdd->voltdm.name);
-+			__func__, voltdm->name, voltdm->name);
- 		goto ovdc_out;
- 	}
- 
--	if (IS_ERR_VALUE(_config_common_vdd_data(vdd)))
-+	if (IS_ERR_VALUE(_config_common_vdd_data(voltdm)))
- 		goto ovdc_out;
- 
- 	if (cpu_is_omap34xx()) {
-@@ -680,7 +688,7 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- 		return 0;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	return vdd->curr_volt;
- }
-@@ -701,7 +709,7 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 		return 0;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 	if (!vdd->read_reg) {
- 		pr_err("%s: No read API for reading vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -736,7 +744,7 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 	if (!vdd->read_reg || !vdd->write_reg) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -747,7 +755,7 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 	if (vdd->vp_enabled)
- 		return;
- 
--	vp_latch_vsel(vdd);
-+	vp_latch_vsel(voltdm);
- 
- 	/* Enable VP */
- 	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
-@@ -774,7 +782,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 	if (!vdd->read_reg || !vdd->write_reg) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -827,7 +835,7 @@ int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
- 		return -EINVAL;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	if (!vdd->volt_scale) {
- 		pr_err("%s: No voltage scale API registered for vdd_%s\n",
-@@ -835,7 +843,7 @@ int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
- 		return -ENODATA;
- 	}
- 
--	return vdd->volt_scale(vdd, target_volt);
-+	return vdd->volt_scale(voltdm, target_volt);
- }
- 
- /**
-@@ -888,7 +896,7 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
- 		return;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	*volt_data = vdd->volt_data;
- }
-@@ -919,7 +927,7 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		return ERR_PTR(-EINVAL);
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	if (!vdd->volt_data) {
- 		pr_warning("%s: voltage table does not exist for vdd_%s\n",
-@@ -957,7 +965,7 @@ int omap_voltage_register_pmic(struct voltagedomain *voltdm,
- 		return -EINVAL;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	vdd->pmic_info = pmic_info;
- 
-@@ -984,7 +992,7 @@ struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm)
- 		return NULL;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	return vdd->debug_dir;
- }
-@@ -1009,7 +1017,7 @@ void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 		return;
- 	}
- 
--	vdd = container_of(voltdm, struct omap_vdd_info, voltdm);
-+	vdd = voltdm->vdd;
- 
- 	switch (voltscale_method) {
- 	case VOLTSCALE_VPFORCEUPDATE:
-@@ -1025,38 +1033,6 @@ void omap_change_voltscale_method(struct voltagedomain *voltdm,
- }
- 
- /**
-- * omap_voltage_domain_lookup() - API to get the voltage domain pointer
-- * @name:	Name of the voltage domain
-- *
-- * This API looks up in the global vdd_info struct for the
-- * existence of voltage domain <name>. If it exists, the API returns
-- * a pointer to the voltage domain structure corresponding to the
-- * VDD<name>. Else retuns error pointer.
-- */
--struct voltagedomain *omap_voltage_domain_lookup(char *name)
--{
--	int i;
--
--	if (!vdd_info) {
--		pr_err("%s: Voltage driver init not yet happened.Faulting!\n",
--			__func__);
--		return ERR_PTR(-EINVAL);
--	}
--
--	if (!name) {
--		pr_err("%s: No name to get the votage domain!\n", __func__);
--		return ERR_PTR(-EINVAL);
--	}
--
--	for (i = 0; i < nr_scalable_vdd; i++) {
--		if (!(strcmp(name, vdd_info[i]->voltdm.name)))
--			return &vdd_info[i]->voltdm;
--	}
--
--	return ERR_PTR(-EINVAL);
--}
--
--/**
-  * omap_voltage_late_init() - Init the various voltage parameters
-  *
-  * This API is to be called in the later stages of the
-@@ -1065,9 +1041,9 @@ struct voltagedomain *omap_voltage_domain_lookup(char *name)
-  */
- int __init omap_voltage_late_init(void)
- {
--	int i;
-+	struct voltagedomain *voltdm;
- 
--	if (!vdd_info) {
-+	if (list_empty(&voltdm_list)) {
- 		pr_err("%s: Voltage driver support not added\n",
- 			__func__);
- 		return -EINVAL;
-@@ -1077,22 +1053,81 @@ int __init omap_voltage_late_init(void)
- 	if (IS_ERR(voltage_dir))
- 		pr_err("%s: Unable to create voltage debugfs main dir\n",
- 			__func__);
--	for (i = 0; i < nr_scalable_vdd; i++) {
--		if (omap_vdd_data_configure(vdd_info[i]))
--			continue;
--		omap_vc_init(vdd_info[i]);
--		vp_init(vdd_info[i]);
--		vdd_debugfs_init(vdd_info[i]);
-+	list_for_each_entry(voltdm, &voltdm_list, node) {
-+		if (voltdm->vdd) {
-+			if (omap_vdd_data_configure(voltdm))
-+				continue;
-+			omap_vc_init(voltdm);
-+			vp_init(voltdm);
-+			vdd_debugfs_init(voltdm);
-+		}
- 	}
- 
- 	return 0;
- }
- 
--/* XXX document */
--int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
--				   u8 omap_vdd_count)
-+static struct voltagedomain *_voltdm_lookup(const char *name)
- {
--	vdd_info = omap_vdd_array;
--	nr_scalable_vdd = omap_vdd_count;
-+	struct voltagedomain *voltdm, *temp_voltdm;
-+
-+	voltdm = NULL;
-+
-+	list_for_each_entry(temp_voltdm, &voltdm_list, node) {
-+		if (!strcmp(name, temp_voltdm->name)) {
-+			voltdm = temp_voltdm;
-+			break;
-+		}
-+	}
-+
-+	return voltdm;
-+}
-+
-+static int _voltdm_register(struct voltagedomain *voltdm)
-+{
-+	if (!voltdm || !voltdm->name)
-+		return -EINVAL;
-+
-+	list_add(&voltdm->node, &voltdm_list);
-+
-+	pr_debug("voltagedomain: registered %s\n", voltdm->name);
-+
- 	return 0;
- }
-+
-+/**
-+ * voltdm_lookup - look up a voltagedomain by name, return a pointer
-+ * @name: name of voltagedomain
-+ *
-+ * Find a registered voltagedomain by its name @name.  Returns a pointer
-+ * to the struct voltagedomain if found, or NULL otherwise.
-+ */
-+struct voltagedomain *voltdm_lookup(const char *name)
-+{
-+	struct voltagedomain *voltdm ;
-+
-+	if (!name)
-+		return NULL;
-+
-+	voltdm = _voltdm_lookup(name);
-+
-+	return voltdm;
-+}
-+
-+/**
-+ * voltdm_init - set up the voltagedomain layer
-+ * @voltdm_list: array of struct voltagedomain pointers to register
-+ *
-+ * Loop through the array of voltagedomains @voltdm_list, registering all
-+ * that are available on the current CPU. If voltdm_list is supplied
-+ * and not null, all of the referenced voltagedomains will be
-+ * registered.  No return value.
-+ */
-+void voltdm_init(struct voltagedomain **voltdms)
-+{
-+	struct voltagedomain **v;
-+
-+	if (voltdms) {
-+		for (v = voltdms; *v; v++)
-+			_voltdm_register(*v);
-+	}
-+}
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index db23d49..5440298 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -31,6 +31,8 @@
- #define OMAP3_VOLTOFFSET	0xff
- #define OMAP3_VOLTSETUP2	0xff
- 
-+struct omap_vdd_info;
-+
- /**
-  * struct omap_vfsm_instance_data - per-voltage manager FSM register/bitfield
-  * data
-@@ -50,11 +52,14 @@ struct omap_vfsm_instance_data {
- 
- /**
-  * struct voltagedomain - omap voltage domain global structure.
-- * @name:	Name of the voltage domain which can be used as a unique
-- *		identifier.
-+ * @name: Name of the voltage domain which can be used as a unique identifier.
-+ * @node: list_head linking all voltage domains
-+ * @vdd: to be removed
-  */
- struct voltagedomain {
- 	char *name;
-+	struct list_head node;
-+	struct omap_vdd_info *vdd;
- };
- 
- /**
-@@ -116,7 +121,6 @@ struct omap_volt_pmic_info {
-  * @vc_data		: structure containing various various vc registers,
-  *			  shifts, masks etc.
-  * @vfsm                : voltage manager FSM data
-- * @voltdm		: pointer to the voltage domain structure
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-  * @prm_irqst_mod       : PRM module id used for PRM IRQ status register access
-@@ -130,7 +134,6 @@ struct omap_vdd_info {
- 	struct omap_vp_runtime_data vp_rt_data;
- 	struct omap_vc_instance_data *vc_data;
- 	const struct omap_vfsm_instance_data *vfsm;
--	struct voltagedomain voltdm;
- 	struct dentry *debug_dir;
- 	u32 curr_volt;
- 	bool vp_enabled;
-@@ -139,7 +142,7 @@ struct omap_vdd_info {
- 	u8 prm_irqst_reg;
- 	u32 (*read_reg) (u16 mod, u8 offset);
- 	void (*write_reg) (u32 val, u16 mod, u8 offset);
--	int (*volt_scale) (struct omap_vdd_info *vdd,
-+	int (*volt_scale) (struct voltagedomain *voltdm,
- 		unsigned long target_volt);
- };
- 
-@@ -155,16 +158,11 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		unsigned long volt);
- unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
- struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
--int __init omap_voltage_early_init(struct omap_vdd_info *omap_vdd_array[],
--				   u8 omap_vdd_count);
- #ifdef CONFIG_PM
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
- 		struct omap_volt_pmic_info *pmic_info);
- void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 		int voltscale_method);
--/* API to get the voltagedomain pointer */
--struct voltagedomain *omap_voltage_domain_lookup(char *name);
--
- int omap_voltage_late_init(void);
- #else
- static inline int omap_voltage_register_pmic(struct voltagedomain *voltdm,
-@@ -178,10 +176,11 @@ static inline int omap_voltage_late_init(void)
- {
- 	return -EINVAL;
- }
--static inline struct voltagedomain *omap_voltage_domain_lookup(char *name)
--{
--	return ERR_PTR(-EINVAL);
--}
- #endif
- 
-+extern void omap3xxx_voltagedomains_init(void);
-+extern void omap44xx_voltagedomains_init(void);
-+
-+struct voltagedomain *voltdm_lookup(const char *name);
-+void voltdm_init(struct voltagedomain **voltdm_list);
- #endif
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index f831f9a..4bee412 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -43,9 +43,6 @@ static struct omap_vdd_info omap3_vdd1_info = {
- 	.vp_data = &omap3_vp1_data,
- 	.vc_data = &omap3_vc1_data,
- 	.vfsm = &omap3_vdd1_vfsm_data,
--	.voltdm = {
--		.name = "mpu",
--	},
- };
- 
- static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
-@@ -60,23 +57,26 @@ static struct omap_vdd_info omap3_vdd2_info = {
- 	.vp_data = &omap3_vp2_data,
- 	.vc_data = &omap3_vc2_data,
- 	.vfsm = &omap3_vdd2_vfsm_data,
--	.voltdm = {
--		.name = "core",
--	},
- };
- 
--/* OMAP3 VDD structures */
--static struct omap_vdd_info *omap3_vdd_info[] = {
--	&omap3_vdd1_info,
--	&omap3_vdd2_info,
-+static struct voltagedomain omap3_voltdm_mpu = {
-+	.name = "mpu",
-+	.vdd = &omap3_vdd1_info,
- };
- 
--/* OMAP3 specific voltage init functions */
--static int __init omap3xxx_voltage_early_init(void)
--{
--	if (!cpu_is_omap34xx())
--		return 0;
-+static struct voltagedomain omap3_voltdm_core = {
-+	.name = "core",
-+	.vdd = &omap3_vdd2_info,
-+};
- 
-+static struct voltagedomain *voltagedomains_omap3[] __initdata = {
-+	&omap3_voltdm_mpu,
-+	&omap3_voltdm_core,
-+	NULL,
-+};
-+
-+void __init omap3xxx_voltagedomains_init(void)
-+{
- 	/*
- 	 * XXX Will depend on the process, validation, and binning
- 	 * for the currently-running IC
-@@ -89,7 +89,5 @@ static int __init omap3xxx_voltage_early_init(void)
- 		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
- 	}
- 
--	return omap_voltage_early_init(omap3_vdd_info,
--				       ARRAY_SIZE(omap3_vdd_info));
-+	voltdm_init(voltagedomains_omap3);
- };
--core_initcall(omap3xxx_voltage_early_init);
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 64dc265..245fdf9 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -42,9 +42,6 @@ static struct omap_vdd_info omap4_vdd_mpu_info = {
- 	.vp_data = &omap4_vp_mpu_data,
- 	.vc_data = &omap4_vc_mpu_data,
- 	.vfsm = &omap4_vdd_mpu_vfsm_data,
--	.voltdm = {
--		.name = "mpu",
--	},
- };
- 
- static const struct omap_vfsm_instance_data omap4_vdd_iva_vfsm_data = {
-@@ -57,9 +54,6 @@ static struct omap_vdd_info omap4_vdd_iva_info = {
- 	.vp_data = &omap4_vp_iva_data,
- 	.vc_data = &omap4_vc_iva_data,
- 	.vfsm = &omap4_vdd_iva_vfsm_data,
--	.voltdm = {
--		.name = "iva",
--	},
- };
- 
- static const struct omap_vfsm_instance_data omap4_vdd_core_vfsm_data = {
-@@ -72,24 +66,32 @@ static struct omap_vdd_info omap4_vdd_core_info = {
- 	.vp_data = &omap4_vp_core_data,
- 	.vc_data = &omap4_vc_core_data,
- 	.vfsm = &omap4_vdd_core_vfsm_data,
--	.voltdm = {
--		.name = "core",
--	},
- };
- 
--/* OMAP4 VDD structures */
--static struct omap_vdd_info *omap4_vdd_info[] = {
--	&omap4_vdd_mpu_info,
--	&omap4_vdd_iva_info,
--	&omap4_vdd_core_info,
-+static struct voltagedomain omap4_voltdm_mpu = {
-+	.name = "mpu",
-+	.vdd = &omap4_vdd_mpu_info,
- };
- 
--/* OMAP4 specific voltage init functions */
--static int __init omap44xx_voltage_early_init(void)
--{
--	if (!cpu_is_omap44xx())
--		return 0;
-+static struct voltagedomain omap4_voltdm_iva = {
-+	.name = "iva",
-+	.vdd = &omap4_vdd_iva_info,
-+};
-+
-+static struct voltagedomain omap4_voltdm_core = {
-+	.name = "core",
-+	.vdd = &omap4_vdd_core_info,
-+};
- 
-+static struct voltagedomain *voltagedomains_omap4[] __initdata = {
-+	&omap4_voltdm_mpu,
-+	&omap4_voltdm_iva,
-+	&omap4_voltdm_core,
-+	NULL,
-+};
-+
-+void __init omap44xx_voltagedomains_init(void)
-+{
- 	/*
- 	 * XXX Will depend on the process, validation, and binning
- 	 * for the currently-running IC
-@@ -98,7 +100,5 @@ static int __init omap44xx_voltage_early_init(void)
- 	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
- 	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
- 
--	return omap_voltage_early_init(omap4_vdd_info,
--				       ARRAY_SIZE(omap4_vdd_info));
-+	voltdm_init(voltagedomains_omap4);
- };
--core_initcall(omap44xx_voltage_early_init);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0100-OMAP3-voltage-rename-mpu-voltagedomain-to-mpu_iva.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0100-OMAP3-voltage-rename-mpu-voltagedomain-to-mpu_iva.patch
deleted file mode 100644
index 195235d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0100-OMAP3-voltage-rename-mpu-voltagedomain-to-mpu_iva.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From b98b320e9e4eeb93356a80b597e578c5547cdff9 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 23 Mar 2011 11:18:08 -0700
-Subject: [PATCH 100/149] OMAP3: voltage: rename "mpu" voltagedomain to "mpu_iva"
-
-This voltage domain (a.k.a. VDD1) contains both the MPU and the IVA, so
-rename appropriately.
-
-Also fixup any users of the "mpu" name to use "mpu_iva"
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c    |    4 ++--
- arch/arm/mach-omap2/omap_twl.c                |    2 +-
- arch/arm/mach-omap2/pm.c                      |    2 +-
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    2 +-
- 4 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-index 25bf43b..59fdb9f 100644
---- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
-@@ -2597,7 +2597,7 @@ static struct omap_hwmod omap34xx_sr1_hwmod = {
- 	.name		= "sr1_hwmod",
- 	.class		= &omap34xx_smartreflex_hwmod_class,
- 	.main_clk	= "sr1_fck",
--	.vdd_name	= "mpu",
-+	.vdd_name	= "mpu_iva",
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-@@ -2619,7 +2619,7 @@ static struct omap_hwmod omap36xx_sr1_hwmod = {
- 	.name		= "sr1_hwmod",
- 	.class		= &omap36xx_smartreflex_hwmod_class,
- 	.main_clk	= "sr1_fck",
--	.vdd_name	= "mpu",
-+	.vdd_name	= "mpu_iva",
- 	.prcm		= {
- 		.omap2 = {
- 			.prcm_reg_id = 1,
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index fcd2f62..760487b 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -288,7 +288,7 @@ int __init omap3_twl_init(void)
- 	if (!twl_sr_enable_autoinit)
- 		omap3_twl_set_sr_bit(true);
- 
--	voltdm = voltdm_lookup("mpu");
-+	voltdm = voltdm_lookup("mpu_iva");
- 	omap_voltage_register_pmic(voltdm, &omap3_mpu_volt_info);
- 
- 	voltdm = voltdm_lookup("core");
-diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
-index 3bce29b..f81340e 100644
---- a/arch/arm/mach-omap2/pm.c
-+++ b/arch/arm/mach-omap2/pm.c
-@@ -228,7 +228,7 @@ static void __init omap3_init_voltages(void)
- 	if (!cpu_is_omap34xx())
- 		return;
- 
--	omap2_set_init_voltage("mpu", "dpll1_ck", mpu_dev);
-+	omap2_set_init_voltage("mpu_iva", "dpll1_ck", mpu_dev);
- 	omap2_set_init_voltage("core", "l3_ick", l3_dev);
- }
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 4bee412..2167ef4 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -60,7 +60,7 @@ static struct omap_vdd_info omap3_vdd2_info = {
- };
- 
- static struct voltagedomain omap3_voltdm_mpu = {
--	.name = "mpu",
-+	.name = "mpu_iva",
- 	.vdd = &omap3_vdd1_info,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0101-OMAP3-voltagedomain-data-add-wakeup-domain.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0101-OMAP3-voltagedomain-data-add-wakeup-domain.patch
deleted file mode 100644
index 09c1ef4..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0101-OMAP3-voltagedomain-data-add-wakeup-domain.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 17cd354184d7ffe9fcef97a0e1beeb6e8b2a2c38 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 23 Mar 2011 13:30:33 -0700
-Subject: [PATCH 101/149] OMAP3: voltagedomain data: add wakeup domain
-
-Add wakeup voltage domain so that the wakeup powerdomain can have an
-associated powerdomain.  Note that the scalable flat is not set for
-the this voltagedomain, so it will not be fully initialized like
-scalable voltage domains.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    5 +++++
- 1 files changed, 5 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 2167ef4..42d0b11 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -69,9 +69,14 @@ static struct voltagedomain omap3_voltdm_core = {
- 	.vdd = &omap3_vdd2_info,
- };
- 
-+static struct voltagedomain omap3_voltdm_wkup = {
-+	.name = "wakeup",
-+};
-+
- static struct voltagedomain *voltagedomains_omap3[] __initdata = {
- 	&omap3_voltdm_mpu,
- 	&omap3_voltdm_core,
-+	&omap3_voltdm_wkup,
- 	NULL,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0102-OMAP3-voltage-add-scalable-flag-to-voltagedomain.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0102-OMAP3-voltage-add-scalable-flag-to-voltagedomain.patch
deleted file mode 100644
index c12fdb5..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0102-OMAP3-voltage-add-scalable-flag-to-voltagedomain.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From b9230219fb50ac16be3f24fe872bd9537b665871 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 23 Mar 2011 17:00:21 -0700
-Subject: [PATCH 102/149] OMAP3+: voltage: add scalable flag to voltagedomain
-
-Add a 'bool scalable' flag to the struct powerdomain and set it for
-the scalable domains on OMAP3 and OMAP4.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c                 |    3 +++
- arch/arm/mach-omap2/voltage.h                 |    2 ++
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    2 ++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    3 +++
- 4 files changed, 10 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 4f0361a..48a2593 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -1054,6 +1054,9 @@ int __init omap_voltage_late_init(void)
- 		pr_err("%s: Unable to create voltage debugfs main dir\n",
- 			__func__);
- 	list_for_each_entry(voltdm, &voltdm_list, node) {
-+		if (!voltdm->scalable)
-+			continue;
-+
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
- 				continue;
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 5440298..25cfb5c 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -53,11 +53,13 @@ struct omap_vfsm_instance_data {
- /**
-  * struct voltagedomain - omap voltage domain global structure.
-  * @name: Name of the voltage domain which can be used as a unique identifier.
-+ * @scalable: Whether or not this voltage domain is scalable
-  * @node: list_head linking all voltage domains
-  * @vdd: to be removed
-  */
- struct voltagedomain {
- 	char *name;
-+	bool scalable;
- 	struct list_head node;
- 	struct omap_vdd_info *vdd;
- };
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 42d0b11..d7e1052 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -61,11 +61,13 @@ static struct omap_vdd_info omap3_vdd2_info = {
- 
- static struct voltagedomain omap3_voltdm_mpu = {
- 	.name = "mpu_iva",
-+	.scalable = true,
- 	.vdd = &omap3_vdd1_info,
- };
- 
- static struct voltagedomain omap3_voltdm_core = {
- 	.name = "core",
-+	.scalable = true,
- 	.vdd = &omap3_vdd2_info,
- };
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 245fdf9..95e1ce5 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -70,16 +70,19 @@ static struct omap_vdd_info omap4_vdd_core_info = {
- 
- static struct voltagedomain omap4_voltdm_mpu = {
- 	.name = "mpu",
-+	.scalable = true,
- 	.vdd = &omap4_vdd_mpu_info,
- };
- 
- static struct voltagedomain omap4_voltdm_iva = {
- 	.name = "iva",
-+	.scalable = true,
- 	.vdd = &omap4_vdd_iva_info,
- };
- 
- static struct voltagedomain omap4_voltdm_core = {
- 	.name = "core",
-+	.scalable = true,
- 	.vdd = &omap4_vdd_core_info,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0103-OMAP2-powerdomain-add-voltagedomain-to-struct-powerd.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0103-OMAP2-powerdomain-add-voltagedomain-to-struct-powerd.patch
deleted file mode 100644
index 06ec89b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0103-OMAP2-powerdomain-add-voltagedomain-to-struct-powerd.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 4380f30498f0096856479011df85f956081ce26c Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 23 Mar 2011 07:22:23 -0700
-Subject: [PATCH 103/149] OMAP2+: powerdomain: add voltagedomain to struct powerdomain
-
-Each powerdomain is associated with a voltage domain.  Add an entry to
-struct powerdomain where the enclosing voltagedomain can be
-referenced.
-
-Modeled after similar relationship between clockdomains and powerdomains.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/powerdomain.h |    7 +++++++
- 1 files changed, 7 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h
-index d23d979..9ce920d 100644
---- a/arch/arm/mach-omap2/powerdomain.h
-+++ b/arch/arm/mach-omap2/powerdomain.h
-@@ -24,6 +24,8 @@
- 
- #include <plat/cpu.h>
- 
-+#include "voltage.h"
-+
- /* Powerdomain basic power states */
- #define PWRDM_POWER_OFF		0x0
- #define PWRDM_POWER_RET		0x1
-@@ -78,6 +80,7 @@ struct powerdomain;
- /**
-  * struct powerdomain - OMAP powerdomain
-  * @name: Powerdomain name
-+ * @voltdm: voltagedomain containing this powerdomain
-  * @omap_chip: represents the OMAP chip types containing this pwrdm
-  * @prcm_offs: the address offset from CM_BASE/PRM_BASE
-  * @prcm_partition: (OMAP4 only) the PRCM partition ID containing @prcm_offs
-@@ -98,6 +101,10 @@ struct powerdomain;
-  */
- struct powerdomain {
- 	const char *name;
-+	union {
-+		const char *name;
-+		struct voltagedomain *ptr;
-+	} voltdm;
- 	const struct omap_chip_id omap_chip;
- 	const s16 prcm_offs;
- 	const u8 pwrsts;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0104-OMAP2-add-voltage-domains-and-connect-to-powerdomain.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0104-OMAP2-add-voltage-domains-and-connect-to-powerdomain.patch
deleted file mode 100644
index 2e7b9b8..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0104-OMAP2-add-voltage-domains-and-connect-to-powerdomain.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 090b5bcad1bf67d208685461c30b68cd1ab535c5 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 23 Mar 2011 16:09:41 -0700
-Subject: [PATCH 104/149] OMAP2: add voltage domains and connect to powerdomains
-
-Create basic voltagedomains for OMAP2 and associate OMAP2 powerdomains
-with the newly created voltage domains.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/Makefile                  |    3 +-
- arch/arm/mach-omap2/io.c                      |    2 +
- arch/arm/mach-omap2/powerdomains2xxx_data.c   |    4 +++
- arch/arm/mach-omap2/voltage.h                 |    1 +
- arch/arm/mach-omap2/voltagedomains2xxx_data.c |   32 +++++++++++++++++++++++++
- 5 files changed, 41 insertions(+), 1 deletions(-)
- create mode 100644 arch/arm/mach-omap2/voltagedomains2xxx_data.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index f343365..1b6cecd 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -91,7 +91,8 @@ obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
- # OMAP voltage domains
- ifeq ($(CONFIG_PM),y)
- voltagedomain-common			:= voltage.o
--obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common)
-+obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common) \
-+					   voltagedomains2xxx_data.o
- obj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common) \
- 					   voltagedomains3xxx_data.o
- obj-$(CONFIG_ARCH_OMAP4)		+= $(voltagedomain-common) \
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index 9f5a846..4c8a5de 100644
---- a/arch/arm/mach-omap2/io.c
-+++ b/arch/arm/mach-omap2/io.c
-@@ -342,10 +342,12 @@ void __init omap2_init_common_infrastructure(void)
- 	u8 postsetup_state;
- 
- 	if (cpu_is_omap242x()) {
-+		omap2xxx_voltagedomains_init();
- 		omap2xxx_powerdomains_init();
- 		omap2xxx_clockdomains_init();
- 		omap2420_hwmod_init();
- 	} else if (cpu_is_omap243x()) {
-+		omap2xxx_voltagedomains_init();
- 		omap2xxx_powerdomains_init();
- 		omap2xxx_clockdomains_init();
- 		omap2430_hwmod_init();
-diff --git a/arch/arm/mach-omap2/powerdomains2xxx_data.c b/arch/arm/mach-omap2/powerdomains2xxx_data.c
-index cc389fb..274f64c 100644
---- a/arch/arm/mach-omap2/powerdomains2xxx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains2xxx_data.c
-@@ -38,6 +38,7 @@ static struct powerdomain dsp_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain mpu_24xx_pwrdm = {
-@@ -53,6 +54,7 @@ static struct powerdomain mpu_24xx_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain core_24xx_pwrdm = {
-@@ -71,6 +73,7 @@ static struct powerdomain core_24xx_pwrdm = {
- 		[1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
- 		[2] = PWRSTS_OFF_RET_ON, /* MEM3ONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- 
-@@ -95,6 +98,7 @@ static struct powerdomain mdm_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- #endif     /* CONFIG_SOC_OMAP2430 */
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 25cfb5c..cacd76e 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -180,6 +180,7 @@ static inline int omap_voltage_late_init(void)
- }
- #endif
- 
-+extern void omap2xxx_voltagedomains_init(void);
- extern void omap3xxx_voltagedomains_init(void);
- extern void omap44xx_voltagedomains_init(void);
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains2xxx_data.c b/arch/arm/mach-omap2/voltagedomains2xxx_data.c
-new file mode 100644
-index 0000000..69ff261
---- /dev/null
-+++ b/arch/arm/mach-omap2/voltagedomains2xxx_data.c
-@@ -0,0 +1,32 @@
-+/*
-+ * OMAP3 voltage domain data
-+ *
-+ * Copyright (C) 2007, 2010 Texas Instruments, Inc.
-+
-+ * 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/init.h>
-+
-+#include "voltage.h"
-+
-+static struct voltagedomain omap2_voltdm_core = {
-+	.name = "core",
-+};
-+
-+static struct voltagedomain omap2_voltdm_wkup = {
-+	.name = "wakeup",
-+};
-+
-+static struct voltagedomain *voltagedomains_omap2[] __initdata = {
-+	&omap2_voltdm_core,
-+	&omap2_voltdm_wkup,
-+	NULL,
-+};
-+
-+void __init omap2xxx_voltagedomains_init(void)
-+{
-+	voltdm_init(voltagedomains_omap2);
-+}
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0105-OMAP3-powerdomain-data-add-voltage-domains.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0105-OMAP3-powerdomain-data-add-voltage-domains.patch
deleted file mode 100644
index 7481b06..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0105-OMAP3-powerdomain-data-add-voltage-domains.patch
+++ /dev/null
@@ -1,161 +0,0 @@
-From a44878fc9328d0ee6101d328f16a1f08bd123ba0 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Fri, 18 Mar 2011 14:12:18 -0700
-Subject: [PATCH 105/149] OMAP3: powerdomain data: add voltage domains
-
-Add voltage domain name to indicate which voltagedomain each
-powerdomain is in.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c |    2 ++
- arch/arm/mach-omap2/powerdomains3xxx_data.c      |   16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c b/arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c
-index 4210c33..2242c8e 100644
---- a/arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c
-@@ -70,6 +70,7 @@ struct powerdomain gfx_omap2_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- struct powerdomain wkup_omap2_pwrdm = {
-@@ -77,4 +78,5 @@ struct powerdomain wkup_omap2_pwrdm = {
- 	.prcm_offs	= WKUP_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP24XX | CHIP_IS_OMAP3430),
- 	.pwrsts		= PWRSTS_ON,
-+	.voltdm         = { .name = "wakeup" },
- };
-diff --git a/arch/arm/mach-omap2/powerdomains3xxx_data.c b/arch/arm/mach-omap2/powerdomains3xxx_data.c
-index 469a920..1f37c0c 100644
---- a/arch/arm/mach-omap2/powerdomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains3xxx_data.c
-@@ -52,6 +52,7 @@ static struct powerdomain iva2_pwrdm = {
- 		[2] = PWRSTS_OFF_ON,
- 		[3] = PWRSTS_ON,
- 	},
-+	.voltdm           = { .name = "mpu_iva" },
- };
- 
- static struct powerdomain mpu_3xxx_pwrdm = {
-@@ -68,6 +69,7 @@ static struct powerdomain mpu_3xxx_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_OFF_ON,
- 	},
-+	.voltdm           = { .name = "mpu_iva" },
- };
- 
- /*
-@@ -98,6 +100,7 @@ static struct powerdomain core_3xxx_pre_es3_1_pwrdm = {
- 		[0] = PWRSTS_OFF_RET_ON, /* MEM1ONSTATE */
- 		[1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain core_3xxx_es3_1_pwrdm = {
-@@ -121,6 +124,7 @@ static struct powerdomain core_3xxx_es3_1_pwrdm = {
- 		[0] = PWRSTS_OFF_RET_ON, /* MEM1ONSTATE */
- 		[1] = PWRSTS_OFF_RET_ON, /* MEM2ONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain dss_pwrdm = {
-@@ -136,6 +140,7 @@ static struct powerdomain dss_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- /*
-@@ -157,6 +162,7 @@ static struct powerdomain sgx_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain cam_pwrdm = {
-@@ -172,6 +178,7 @@ static struct powerdomain cam_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain per_pwrdm = {
-@@ -187,12 +194,14 @@ static struct powerdomain per_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain emu_pwrdm = {
- 	.name		= "emu_pwrdm",
- 	.prcm_offs	= OMAP3430_EMU_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain neon_pwrdm = {
-@@ -201,6 +210,7 @@ static struct powerdomain neon_pwrdm = {
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
- 	.pwrsts		  = PWRSTS_OFF_RET_ON,
- 	.pwrsts_logic_ret = PWRSTS_RET,
-+	.voltdm           = { .name = "mpu_iva" },
- };
- 
- static struct powerdomain usbhost_pwrdm = {
-@@ -223,36 +233,42 @@ static struct powerdomain usbhost_pwrdm = {
- 	.pwrsts_mem_on	  = {
- 		[0] = PWRSTS_ON,  /* MEMONSTATE */
- 	},
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain dpll1_pwrdm = {
- 	.name		= "dpll1_pwrdm",
- 	.prcm_offs	= MPU_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
-+	.voltdm           = { .name = "mpu_iva" },
- };
- 
- static struct powerdomain dpll2_pwrdm = {
- 	.name		= "dpll2_pwrdm",
- 	.prcm_offs	= OMAP3430_IVA2_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
-+	.voltdm           = { .name = "mpu_iva" },
- };
- 
- static struct powerdomain dpll3_pwrdm = {
- 	.name		= "dpll3_pwrdm",
- 	.prcm_offs	= PLL_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain dpll4_pwrdm = {
- 	.name		= "dpll4_pwrdm",
- 	.prcm_offs	= PLL_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
-+	.voltdm           = { .name = "core" },
- };
- 
- static struct powerdomain dpll5_pwrdm = {
- 	.name		= "dpll5_pwrdm",
- 	.prcm_offs	= PLL_MOD,
- 	.omap_chip	= OMAP_CHIP_INIT(CHIP_GE_OMAP3430ES2),
-+	.voltdm           = { .name = "core" },
- };
- 
- /* As powerdomains are added or removed above, this list must also be changed */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0106-OMAP4-powerdomain-data-add-voltage-domains.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0106-OMAP4-powerdomain-data-add-voltage-domains.patch
deleted file mode 100644
index 14b904f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0106-OMAP4-powerdomain-data-add-voltage-domains.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From a5fc50f2405625fef21c78c46e0e9427eb202f15 Mon Sep 17 00:00:00 2001
-From: Benoit Cousson <b-cousson at ti.com>
-Date: Mon, 21 Mar 2011 12:11:54 +0100
-Subject: [PATCH 106/149] OMAP4: powerdomain data: add voltage domains
-
-Add voltage domain name to indicate which voltagedomain each
-powerdomain is in.
-
-The fixed voltage domain like ldo_wakeup for emu and wkup power
-domain is added too.
-
-Update the TI copyright date to 2011.
-
-Signed-off-by: Benoit Cousson <b-cousson at ti.com>
-Cc: Paul Walmsley <paul at pwsan.com>
-[khilman at ti.com]: renamed wakeup domain: s/ldo_wakeup/wakeup/
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/powerdomains44xx_data.c   |   16 ++++++++++++++++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    5 +++++
- 2 files changed, 21 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomains44xx_data.c b/arch/arm/mach-omap2/powerdomains44xx_data.c
-index 247e794..45c7f29 100644
---- a/arch/arm/mach-omap2/powerdomains44xx_data.c
-+++ b/arch/arm/mach-omap2/powerdomains44xx_data.c
-@@ -33,6 +33,7 @@
- /* core_44xx_pwrdm: CORE power domain */
- static struct powerdomain core_44xx_pwrdm = {
- 	.name		  = "core_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_CORE_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -59,6 +60,7 @@ static struct powerdomain core_44xx_pwrdm = {
- /* gfx_44xx_pwrdm: 3D accelerator power domain */
- static struct powerdomain gfx_44xx_pwrdm = {
- 	.name		  = "gfx_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_GFX_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -76,6 +78,7 @@ static struct powerdomain gfx_44xx_pwrdm = {
- /* abe_44xx_pwrdm: Audio back end power domain */
- static struct powerdomain abe_44xx_pwrdm = {
- 	.name		  = "abe_pwrdm",
-+	.voltdm		  = { .name = "iva" },
- 	.prcm_offs	  = OMAP4430_PRM_ABE_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -96,6 +99,7 @@ static struct powerdomain abe_44xx_pwrdm = {
- /* dss_44xx_pwrdm: Display subsystem power domain */
- static struct powerdomain dss_44xx_pwrdm = {
- 	.name		  = "dss_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_DSS_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -114,6 +118,7 @@ static struct powerdomain dss_44xx_pwrdm = {
- /* tesla_44xx_pwrdm: Tesla processor power domain */
- static struct powerdomain tesla_44xx_pwrdm = {
- 	.name		  = "tesla_pwrdm",
-+	.voltdm		  = { .name = "iva" },
- 	.prcm_offs	  = OMAP4430_PRM_TESLA_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -136,6 +141,7 @@ static struct powerdomain tesla_44xx_pwrdm = {
- /* wkup_44xx_pwrdm: Wake-up power domain */
- static struct powerdomain wkup_44xx_pwrdm = {
- 	.name		  = "wkup_pwrdm",
-+	.voltdm		  = { .name = "wakeup" },
- 	.prcm_offs	  = OMAP4430_PRM_WKUP_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -152,6 +158,7 @@ static struct powerdomain wkup_44xx_pwrdm = {
- /* cpu0_44xx_pwrdm: MPU0 processor and Neon coprocessor power domain */
- static struct powerdomain cpu0_44xx_pwrdm = {
- 	.name		  = "cpu0_pwrdm",
-+	.voltdm		  = { .name = "mpu" },
- 	.prcm_offs	  = OMAP4430_PRCM_MPU_CPU0_INST,
- 	.prcm_partition	  = OMAP4430_PRCM_MPU_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -169,6 +176,7 @@ static struct powerdomain cpu0_44xx_pwrdm = {
- /* cpu1_44xx_pwrdm: MPU1 processor and Neon coprocessor power domain */
- static struct powerdomain cpu1_44xx_pwrdm = {
- 	.name		  = "cpu1_pwrdm",
-+	.voltdm		  = { .name = "mpu" },
- 	.prcm_offs	  = OMAP4430_PRCM_MPU_CPU1_INST,
- 	.prcm_partition	  = OMAP4430_PRCM_MPU_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -186,6 +194,7 @@ static struct powerdomain cpu1_44xx_pwrdm = {
- /* emu_44xx_pwrdm: Emulation power domain */
- static struct powerdomain emu_44xx_pwrdm = {
- 	.name		  = "emu_pwrdm",
-+	.voltdm		  = { .name = "wakeup" },
- 	.prcm_offs	  = OMAP4430_PRM_EMU_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -202,6 +211,7 @@ static struct powerdomain emu_44xx_pwrdm = {
- /* mpu_44xx_pwrdm: Modena processor and the Neon coprocessor power domain */
- static struct powerdomain mpu_44xx_pwrdm = {
- 	.name		  = "mpu_pwrdm",
-+	.voltdm		  = { .name = "mpu" },
- 	.prcm_offs	  = OMAP4430_PRM_MPU_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -223,6 +233,7 @@ static struct powerdomain mpu_44xx_pwrdm = {
- /* ivahd_44xx_pwrdm: IVA-HD power domain */
- static struct powerdomain ivahd_44xx_pwrdm = {
- 	.name		  = "ivahd_pwrdm",
-+	.voltdm		  = { .name = "iva" },
- 	.prcm_offs	  = OMAP4430_PRM_IVAHD_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -247,6 +258,7 @@ static struct powerdomain ivahd_44xx_pwrdm = {
- /* cam_44xx_pwrdm: Camera subsystem power domain */
- static struct powerdomain cam_44xx_pwrdm = {
- 	.name		  = "cam_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_CAM_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -264,6 +276,7 @@ static struct powerdomain cam_44xx_pwrdm = {
- /* l3init_44xx_pwrdm: L3 initators pheripherals power domain  */
- static struct powerdomain l3init_44xx_pwrdm = {
- 	.name		  = "l3init_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_L3INIT_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -282,6 +295,7 @@ static struct powerdomain l3init_44xx_pwrdm = {
- /* l4per_44xx_pwrdm: Target peripherals power domain */
- static struct powerdomain l4per_44xx_pwrdm = {
- 	.name		  = "l4per_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_L4PER_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -305,6 +319,7 @@ static struct powerdomain l4per_44xx_pwrdm = {
-  */
- static struct powerdomain always_on_core_44xx_pwrdm = {
- 	.name		  = "always_on_core_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_ALWAYS_ON_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-@@ -314,6 +329,7 @@ static struct powerdomain always_on_core_44xx_pwrdm = {
- /* cefuse_44xx_pwrdm: Customer efuse controller power domain */
- static struct powerdomain cefuse_44xx_pwrdm = {
- 	.name		  = "cefuse_pwrdm",
-+	.voltdm		  = { .name = "core" },
- 	.prcm_offs	  = OMAP4430_PRM_CEFUSE_INST,
- 	.prcm_partition	  = OMAP4430_PRM_PARTITION,
- 	.omap_chip	  = OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 95e1ce5..9a17b5e 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -86,10 +86,15 @@ static struct voltagedomain omap4_voltdm_core = {
- 	.vdd = &omap4_vdd_core_info,
- };
- 
-+static struct voltagedomain omap4_voltdm_wkup = {
-+	.name = "wakeup",
-+};
-+
- static struct voltagedomain *voltagedomains_omap4[] __initdata = {
- 	&omap4_voltdm_mpu,
- 	&omap4_voltdm_iva,
- 	&omap4_voltdm_core,
-+	&omap4_voltdm_wkup,
- 	NULL,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0107-OMAP2-powerdomain-add-voltage-domain-lookup-during-r.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0107-OMAP2-powerdomain-add-voltage-domain-lookup-during-r.patch
deleted file mode 100644
index 39c6fc1..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0107-OMAP2-powerdomain-add-voltage-domain-lookup-during-r.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a57d61507ab997c347ee584b86eb54391d79bf41 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 15:52:47 -0700
-Subject: [PATCH 107/149] OMAP2+: powerdomain: add voltage domain lookup during register
-
-When a powerdomain is registered, lookup the voltage domain by name
-and keep a pointer to the containing voltagedomain in the powerdomain
-structure.
-
-Modeled after similar method between powerdomain and clockdomain layers.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/powerdomain.c |   21 +++++++++++++++++++++
- arch/arm/mach-omap2/powerdomain.h |    1 +
- arch/arm/mach-omap2/voltage.h     |    1 +
- 3 files changed, 23 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
-index 9af0847..1d3013d 100644
---- a/arch/arm/mach-omap2/powerdomain.c
-+++ b/arch/arm/mach-omap2/powerdomain.c
-@@ -77,6 +77,7 @@ static struct powerdomain *_pwrdm_lookup(const char *name)
- static int _pwrdm_register(struct powerdomain *pwrdm)
- {
- 	int i;
-+	struct voltagedomain *voltdm;
- 
- 	if (!pwrdm || !pwrdm->name)
- 		return -EINVAL;
-@@ -94,6 +95,14 @@ static int _pwrdm_register(struct powerdomain *pwrdm)
- 	if (_pwrdm_lookup(pwrdm->name))
- 		return -EEXIST;
- 
-+	voltdm = voltdm_lookup(pwrdm->voltdm.name);
-+	if (!voltdm) {
-+		pr_err("powerdomain: %s: voltagedomain %s does not exist\n",
-+		       pwrdm->name, pwrdm->voltdm.name);
-+		return -EINVAL;
-+	}
-+	pwrdm->voltdm.ptr = voltdm;
-+
- 	list_add(&pwrdm->node, &pwrdm_list);
- 
- 	/* Initialize the powerdomain's state counter */
-@@ -383,6 +392,18 @@ int pwrdm_for_each_clkdm(struct powerdomain *pwrdm,
- }
- 
- /**
-+ * pwrdm_get_voltdm - return a ptr to the voltdm that this pwrdm resides in
-+ * @pwrdm: struct powerdomain *
-+ *
-+ * Return a pointer to the struct voltageomain that the specified powerdomain
-+ * @pwrdm exists in.
-+ */
-+struct voltagedomain *pwrdm_get_voltdm(struct powerdomain *pwrdm)
-+{
-+	return pwrdm->voltdm.ptr;
-+}
-+
-+/**
-  * pwrdm_get_mem_bank_count - get number of memory banks in this powerdomain
-  * @pwrdm: struct powerdomain *
-  *
-diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h
-index 9ce920d..25bef48 100644
---- a/arch/arm/mach-omap2/powerdomain.h
-+++ b/arch/arm/mach-omap2/powerdomain.h
-@@ -183,6 +183,7 @@ int pwrdm_del_clkdm(struct powerdomain *pwrdm, struct clockdomain *clkdm);
- int pwrdm_for_each_clkdm(struct powerdomain *pwrdm,
- 			 int (*fn)(struct powerdomain *pwrdm,
- 				   struct clockdomain *clkdm));
-+struct voltagedomain *pwrdm_get_voltdm(struct powerdomain *pwrdm);
- 
- int pwrdm_get_mem_bank_count(struct powerdomain *pwrdm);
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index cacd76e..966aa88 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -186,4 +186,5 @@ extern void omap44xx_voltagedomains_init(void);
- 
- struct voltagedomain *voltdm_lookup(const char *name);
- void voltdm_init(struct voltagedomain **voltdm_list);
-+int voltdm_add_pwrdm(struct voltagedomain *voltdm, struct powerdomain *pwrdm);
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0108-OMAP2-voltage-keep-track-of-powerdomains-in-each-vol.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0108-OMAP2-voltage-keep-track-of-powerdomains-in-each-vol.patch
deleted file mode 100644
index 84ecc50..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0108-OMAP2-voltage-keep-track-of-powerdomains-in-each-vol.patch
+++ /dev/null
@@ -1,200 +0,0 @@
-From 31e518c4d9758553f36e3dcd1138ac31f68bf571 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 16 Mar 2011 16:13:15 -0700
-Subject: [PATCH 108/149] OMAP2+: voltage: keep track of powerdomains in each voltagedomain
-
-When a powerdomain is registered and it has an associated voltage domain,
-add the powerdomain to the voltagedomain using voltdm_add_pwrdm().
-
-Also add voltagedomain iterator helper functions to iterate over all
-registered voltagedomains and all powerdomains associated with a
-voltagedomain.
-
-Modeled after a similar relationship between clockdomains and powerdomains.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/powerdomain.c |    2 +
- arch/arm/mach-omap2/powerdomain.h |    2 +
- arch/arm/mach-omap2/voltage.c     |   80 +++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/voltage.h     |   10 +++++
- 4 files changed, 94 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c
-index 1d3013d..12135e2 100644
---- a/arch/arm/mach-omap2/powerdomain.c
-+++ b/arch/arm/mach-omap2/powerdomain.c
-@@ -102,6 +102,8 @@ static int _pwrdm_register(struct powerdomain *pwrdm)
- 		return -EINVAL;
- 	}
- 	pwrdm->voltdm.ptr = voltdm;
-+	INIT_LIST_HEAD(&pwrdm->voltdm_node);
-+	voltdm_add_pwrdm(voltdm, pwrdm);
- 
- 	list_add(&pwrdm->node, &pwrdm_list);
- 
-diff --git a/arch/arm/mach-omap2/powerdomain.h b/arch/arm/mach-omap2/powerdomain.h
-index 25bef48..2c685a5 100644
---- a/arch/arm/mach-omap2/powerdomain.h
-+++ b/arch/arm/mach-omap2/powerdomain.h
-@@ -92,6 +92,7 @@ struct powerdomain;
-  * @pwrsts_mem_on: Possible memory bank pwrstates when pwrdm in ON
-  * @pwrdm_clkdms: Clockdomains in this powerdomain
-  * @node: list_head linking all powerdomains
-+ * @voltdm_node: list_head linking all powerdomains in a voltagedomain
-  * @state:
-  * @state_counter:
-  * @timer:
-@@ -116,6 +117,7 @@ struct powerdomain {
- 	const u8 prcm_partition;
- 	struct clockdomain *pwrdm_clkdms[PWRDM_MAX_CLKDMS];
- 	struct list_head node;
-+	struct list_head voltdm_node;
- 	int state;
- 	unsigned state_counter[PWRDM_MAX_PWRSTS];
- 	unsigned ret_logic_off_counter;
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 48a2593..1e5c122 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -36,6 +36,7 @@
- #include "control.h"
- 
- #include "voltage.h"
-+#include "powerdomain.h"
- 
- #include "vc.h"
- #include "vp.h"
-@@ -1085,11 +1086,90 @@ static struct voltagedomain *_voltdm_lookup(const char *name)
- 	return voltdm;
- }
- 
-+/**
-+ * voltdm_add_pwrdm - add a powerdomain to a voltagedomain
-+ * @voltdm: struct voltagedomain * to add the powerdomain to
-+ * @pwrdm: struct powerdomain * to associate with a voltagedomain
-+ *
-+ * Associate the powerdomain @pwrdm with a voltagedomain @voltdm.  This
-+ * enables the use of voltdm_for_each_pwrdm().  Returns -EINVAL if
-+ * presented with invalid pointers; -ENOMEM if memory could not be allocated;
-+ * or 0 upon success.
-+ */
-+int voltdm_add_pwrdm(struct voltagedomain *voltdm, struct powerdomain *pwrdm)
-+{
-+	if (!voltdm || !pwrdm)
-+		return -EINVAL;
-+
-+	pr_debug("voltagedomain: associating powerdomain %s with voltagedomain "
-+		 "%s\n", pwrdm->name, voltdm->name);
-+
-+	list_add(&pwrdm->voltdm_node, &voltdm->pwrdm_list);
-+
-+	return 0;
-+}
-+
-+/**
-+ * voltdm_for_each_pwrdm - call function for each pwrdm in a voltdm
-+ * @voltdm: struct voltagedomain * to iterate over
-+ * @fn: callback function *
-+ *
-+ * Call the supplied function @fn for each powerdomain in the
-+ * voltagedomain @voltdm.  Returns -EINVAL if presented with invalid
-+ * pointers; or passes along the last return value of the callback
-+ * function, which should be 0 for success or anything else to
-+ * indicate failure.
-+ */
-+int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
-+			  int (*fn)(struct voltagedomain *voltdm,
-+				    struct powerdomain *pwrdm))
-+{
-+	struct powerdomain *pwrdm;
-+	int ret = 0;
-+
-+	if (!fn)
-+		return -EINVAL;
-+
-+	list_for_each_entry(pwrdm, &voltdm->pwrdm_list, voltdm_node)
-+		ret = (*fn)(voltdm, pwrdm);
-+
-+	return ret;
-+}
-+
-+/**
-+ * voltdm_for_each - call function on each registered voltagedomain
-+ * @fn: callback function *
-+ *
-+ * Call the supplied function @fn for each registered voltagedomain.
-+ * The callback function @fn can return anything but 0 to bail out
-+ * early from the iterator.  Returns the last return value of the
-+ * callback function, which should be 0 for success or anything else
-+ * to indicate failure; or -EINVAL if the function pointer is null.
-+ */
-+int voltdm_for_each(int (*fn)(struct voltagedomain *voltdm, void *user),
-+		    void *user)
-+{
-+	struct voltagedomain *temp_voltdm;
-+	int ret = 0;
-+
-+	if (!fn)
-+		return -EINVAL;
-+
-+	list_for_each_entry(temp_voltdm, &voltdm_list, node) {
-+		ret = (*fn)(temp_voltdm, user);
-+		if (ret)
-+			break;
-+	}
-+
-+	return ret;
-+}
-+
- static int _voltdm_register(struct voltagedomain *voltdm)
- {
- 	if (!voltdm || !voltdm->name)
- 		return -EINVAL;
- 
-+	INIT_LIST_HEAD(&voltdm->pwrdm_list);
- 	list_add(&voltdm->node, &voltdm_list);
- 
- 	pr_debug("voltagedomain: registered %s\n", voltdm->name);
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 966aa88..b41d9f1 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -19,6 +19,8 @@
- #include "vc.h"
- #include "vp.h"
- 
-+struct powerdomain;
-+
- /* XXX document */
- #define VOLTSCALE_VPFORCEUPDATE		1
- #define VOLTSCALE_VCBYPASS		2
-@@ -55,12 +57,15 @@ struct omap_vfsm_instance_data {
-  * @name: Name of the voltage domain which can be used as a unique identifier.
-  * @scalable: Whether or not this voltage domain is scalable
-  * @node: list_head linking all voltage domains
-+ * @pwrdm_node: list_head linking all powerdomains in this voltagedomain
-  * @vdd: to be removed
-+ * @pwrdms: powerdomains in this voltagedomain
-  */
- struct voltagedomain {
- 	char *name;
- 	bool scalable;
- 	struct list_head node;
-+	struct list_head pwrdm_list;
- 	struct omap_vdd_info *vdd;
- };
- 
-@@ -187,4 +192,9 @@ extern void omap44xx_voltagedomains_init(void);
- struct voltagedomain *voltdm_lookup(const char *name);
- void voltdm_init(struct voltagedomain **voltdm_list);
- int voltdm_add_pwrdm(struct voltagedomain *voltdm, struct powerdomain *pwrdm);
-+int voltdm_for_each(int (*fn)(struct voltagedomain *voltdm, void *user),
-+		    void *user);
-+int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
-+			  int (*fn)(struct voltagedomain *voltdm,
-+				    struct powerdomain *pwrdm));
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0109-OMAP2-voltage-split-voltage-controller-VC-code-into-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0109-OMAP2-voltage-split-voltage-controller-VC-code-into-.patch
deleted file mode 100644
index f14a21b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0109-OMAP2-voltage-split-voltage-controller-VC-code-into-.patch
+++ /dev/null
@@ -1,666 +0,0 @@
-From 981e5f23fe781d26d69d8cc212674eab0353dea4 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 21 Mar 2011 14:08:55 -0700
-Subject: [PATCH 109/149] OMAP2+: voltage: split voltage controller (VC) code into dedicated layer
-
-As part of the voltage layer cleanup, split out VC specific code into
-a dedicated VC layer.  This patch primarily just moves VC code from
-voltage.c into vc.c, and adds prototypes to vc.h.
-
-No functional changes.
-
-For readability, each function was given a local 'vc' pointer:
-
-    struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-
-and a global replace of s/vdd->vc_data/vc/ was done.
-
-Also vc_init was renamed to vc_init_channel to reflect that this is
-per-VC channel initializtion.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/Makefile  |    2 +-
- arch/arm/mach-omap2/vc.c      |  276 +++++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/vc.h      |   12 ++
- arch/arm/mach-omap2/voltage.c |  264 +--------------------------------------
- 4 files changed, 293 insertions(+), 261 deletions(-)
- create mode 100644 arch/arm/mach-omap2/vc.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 1b6cecd..ecbf361 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -90,7 +90,7 @@ obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
- 
- # OMAP voltage domains
- ifeq ($(CONFIG_PM),y)
--voltagedomain-common			:= voltage.o
-+voltagedomain-common			:= voltage.o vc.o
- obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common) \
- 					   voltagedomains2xxx_data.o
- obj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common) \
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-new file mode 100644
-index 0000000..98f5a4b
---- /dev/null
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -0,0 +1,276 @@
-+#include <linux/kernel.h>
-+#include <linux/delay.h>
-+#include <linux/init.h>
-+
-+#include <plat/cpu.h>
-+
-+#include "voltage.h"
-+#include "vc.h"
-+#include "prm-regbits-34xx.h"
-+#include "prm-regbits-44xx.h"
-+#include "prm44xx.h"
-+
-+/* Voltage scale and accessory APIs */
-+int omap_vc_pre_scale(struct voltagedomain *voltdm,
-+		      unsigned long target_volt,
-+		      u8 *target_vsel, u8 *current_vsel)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	struct omap_volt_data *volt_data;
-+	const struct omap_vc_common_data *vc_common;
-+	const struct omap_vp_common_data *vp_common;
-+	u32 vc_cmdval, vp_errgain_val;
-+
-+	vc_common = vc->vc_common;
-+	vp_common = vdd->vp_data->vp_common;
-+
-+	/* Check if sufficient pmic info is available for this vdd */
-+	if (!vdd->pmic_info) {
-+		pr_err("%s: Insufficient pmic info to scale the vdd_%s\n",
-+			__func__, voltdm->name);
-+		return -EINVAL;
-+	}
-+
-+	if (!vdd->pmic_info->uv_to_vsel) {
-+		pr_err("%s: PMIC function to convert voltage in uV to"
-+			"vsel not registered. Hence unable to scale voltage"
-+			"for vdd_%s\n", __func__, voltdm->name);
-+		return -ENODATA;
-+	}
-+
-+	if (!vdd->read_reg || !vdd->write_reg) {
-+		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return -EINVAL;
-+	}
-+
-+	/* Get volt_data corresponding to target_volt */
-+	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
-+	if (IS_ERR(volt_data))
-+		volt_data = NULL;
-+
-+	*target_vsel = vdd->pmic_info->uv_to_vsel(target_volt);
-+	*current_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
-+
-+	/* Setting the ON voltage to the new target voltage */
-+	vc_cmdval = vdd->read_reg(vc->vc_common->prm_mod, vc->cmdval_reg);
-+	vc_cmdval &= ~vc_common->cmd_on_mask;
-+	vc_cmdval |= (*target_vsel << vc_common->cmd_on_shift);
-+	vdd->write_reg(vc_cmdval, vc->vc_common->prm_mod, vc->cmdval_reg);
-+
-+	/* Setting vp errorgain based on the voltage */
-+	if (volt_data) {
-+		vp_errgain_val = vdd->read_reg(vdd->vp_data->vp_common->prm_mod,
-+					       vdd->vp_data->vpconfig);
-+		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
-+		vp_errgain_val &= ~vp_common->vpconfig_errorgain_mask;
-+		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
-+			vp_common->vpconfig_errorgain_shift;
-+		vdd->write_reg(vp_errgain_val, vdd->vp_data->vp_common->prm_mod,
-+			       vdd->vp_data->vpconfig);
-+	}
-+
-+	return 0;
-+}
-+
-+void omap_vc_post_scale(struct voltagedomain *voltdm,
-+			unsigned long target_volt,
-+			u8 target_vsel, u8 current_vsel)
-+{
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 smps_steps = 0, smps_delay = 0;
-+
-+	smps_steps = abs(target_vsel - current_vsel);
-+	/* SMPS slew rate / step size. 2us added as buffer. */
-+	smps_delay = ((smps_steps * vdd->pmic_info->step_size) /
-+			vdd->pmic_info->slew_rate) + 2;
-+	udelay(smps_delay);
-+
-+	vdd->curr_volt = target_volt;
-+}
-+
-+/* vc_bypass_scale_voltage - VC bypass method of voltage scaling */
-+int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
-+				 unsigned long target_volt)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 loop_cnt = 0, retries_cnt = 0;
-+	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
-+	u8 target_vsel, current_vsel;
-+	int ret;
-+
-+	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
-+	if (ret)
-+		return ret;
-+
-+	vc_valid = vc->vc_common->valid;
-+	vc_bypass_val_reg = vc->vc_common->bypass_val_reg;
-+	vc_bypass_value = (target_vsel << vc->vc_common->data_shift) |
-+			(vdd->pmic_info->pmic_reg <<
-+			vc->vc_common->regaddr_shift) |
-+			(vdd->pmic_info->i2c_slave_addr <<
-+			vc->vc_common->slaveaddr_shift);
-+
-+	vdd->write_reg(vc_bypass_value, vc->vc_common->prm_mod, vc_bypass_val_reg);
-+	vdd->write_reg(vc_bypass_value | vc_valid, vc->vc_common->prm_mod,
-+		       vc_bypass_val_reg);
-+
-+	vc_bypass_value = vdd->read_reg(vc->vc_common->prm_mod, vc_bypass_val_reg);
-+	/*
-+	 * Loop till the bypass command is acknowledged from the SMPS.
-+	 * NOTE: This is legacy code. The loop count and retry count needs
-+	 * to be revisited.
-+	 */
-+	while (!(vc_bypass_value & vc_valid)) {
-+		loop_cnt++;
-+
-+		if (retries_cnt > 10) {
-+			pr_warning("%s: Retry count exceeded\n", __func__);
-+			return -ETIMEDOUT;
-+		}
-+
-+		if (loop_cnt > 50) {
-+			retries_cnt++;
-+			loop_cnt = 0;
-+			udelay(10);
-+		}
-+		vc_bypass_value = vdd->read_reg(vc->vc_common->prm_mod,
-+						vc_bypass_val_reg);
-+	}
-+
-+	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
-+	return 0;
-+}
-+
-+static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+
-+	/*
-+	 * Voltage Manager FSM parameters init
-+	 * XXX This data should be passed in from the board file
-+	 */
-+	vdd->write_reg(OMAP3_CLKSETUP, vc->vc_common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
-+	vdd->write_reg(OMAP3_VOLTOFFSET, vc->vc_common->prm_mod,
-+		       OMAP3_PRM_VOLTOFFSET_OFFSET);
-+	vdd->write_reg(OMAP3_VOLTSETUP2, vc->vc_common->prm_mod,
-+		       OMAP3_PRM_VOLTSETUP2_OFFSET);
-+}
-+
-+static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	static bool is_initialized;
-+	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
-+	u32 vc_val;
-+
-+	if (is_initialized)
-+		return;
-+
-+	/* Set up the on, inactive, retention and off voltage */
-+	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
-+	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
-+	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
-+	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
-+	vc_val	= ((on_vsel << vc->vc_common->cmd_on_shift) |
-+		(onlp_vsel << vc->vc_common->cmd_onlp_shift) |
-+		(ret_vsel << vc->vc_common->cmd_ret_shift) |
-+		(off_vsel << vc->vc_common->cmd_off_shift));
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod, vc->cmdval_reg);
-+
-+	/*
-+	 * Generic VC parameters init
-+	 * XXX This data should be abstracted out
-+	 */
-+	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vc->vc_common->prm_mod,
-+			OMAP3_PRM_VC_CH_CONF_OFFSET);
-+	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vc->vc_common->prm_mod,
-+			OMAP3_PRM_VC_I2C_CFG_OFFSET);
-+
-+	omap3_vfsm_init(voltdm);
-+
-+	is_initialized = true;
-+}
-+
-+
-+/* OMAP4 specific voltage init functions */
-+static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	static bool is_initialized;
-+	u32 vc_val;
-+
-+	if (is_initialized)
-+		return;
-+
-+	/* TODO: Configure setup times and CMD_VAL values*/
-+
-+	/*
-+	 * Generic VC parameters init
-+	 * XXX This data should be abstracted out
-+	 */
-+	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
-+		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
-+		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
-+
-+	/* XXX These are magic numbers and do not belong! */
-+	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
-+
-+	is_initialized = true;
-+}
-+
-+void __init omap_vc_init_channel(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 vc_val;
-+
-+	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
-+		pr_err("%s: PMIC info requried to configure vc for"
-+			"vdd_%s not populated.Hence cannot initialize vc\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	if (!vdd->read_reg || !vdd->write_reg) {
-+		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	/* Set up the SMPS_SA(i2c slave address in VC */
-+	vc_val = vdd->read_reg(vc->vc_common->prm_mod,
-+			       vc->vc_common->smps_sa_reg);
-+	vc_val &= ~vc->smps_sa_mask;
-+	vc_val |= vdd->pmic_info->i2c_slave_addr << vc->smps_sa_shift;
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod,
-+		       vc->vc_common->smps_sa_reg);
-+
-+	/* Setup the VOLRA(pmic reg addr) in VC */
-+	vc_val = vdd->read_reg(vc->vc_common->prm_mod,
-+			       vc->vc_common->smps_volra_reg);
-+	vc_val &= ~vc->smps_volra_mask;
-+	vc_val |= vdd->pmic_info->pmic_reg << vc->smps_volra_shift;
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod,
-+		       vc->vc_common->smps_volra_reg);
-+
-+	/* Configure the setup times */
-+	vc_val = vdd->read_reg(vc->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
-+	vc_val &= ~vdd->vfsm->voltsetup_mask;
-+	vc_val |= vdd->pmic_info->volt_setup_time <<
-+			vdd->vfsm->voltsetup_shift;
-+	vdd->write_reg(vc_val, vc->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
-+
-+	if (cpu_is_omap34xx())
-+		omap3_vc_init_channel(voltdm);
-+	else if (cpu_is_omap44xx())
-+		omap4_vc_init_channel(voltdm);
-+}
-+
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index f7338af..d0bf348 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -19,6 +19,8 @@
- 
- #include <linux/kernel.h>
- 
-+struct voltagedomain;
-+
- /**
-  * struct omap_vc_common_data - per-VC register/bitfield data
-  * @cmd_on_mask: ON bitmask in PRM_VC_CMD_VAL* register
-@@ -81,5 +83,15 @@ extern struct omap_vc_instance_data omap4_vc_mpu_data;
- extern struct omap_vc_instance_data omap4_vc_iva_data;
- extern struct omap_vc_instance_data omap4_vc_core_data;
- 
-+void omap_vc_init_channel(struct voltagedomain *voltdm);
-+int omap_vc_pre_scale(struct voltagedomain *voltdm,
-+		      unsigned long target_volt,
-+		      u8 *target_vsel, u8 *current_vsel);
-+void omap_vc_post_scale(struct voltagedomain *voltdm,
-+			unsigned long target_volt,
-+			u8 target_vsel, u8 current_vsel);
-+int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
-+				 unsigned long target_volt);
-+
- #endif
- 
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 1e5c122..6ba6e49 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -293,136 +293,6 @@ static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
- 				&nom_volt_debug_fops);
- }
- 
--/* Voltage scale and accessory APIs */
--static int _pre_volt_scale(struct voltagedomain *voltdm,
--		unsigned long target_volt, u8 *target_vsel, u8 *current_vsel)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	struct omap_volt_data *volt_data;
--	const struct omap_vc_common_data *vc_common;
--	const struct omap_vp_common_data *vp_common;
--	u32 vc_cmdval, vp_errgain_val;
--
--	vc_common = vdd->vc_data->vc_common;
--	vp_common = vdd->vp_data->vp_common;
--
--	/* Check if suffiecient pmic info is available for this vdd */
--	if (!vdd->pmic_info) {
--		pr_err("%s: Insufficient pmic info to scale the vdd_%s\n",
--			__func__, voltdm->name);
--		return -EINVAL;
--	}
--
--	if (!vdd->pmic_info->uv_to_vsel) {
--		pr_err("%s: PMIC function to convert voltage in uV to"
--			"vsel not registered. Hence unable to scale voltage"
--			"for vdd_%s\n", __func__, voltdm->name);
--		return -ENODATA;
--	}
--
--	if (!vdd->read_reg || !vdd->write_reg) {
--		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, voltdm->name);
--		return -EINVAL;
--	}
--
--	/* Get volt_data corresponding to target_volt */
--	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
--	if (IS_ERR(volt_data))
--		volt_data = NULL;
--
--	*target_vsel = vdd->pmic_info->uv_to_vsel(target_volt);
--	*current_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
--
--	/* Setting the ON voltage to the new target voltage */
--	vc_cmdval = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
--	vc_cmdval &= ~vc_common->cmd_on_mask;
--	vc_cmdval |= (*target_vsel << vc_common->cmd_on_shift);
--	vdd->write_reg(vc_cmdval, vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
--
--	/* Setting vp errorgain based on the voltage */
--	if (volt_data) {
--		vp_errgain_val = vdd->read_reg(vdd->vp_data->vp_common->prm_mod,
--					       vdd->vp_data->vpconfig);
--		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
--		vp_errgain_val &= ~vp_common->vpconfig_errorgain_mask;
--		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
--			vp_common->vpconfig_errorgain_shift;
--		vdd->write_reg(vp_errgain_val, vdd->vp_data->vp_common->prm_mod,
--			       vdd->vp_data->vpconfig);
--	}
--
--	return 0;
--}
--
--static void _post_volt_scale(struct voltagedomain *voltdm,
--		unsigned long target_volt, u8 target_vsel, u8 current_vsel)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 smps_steps = 0, smps_delay = 0;
--
--	smps_steps = abs(target_vsel - current_vsel);
--	/* SMPS slew rate / step size. 2us added as buffer. */
--	smps_delay = ((smps_steps * vdd->pmic_info->step_size) /
--			vdd->pmic_info->slew_rate) + 2;
--	udelay(smps_delay);
--
--	vdd->curr_volt = target_volt;
--}
--
--/* vc_bypass_scale_voltage - VC bypass method of voltage scaling */
--static int vc_bypass_scale_voltage(struct voltagedomain *voltdm,
--		unsigned long target_volt)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 loop_cnt = 0, retries_cnt = 0;
--	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
--	u8 target_vsel, current_vsel;
--	int ret;
--
--	ret = _pre_volt_scale(voltdm, target_volt, &target_vsel, &current_vsel);
--	if (ret)
--		return ret;
--
--	vc_valid = vdd->vc_data->vc_common->valid;
--	vc_bypass_val_reg = vdd->vc_data->vc_common->bypass_val_reg;
--	vc_bypass_value = (target_vsel << vdd->vc_data->vc_common->data_shift) |
--			(vdd->pmic_info->pmic_reg <<
--			vdd->vc_data->vc_common->regaddr_shift) |
--			(vdd->pmic_info->i2c_slave_addr <<
--			vdd->vc_data->vc_common->slaveaddr_shift);
--
--	vdd->write_reg(vc_bypass_value, vdd->vc_data->vc_common->prm_mod, vc_bypass_val_reg);
--	vdd->write_reg(vc_bypass_value | vc_valid, vdd->vc_data->vc_common->prm_mod,
--		       vc_bypass_val_reg);
--
--	vc_bypass_value = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vc_bypass_val_reg);
--	/*
--	 * Loop till the bypass command is acknowledged from the SMPS.
--	 * NOTE: This is legacy code. The loop count and retry count needs
--	 * to be revisited.
--	 */
--	while (!(vc_bypass_value & vc_valid)) {
--		loop_cnt++;
--
--		if (retries_cnt > 10) {
--			pr_warning("%s: Retry count exceeded\n", __func__);
--			return -ETIMEDOUT;
--		}
--
--		if (loop_cnt > 50) {
--			retries_cnt++;
--			loop_cnt = 0;
--			udelay(10);
--		}
--		vc_bypass_value = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
--						vc_bypass_val_reg);
--	}
--
--	_post_volt_scale(voltdm, target_volt, target_vsel, current_vsel);
--	return 0;
--}
--
- /* VP force update method of voltage scaling */
- static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 		unsigned long target_volt)
-@@ -432,7 +302,7 @@ static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 	u8 target_vsel, current_vsel;
- 	int ret, timeout = 0;
- 
--	ret = _pre_volt_scale(voltdm, target_volt, &target_vsel, &current_vsel);
-+	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
- 	if (ret)
- 		return ret;
- 
-@@ -485,7 +355,7 @@ static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 			"TRANXDONE never got set after the voltage update\n",
- 			__func__, voltdm->name);
- 
--	_post_volt_scale(voltdm, target_volt, target_vsel, current_vsel);
-+	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
- 
- 	/*
- 	 * Disable TransactionDone interrupt , clear all status, clear
-@@ -517,132 +387,6 @@ static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
- 	return 0;
- }
- 
--static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--
--	/*
--	 * Voltage Manager FSM parameters init
--	 * XXX This data should be passed in from the board file
--	 */
--	vdd->write_reg(OMAP3_CLKSETUP, vdd->vc_data->vc_common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
--	vdd->write_reg(OMAP3_VOLTOFFSET, vdd->vc_data->vc_common->prm_mod,
--		       OMAP3_PRM_VOLTOFFSET_OFFSET);
--	vdd->write_reg(OMAP3_VOLTSETUP2, vdd->vc_data->vc_common->prm_mod,
--		       OMAP3_PRM_VOLTSETUP2_OFFSET);
--}
--
--static void __init omap3_vc_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	static bool is_initialized;
--	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
--	u32 vc_val;
--
--	if (is_initialized)
--		return;
--
--	/* Set up the on, inactive, retention and off voltage */
--	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
--	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
--	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
--	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
--	vc_val	= ((on_vsel << vdd->vc_data->vc_common->cmd_on_shift) |
--		(onlp_vsel << vdd->vc_data->vc_common->cmd_onlp_shift) |
--		(ret_vsel << vdd->vc_data->vc_common->cmd_ret_shift) |
--		(off_vsel << vdd->vc_data->vc_common->cmd_off_shift));
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, vdd->vc_data->cmdval_reg);
--
--	/*
--	 * Generic VC parameters init
--	 * XXX This data should be abstracted out
--	 */
--	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vdd->vc_data->vc_common->prm_mod,
--			OMAP3_PRM_VC_CH_CONF_OFFSET);
--	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vdd->vc_data->vc_common->prm_mod,
--			OMAP3_PRM_VC_I2C_CFG_OFFSET);
--
--	omap3_vfsm_init(voltdm);
--
--	is_initialized = true;
--}
--
--
--/* OMAP4 specific voltage init functions */
--static void __init omap4_vc_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	static bool is_initialized;
--	u32 vc_val;
--
--	if (is_initialized)
--		return;
--
--	/* TODO: Configure setup times and CMD_VAL values*/
--
--	/*
--	 * Generic VC parameters init
--	 * XXX This data should be abstracted out
--	 */
--	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
--		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
--		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
--
--	/* XXX These are magic numbers and do not belong! */
--	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
--
--	is_initialized = true;
--}
--
--static void __init omap_vc_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vc_val;
--
--	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
--		pr_err("%s: PMIC info requried to configure vc for"
--			"vdd_%s not populated.Hence cannot initialize vc\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	if (!vdd->read_reg || !vdd->write_reg) {
--		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	/* Set up the SMPS_SA(i2c slave address in VC */
--	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
--			       vdd->vc_data->vc_common->smps_sa_reg);
--	vc_val &= ~vdd->vc_data->smps_sa_mask;
--	vc_val |= vdd->pmic_info->i2c_slave_addr << vdd->vc_data->smps_sa_shift;
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod,
--		       vdd->vc_data->vc_common->smps_sa_reg);
--
--	/* Setup the VOLRA(pmic reg addr) in VC */
--	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod,
--			       vdd->vc_data->vc_common->smps_volra_reg);
--	vc_val &= ~vdd->vc_data->smps_volra_mask;
--	vc_val |= vdd->pmic_info->pmic_reg << vdd->vc_data->smps_volra_shift;
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod,
--		       vdd->vc_data->vc_common->smps_volra_reg);
--
--	/* Configure the setup times */
--	vc_val = vdd->read_reg(vdd->vc_data->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
--	vc_val &= ~vdd->vfsm->voltsetup_mask;
--	vc_val |= vdd->pmic_info->volt_setup_time <<
--			vdd->vfsm->voltsetup_shift;
--	vdd->write_reg(vc_val, vdd->vc_data->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
--
--	if (cpu_is_omap34xx())
--		omap3_vc_init(voltdm);
--	else if (cpu_is_omap44xx())
--		omap4_vc_init(voltdm);
--}
--
- static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- {
- 	struct omap_vdd_info *vdd = voltdm->vdd;
-@@ -1025,7 +769,7 @@ void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 		vdd->volt_scale = vp_forceupdate_scale_voltage;
- 		return;
- 	case VOLTSCALE_VCBYPASS:
--		vdd->volt_scale = vc_bypass_scale_voltage;
-+		vdd->volt_scale = omap_vc_bypass_scale_voltage;
- 		return;
- 	default:
- 		pr_warning("%s: Trying to change the method of voltage scaling"
-@@ -1061,7 +805,7 @@ int __init omap_voltage_late_init(void)
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
- 				continue;
--			omap_vc_init(voltdm);
-+			omap_vc_init_channel(voltdm);
- 			vp_init(voltdm);
- 			vdd_debugfs_init(voltdm);
- 		}
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0110-OMAP2-voltage-move-VC-into-struct-voltagedomain-misc.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0110-OMAP2-voltage-move-VC-into-struct-voltagedomain-misc.patch
deleted file mode 100644
index feb72d1..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0110-OMAP2-voltage-move-VC-into-struct-voltagedomain-misc.patch
+++ /dev/null
@@ -1,544 +0,0 @@
-From 4b4aeca96cd144542cd21035d13885d9ef0b6980 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 22 Mar 2011 16:14:57 -0700
-Subject: [PATCH 110/149] OMAP2+: voltage: move VC into struct voltagedomain, misc. renames
-
-Move the VC instance struct from omap_vdd_info into struct voltagedomain.
-While moving, perform some misc. renames for readability.
-
-No functional changes.
-
-Summary of renames:
-- rename omap_vc_instance to omap_vc_channel, since there is only
-  one instance of the VC IP and this actually represents channels
-  using TRM terminology.
-- rename 'vc_common' field of VC channel which led to:
-  s/vc->vc_common/vc->common/
-- remove redundant '_data' suffix
-- OMAP3: vc1 --> vc_mpu, vc2 --> vc_core
-- omap_vc_bypass_scale_voltage() -> omap_vc_bypass_scale()
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
-
-merge
----
- arch/arm/mach-omap2/vc.c                      |   90 ++++++++++++-------------
- arch/arm/mach-omap2/vc.h                      |   26 ++++----
- arch/arm/mach-omap2/vc3xxx_data.c             |   10 ++--
- arch/arm/mach-omap2/vc44xx_data.c             |   14 ++--
- arch/arm/mach-omap2/voltage.c                 |    6 +-
- arch/arm/mach-omap2/voltage.h                 |    5 +-
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    4 +-
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 +-
- 8 files changed, 80 insertions(+), 81 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 98f5a4b..7643940 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -15,14 +15,12 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		      unsigned long target_volt,
- 		      u8 *target_vsel, u8 *current_vsel)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	struct omap_volt_data *volt_data;
--	const struct omap_vc_common_data *vc_common;
- 	const struct omap_vp_common_data *vp_common;
- 	u32 vc_cmdval, vp_errgain_val;
- 
--	vc_common = vc->vc_common;
- 	vp_common = vdd->vp_data->vp_common;
- 
- 	/* Check if sufficient pmic info is available for this vdd */
-@@ -54,10 +52,10 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	*current_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
- 
- 	/* Setting the ON voltage to the new target voltage */
--	vc_cmdval = vdd->read_reg(vc->vc_common->prm_mod, vc->cmdval_reg);
--	vc_cmdval &= ~vc_common->cmd_on_mask;
--	vc_cmdval |= (*target_vsel << vc_common->cmd_on_shift);
--	vdd->write_reg(vc_cmdval, vc->vc_common->prm_mod, vc->cmdval_reg);
-+	vc_cmdval = vdd->read_reg(vc->common->prm_mod, vc->cmdval_reg);
-+	vc_cmdval &= ~vc->common->cmd_on_mask;
-+	vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift);
-+	vdd->write_reg(vc_cmdval, vc->common->prm_mod, vc->cmdval_reg);
- 
- 	/* Setting vp errorgain based on the voltage */
- 	if (volt_data) {
-@@ -90,11 +88,11 @@ void omap_vc_post_scale(struct voltagedomain *voltdm,
- 	vdd->curr_volt = target_volt;
- }
- 
--/* vc_bypass_scale_voltage - VC bypass method of voltage scaling */
--int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
--				 unsigned long target_volt)
-+/* vc_bypass_scale - VC bypass method of voltage scaling */
-+int omap_vc_bypass_scale(struct voltagedomain *voltdm,
-+			 unsigned long target_volt)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 loop_cnt = 0, retries_cnt = 0;
- 	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
-@@ -105,19 +103,19 @@ int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
- 	if (ret)
- 		return ret;
- 
--	vc_valid = vc->vc_common->valid;
--	vc_bypass_val_reg = vc->vc_common->bypass_val_reg;
--	vc_bypass_value = (target_vsel << vc->vc_common->data_shift) |
-+	vc_valid = vc->common->valid;
-+	vc_bypass_val_reg = vc->common->bypass_val_reg;
-+	vc_bypass_value = (target_vsel << vc->common->data_shift) |
- 			(vdd->pmic_info->pmic_reg <<
--			vc->vc_common->regaddr_shift) |
-+			vc->common->regaddr_shift) |
- 			(vdd->pmic_info->i2c_slave_addr <<
--			vc->vc_common->slaveaddr_shift);
-+			vc->common->slaveaddr_shift);
- 
--	vdd->write_reg(vc_bypass_value, vc->vc_common->prm_mod, vc_bypass_val_reg);
--	vdd->write_reg(vc_bypass_value | vc_valid, vc->vc_common->prm_mod,
-+	vdd->write_reg(vc_bypass_value, vc->common->prm_mod, vc_bypass_val_reg);
-+	vdd->write_reg(vc_bypass_value | vc_valid, vc->common->prm_mod,
- 		       vc_bypass_val_reg);
- 
--	vc_bypass_value = vdd->read_reg(vc->vc_common->prm_mod, vc_bypass_val_reg);
-+	vc_bypass_value = vdd->read_reg(vc->common->prm_mod, vc_bypass_val_reg);
- 	/*
- 	 * Loop till the bypass command is acknowledged from the SMPS.
- 	 * NOTE: This is legacy code. The loop count and retry count needs
-@@ -136,7 +134,7 @@ int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
- 			loop_cnt = 0;
- 			udelay(10);
- 		}
--		vc_bypass_value = vdd->read_reg(vc->vc_common->prm_mod,
-+		vc_bypass_value = vdd->read_reg(vc->common->prm_mod,
- 						vc_bypass_val_reg);
- 	}
- 
-@@ -146,23 +144,23 @@ int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
- 
- static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 
- 	/*
- 	 * Voltage Manager FSM parameters init
- 	 * XXX This data should be passed in from the board file
- 	 */
--	vdd->write_reg(OMAP3_CLKSETUP, vc->vc_common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
--	vdd->write_reg(OMAP3_VOLTOFFSET, vc->vc_common->prm_mod,
-+	vdd->write_reg(OMAP3_CLKSETUP, vc->common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
-+	vdd->write_reg(OMAP3_VOLTOFFSET, vc->common->prm_mod,
- 		       OMAP3_PRM_VOLTOFFSET_OFFSET);
--	vdd->write_reg(OMAP3_VOLTSETUP2, vc->vc_common->prm_mod,
-+	vdd->write_reg(OMAP3_VOLTSETUP2, vc->common->prm_mod,
- 		       OMAP3_PRM_VOLTSETUP2_OFFSET);
- }
- 
- static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
- 	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
-@@ -176,19 +174,19 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- 	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
- 	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
- 	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
--	vc_val	= ((on_vsel << vc->vc_common->cmd_on_shift) |
--		(onlp_vsel << vc->vc_common->cmd_onlp_shift) |
--		(ret_vsel << vc->vc_common->cmd_ret_shift) |
--		(off_vsel << vc->vc_common->cmd_off_shift));
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod, vc->cmdval_reg);
-+	vc_val	= ((on_vsel << vc->common->cmd_on_shift) |
-+		(onlp_vsel << vc->common->cmd_onlp_shift) |
-+		(ret_vsel << vc->common->cmd_ret_shift) |
-+		(off_vsel << vc->common->cmd_off_shift));
-+	vdd->write_reg(vc_val, vc->common->prm_mod, vc->cmdval_reg);
- 
- 	/*
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
- 	 */
--	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vc->vc_common->prm_mod,
-+	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vc->common->prm_mod,
- 			OMAP3_PRM_VC_CH_CONF_OFFSET);
--	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vc->vc_common->prm_mod,
-+	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vc->common->prm_mod,
- 			OMAP3_PRM_VC_I2C_CFG_OFFSET);
- 
- 	omap3_vfsm_init(voltdm);
-@@ -200,7 +198,7 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- /* OMAP4 specific voltage init functions */
- static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
- 	u32 vc_val;
-@@ -217,18 +215,18 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- 	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
- 		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
- 		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
-+	vdd->write_reg(vc_val, vc->common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
- 
- 	/* XXX These are magic numbers and do not belong! */
- 	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
-+	vdd->write_reg(vc_val, vc->common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
- 
- 	is_initialized = true;
- }
- 
- void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- {
--	struct omap_vc_instance_data *vc = voltdm->vdd->vc_data;
-+	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vc_val;
- 
-@@ -246,27 +244,27 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	}
- 
- 	/* Set up the SMPS_SA(i2c slave address in VC */
--	vc_val = vdd->read_reg(vc->vc_common->prm_mod,
--			       vc->vc_common->smps_sa_reg);
-+	vc_val = vdd->read_reg(vc->common->prm_mod,
-+			       vc->common->smps_sa_reg);
- 	vc_val &= ~vc->smps_sa_mask;
- 	vc_val |= vdd->pmic_info->i2c_slave_addr << vc->smps_sa_shift;
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod,
--		       vc->vc_common->smps_sa_reg);
-+	vdd->write_reg(vc_val, vc->common->prm_mod,
-+		       vc->common->smps_sa_reg);
- 
- 	/* Setup the VOLRA(pmic reg addr) in VC */
--	vc_val = vdd->read_reg(vc->vc_common->prm_mod,
--			       vc->vc_common->smps_volra_reg);
-+	vc_val = vdd->read_reg(vc->common->prm_mod,
-+			       vc->common->smps_volra_reg);
- 	vc_val &= ~vc->smps_volra_mask;
- 	vc_val |= vdd->pmic_info->pmic_reg << vc->smps_volra_shift;
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod,
--		       vc->vc_common->smps_volra_reg);
-+	vdd->write_reg(vc_val, vc->common->prm_mod,
-+		       vc->common->smps_volra_reg);
- 
- 	/* Configure the setup times */
--	vc_val = vdd->read_reg(vc->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
-+	vc_val = vdd->read_reg(vc->common->prm_mod, vdd->vfsm->voltsetup_reg);
- 	vc_val &= ~vdd->vfsm->voltsetup_mask;
- 	vc_val |= vdd->pmic_info->volt_setup_time <<
- 			vdd->vfsm->voltsetup_shift;
--	vdd->write_reg(vc_val, vc->vc_common->prm_mod, vdd->vfsm->voltsetup_reg);
-+	vdd->write_reg(vc_val, vc->common->prm_mod, vdd->vfsm->voltsetup_reg);
- 
- 	if (cpu_is_omap34xx())
- 		omap3_vc_init_channel(voltdm);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index d0bf348..51d36a8 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -22,7 +22,7 @@
- struct voltagedomain;
- 
- /**
-- * struct omap_vc_common_data - per-VC register/bitfield data
-+ * struct omap_vc_common - per-VC register/bitfield data
-  * @cmd_on_mask: ON bitmask in PRM_VC_CMD_VAL* register
-  * @valid: VALID bitmask in PRM_VC_BYPASS_VAL register
-  * @prm_mod: PRM module id used for PRM register access
-@@ -40,7 +40,7 @@ struct voltagedomain;
-  * XXX One of cmd_on_mask and cmd_on_shift are not needed
-  * XXX VALID should probably be a shift, not a mask
-  */
--struct omap_vc_common_data {
-+struct omap_vc_common {
- 	u32 cmd_on_mask;
- 	u32 valid;
- 	s16 prm_mod;
-@@ -57,8 +57,8 @@ struct omap_vc_common_data {
- };
- 
- /**
-- * struct omap_vc_instance_data - VC per-instance data
-- * @vc_common: pointer to VC common data for this platform
-+ * struct omap_vc_channel - VC per-instance data
-+ * @common: pointer to VC common data for this platform
-  * @smps_sa_mask: SA* bitmask in the PRM_VC_SMPS_SA register
-  * @smps_volra_mask: VOLRA* bitmask in the PRM_VC_VOL_RA register
-  * @smps_sa_shift: SA* field shift in the PRM_VC_SMPS_SA register
-@@ -67,8 +67,8 @@ struct omap_vc_common_data {
-  * XXX It is not necessary to have both a *_mask and a *_shift -
-  *     remove one
-  */
--struct omap_vc_instance_data {
--	const struct omap_vc_common_data *vc_common;
-+struct omap_vc_channel {
-+	const struct omap_vc_common *common;
- 	u32 smps_sa_mask;
- 	u32 smps_volra_mask;
- 	u8 cmdval_reg;
-@@ -76,12 +76,12 @@ struct omap_vc_instance_data {
- 	u8 smps_volra_shift;
- };
- 
--extern struct omap_vc_instance_data omap3_vc1_data;
--extern struct omap_vc_instance_data omap3_vc2_data;
-+extern struct omap_vc_channel omap3_vc_mpu;
-+extern struct omap_vc_channel omap3_vc_core;
- 
--extern struct omap_vc_instance_data omap4_vc_mpu_data;
--extern struct omap_vc_instance_data omap4_vc_iva_data;
--extern struct omap_vc_instance_data omap4_vc_core_data;
-+extern struct omap_vc_channel omap4_vc_mpu;
-+extern struct omap_vc_channel omap4_vc_iva;
-+extern struct omap_vc_channel omap4_vc_core;
- 
- void omap_vc_init_channel(struct voltagedomain *voltdm);
- int omap_vc_pre_scale(struct voltagedomain *voltdm,
-@@ -90,8 +90,8 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- void omap_vc_post_scale(struct voltagedomain *voltdm,
- 			unsigned long target_volt,
- 			u8 target_vsel, u8 current_vsel);
--int omap_vc_bypass_scale_voltage(struct voltagedomain *voltdm,
--				 unsigned long target_volt);
-+int omap_vc_bypass_scale(struct voltagedomain *voltdm,
-+			 unsigned long target_volt);
- 
- #endif
- 
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index 55caccb..1a17ed4 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -29,7 +29,7 @@
-  * VC data common to 34xx/36xx chips
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
--static struct omap_vc_common_data omap3_vc_common = {
-+static struct omap_vc_common omap3_vc_common = {
- 	.prm_mod         = OMAP3430_GR_MOD,
- 	.smps_sa_reg	 = OMAP3_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg	 = OMAP3_PRM_VC_SMPS_VOL_RA_OFFSET,
-@@ -45,8 +45,8 @@ static struct omap_vc_common_data omap3_vc_common = {
- 	.cmd_off_shift	 = OMAP3430_VC_CMD_OFF_SHIFT,
- };
- 
--struct omap_vc_instance_data omap3_vc1_data = {
--	.vc_common = &omap3_vc_common,
-+struct omap_vc_channel omap3_vc_mpu = {
-+	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_0_OFFSET,
- 	.smps_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA0_SHIFT,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA0_MASK,
-@@ -54,8 +54,8 @@ struct omap_vc_instance_data omap3_vc1_data = {
- 	.smps_volra_mask = OMAP3430_VOLRA0_MASK,
- };
- 
--struct omap_vc_instance_data omap3_vc2_data = {
--	.vc_common = &omap3_vc_common,
-+struct omap_vc_channel omap3_vc_core = {
-+	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_1_OFFSET,
- 	.smps_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA1_MASK,
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index b62678e..56f3f4a 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -30,7 +30,7 @@
-  * VC data common to 44xx chips
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
--static const struct omap_vc_common_data omap4_vc_common = {
-+static const struct omap_vc_common omap4_vc_common = {
- 	.prm_mod = OMAP4430_PRM_DEVICE_INST,
- 	.smps_sa_reg = OMAP4_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg = OMAP4_PRM_VC_VAL_SMPS_RA_VOL_OFFSET,
-@@ -47,8 +47,8 @@ static const struct omap_vc_common_data omap4_vc_common = {
- };
- 
- /* VC instance data for each controllable voltage line */
--struct omap_vc_instance_data omap4_vc_mpu_data = {
--	.vc_common = &omap4_vc_common,
-+struct omap_vc_channel omap4_vc_mpu = {
-+	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET,
- 	.smps_sa_shift = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_MASK,
-@@ -56,8 +56,8 @@ struct omap_vc_instance_data omap4_vc_mpu_data = {
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_MPU_L_MASK,
- };
- 
--struct omap_vc_instance_data omap4_vc_iva_data = {
--	.vc_common = &omap4_vc_common,
-+struct omap_vc_channel omap4_vc_iva = {
-+	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_IVA_L_OFFSET,
- 	.smps_sa_shift = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_MASK,
-@@ -65,8 +65,8 @@ struct omap_vc_instance_data omap4_vc_iva_data = {
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_IVA_L_MASK,
- };
- 
--struct omap_vc_instance_data omap4_vc_core_data = {
--	.vc_common = &omap4_vc_common,
-+struct omap_vc_channel omap4_vc_core = {
-+	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_CORE_L_OFFSET,
- 	.smps_sa_shift = OMAP4430_SA_VDD_CORE_L_0_6_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_CORE_L_0_6_MASK,
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 6ba6e49..c6352e3 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -769,7 +769,7 @@ void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 		vdd->volt_scale = vp_forceupdate_scale_voltage;
- 		return;
- 	case VOLTSCALE_VCBYPASS:
--		vdd->volt_scale = omap_vc_bypass_scale_voltage;
-+		vdd->volt_scale = omap_vc_bypass_scale;
- 		return;
- 	default:
- 		pr_warning("%s: Trying to change the method of voltage scaling"
-@@ -802,10 +802,12 @@ int __init omap_voltage_late_init(void)
- 		if (!voltdm->scalable)
- 			continue;
- 
-+		if (voltdm->vc)
-+			omap_vc_init_channel(voltdm);
-+
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
- 				continue;
--			omap_vc_init_channel(voltdm);
- 			vp_init(voltdm);
- 			vdd_debugfs_init(voltdm);
- 		}
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index b41d9f1..b06e03f 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -66,6 +66,8 @@ struct voltagedomain {
- 	bool scalable;
- 	struct list_head node;
- 	struct list_head pwrdm_list;
-+	struct omap_vc_channel *vc;
-+
- 	struct omap_vdd_info *vdd;
- };
- 
-@@ -125,8 +127,6 @@ struct omap_volt_pmic_info {
-  * @vp_data		: the register values, shifts, masks for various
-  *			  vp registers
-  * @vp_rt_data          : VP data derived at runtime, not predefined
-- * @vc_data		: structure containing various various vc registers,
-- *			  shifts, masks etc.
-  * @vfsm                : voltage manager FSM data
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-@@ -139,7 +139,6 @@ struct omap_vdd_info {
- 	struct omap_volt_pmic_info *pmic_info;
- 	struct omap_vp_instance_data *vp_data;
- 	struct omap_vp_runtime_data vp_rt_data;
--	struct omap_vc_instance_data *vc_data;
- 	const struct omap_vfsm_instance_data *vfsm;
- 	struct dentry *debug_dir;
- 	u32 curr_volt;
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index d7e1052..7cb27ec 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -41,7 +41,6 @@ static struct omap_vdd_info omap3_vdd1_info = {
- 	.prm_irqst_mod = OCP_MOD,
- 	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp1_data,
--	.vc_data = &omap3_vc1_data,
- 	.vfsm = &omap3_vdd1_vfsm_data,
- };
- 
-@@ -55,19 +54,20 @@ static struct omap_vdd_info omap3_vdd2_info = {
- 	.prm_irqst_mod = OCP_MOD,
- 	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp2_data,
--	.vc_data = &omap3_vc2_data,
- 	.vfsm = &omap3_vdd2_vfsm_data,
- };
- 
- static struct voltagedomain omap3_voltdm_mpu = {
- 	.name = "mpu_iva",
- 	.scalable = true,
-+	.vc = &omap3_vc_mpu,
- 	.vdd = &omap3_vdd1_info,
- };
- 
- static struct voltagedomain omap3_voltdm_core = {
- 	.name = "core",
- 	.scalable = true,
-+	.vc = &omap3_vc_core,
- 	.vdd = &omap3_vdd2_info,
- };
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 9a17b5e..a05d90a 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -40,7 +40,6 @@ static struct omap_vdd_info omap4_vdd_mpu_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
- 	.vp_data = &omap4_vp_mpu_data,
--	.vc_data = &omap4_vc_mpu_data,
- 	.vfsm = &omap4_vdd_mpu_vfsm_data,
- };
- 
-@@ -52,7 +51,6 @@ static struct omap_vdd_info omap4_vdd_iva_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_iva_data,
--	.vc_data = &omap4_vc_iva_data,
- 	.vfsm = &omap4_vdd_iva_vfsm_data,
- };
- 
-@@ -64,25 +62,27 @@ static struct omap_vdd_info omap4_vdd_core_info = {
- 	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
- 	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_core_data,
--	.vc_data = &omap4_vc_core_data,
- 	.vfsm = &omap4_vdd_core_vfsm_data,
- };
- 
- static struct voltagedomain omap4_voltdm_mpu = {
- 	.name = "mpu",
- 	.scalable = true,
-+	.vc = &omap4_vc_mpu,
- 	.vdd = &omap4_vdd_mpu_info,
- };
- 
- static struct voltagedomain omap4_voltdm_iva = {
- 	.name = "iva",
- 	.scalable = true,
-+	.vc = &omap4_vc_iva,
- 	.vdd = &omap4_vdd_iva_info,
- };
- 
- static struct voltagedomain omap4_voltdm_core = {
- 	.name = "core",
- 	.scalable = true,
-+	.vc = &omap4_vc_core,
- 	.vdd = &omap4_vdd_core_info,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0111-OMAP2-voltage-enable-VC-bypass-scale-method-when-VC-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0111-OMAP2-voltage-enable-VC-bypass-scale-method-when-VC-.patch
deleted file mode 100644
index a5ad5b8..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0111-OMAP2-voltage-enable-VC-bypass-scale-method-when-VC-.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 23a2e1563c2e0bf2c8162c8c91b2cf1f6007c669 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 18 Jul 2011 15:48:22 -0700
-Subject: [PATCH 111/149] OMAP2+: voltage: enable VC bypass scale method when VC is initialized
-
-VC is initialized first, set default scaling method to VC bypass.
-If/when VP is initialized, default scaling method will be changed to
-VP force-update.
-
-Enabling VC bypass as default as soon as VC is initialized allows for
-VC bypass scaling to work when no VP is configured/initialized for a
-given voltage domain.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index c6352e3..e1a22a3 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -802,8 +802,10 @@ int __init omap_voltage_late_init(void)
- 		if (!voltdm->scalable)
- 			continue;
- 
--		if (voltdm->vc)
-+		if (voltdm->vc) {
-+			voltdm->vdd->volt_scale = omap_vc_bypass_scale;
- 			omap_vc_init_channel(voltdm);
-+		}
- 
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0112-OMAP2-voltage-split-out-voltage-processor-VP-code-in.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0112-OMAP2-voltage-split-out-voltage-processor-VP-code-in.patch
deleted file mode 100644
index 095b5bf..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0112-OMAP2-voltage-split-out-voltage-processor-VP-code-in.patch
+++ /dev/null
@@ -1,874 +0,0 @@
-From 0d45741059eb1c21dd4c1f34083d1ecaed7fca96 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 21 Mar 2011 14:29:13 -0700
-Subject: [PATCH 112/149] OMAP2+: voltage: split out voltage processor (VP) code into new layer
-
-This patch is primarily a move of VP specific code from voltage.c into
-its own code in vp.c and adds prototypes to vp.h
-
-No functional changes, except debugfs...
-
-VP debugfs moved to 'vp' subdir of <debugfs>/voltage/ and 'vp_'
-prefixes removed from all debugfs filenames.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/Makefile  |    2 +-
- arch/arm/mach-omap2/voltage.c |  348 +-------------------------------------
- arch/arm/mach-omap2/voltage.h |    3 -
- arch/arm/mach-omap2/vp.c      |  374 +++++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/vp.h      |    9 +
- 5 files changed, 387 insertions(+), 349 deletions(-)
- create mode 100644 arch/arm/mach-omap2/vp.c
-
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index ecbf361..8e79ca5 100644
---- a/arch/arm/mach-omap2/Makefile
-+++ b/arch/arm/mach-omap2/Makefile
-@@ -90,7 +90,7 @@ obj-$(CONFIG_ARCH_OMAP4)		+= prcm.o cm2xxx_3xxx.o cminst44xx.o \
- 
- # OMAP voltage domains
- ifeq ($(CONFIG_PM),y)
--voltagedomain-common			:= voltage.o vc.o
-+voltagedomain-common			:= voltage.o vc.o vp.o
- obj-$(CONFIG_ARCH_OMAP2)		+= $(voltagedomain-common) \
- 					   voltagedomains2xxx_data.o
- obj-$(CONFIG_ARCH_OMAP3)		+= $(voltagedomain-common) \
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index e1a22a3..9b9f019 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -46,10 +46,6 @@ static LIST_HEAD(voltdm_list);
- #define VOLTAGE_DIR_SIZE	16
- static struct dentry *voltage_dir;
- 
--/* Init function pointers */
--static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
--					unsigned long target_volt);
--
- static u32 omap3_voltage_read_reg(u16 mod, u8 offset)
- {
- 	return omap2_prm_read_mod_reg(mod, offset);
-@@ -105,7 +101,7 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 	sys_clk_speed /= 1000;
- 
- 	/* Generic voltage parameters */
--	vdd->volt_scale = vp_forceupdate_scale_voltage;
-+	vdd->volt_scale = omap_vp_forceupdate_scale;
- 	vdd->vp_enabled = false;
- 
- 	vdd->vp_rt_data.vpconfig_erroroffset =
-@@ -127,30 +123,6 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 	return 0;
- }
- 
--/* Voltage debugfs support */
--static int vp_volt_debug_get(void *data, u64 *val)
--{
--	struct voltagedomain *voltdm = (struct voltagedomain *)data;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u8 vsel;
--
--	if (!vdd) {
--		pr_warning("Wrong paramater passed\n");
--		return -EINVAL;
--	}
--
--	vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
--
--	if (!vdd->pmic_info->vsel_to_uv) {
--		pr_warning("PMIC function to convert vsel to voltage"
--			"in uV not registerd\n");
--		return -EINVAL;
--	}
--
--	*val = vdd->pmic_info->vsel_to_uv(vsel);
--	return 0;
--}
--
- static int nom_volt_debug_get(void *data, u64 *val)
- {
- 	struct voltagedomain *voltdm = (struct voltagedomain *)data;
-@@ -165,85 +137,8 @@ static int nom_volt_debug_get(void *data, u64 *val)
- 	return 0;
- }
- 
--DEFINE_SIMPLE_ATTRIBUTE(vp_volt_debug_fops, vp_volt_debug_get, NULL, "%llu\n");
- DEFINE_SIMPLE_ATTRIBUTE(nom_volt_debug_fops, nom_volt_debug_get, NULL,
- 								"%llu\n");
--static void vp_latch_vsel(struct voltagedomain *voltdm)
--{
--	u32 vpconfig;
--	unsigned long uvdc;
--	char vsel;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--
--	uvdc = omap_voltage_get_nom_volt(voltdm);
--	if (!uvdc) {
--		pr_warning("%s: unable to find current voltage for vdd_%s\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
--		pr_warning("%s: PMIC function to convert voltage in uV to"
--			" vsel not registered\n", __func__);
--		return;
--	}
--
--	vsel = vdd->pmic_info->uv_to_vsel(uvdc);
--
--	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	vpconfig &= ~(vdd->vp_data->vp_common->vpconfig_initvoltage_mask |
--			vdd->vp_data->vp_common->vpconfig_initvdd);
--	vpconfig |= vsel << vdd->vp_data->vp_common->vpconfig_initvoltage_shift;
--
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/* Trigger initVDD value copy to voltage processor */
--	vdd->write_reg((vpconfig | vdd->vp_data->vp_common->vpconfig_initvdd),
--		       vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/* Clear initVDD copy trigger bit */
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--}
--
--/* Generic voltage init functions */
--static void __init vp_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vp_val;
--
--	if (!vdd->read_reg || !vdd->write_reg) {
--		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
--		(vdd->vp_rt_data.vpconfig_errorgain <<
--		vdd->vp_data->vp_common->vpconfig_errorgain_shift) |
--		vdd->vp_data->vp_common->vpconfig_timeouten;
--	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
--		vdd->vp_data->vp_common->vstepmin_smpswaittimemin_shift) |
--		(vdd->vp_rt_data.vstepmin_stepmin <<
--		vdd->vp_data->vp_common->vstepmin_stepmin_shift));
--	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstepmin);
--
--	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
--		vdd->vp_data->vp_common->vstepmax_smpswaittimemax_shift) |
--		(vdd->vp_rt_data.vstepmax_stepmax <<
--		vdd->vp_data->vp_common->vstepmax_stepmax_shift));
--	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstepmax);
--
--	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
--		vdd->vp_data->vp_common->vlimitto_vddmax_shift) |
--		(vdd->vp_rt_data.vlimitto_vddmin <<
--		vdd->vp_data->vp_common->vlimitto_vddmin_shift) |
--		(vdd->vp_rt_data.vlimitto_timeout <<
--		vdd->vp_data->vp_common->vlimitto_timeout_shift));
--	vdd->write_reg(vp_val, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vlimitto);
--}
--
- static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
- {
- 	char *name;
-@@ -268,125 +163,11 @@ static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	(void) debugfs_create_x16("vp_errorgain", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vpconfig_errorgain));
--	(void) debugfs_create_x16("vp_smpswaittimemin", S_IRUGO,
--				vdd->debug_dir,
--				&(vdd->vp_rt_data.vstepmin_smpswaittimemin));
--	(void) debugfs_create_x8("vp_stepmin", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vstepmin_stepmin));
--	(void) debugfs_create_x16("vp_smpswaittimemax", S_IRUGO,
--				vdd->debug_dir,
--				&(vdd->vp_rt_data.vstepmax_smpswaittimemax));
--	(void) debugfs_create_x8("vp_stepmax", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vstepmax_stepmax));
--	(void) debugfs_create_x8("vp_vddmax", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vlimitto_vddmax));
--	(void) debugfs_create_x8("vp_vddmin", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vlimitto_vddmin));
--	(void) debugfs_create_x16("vp_timeout", S_IRUGO, vdd->debug_dir,
--				&(vdd->vp_rt_data.vlimitto_timeout));
--	(void) debugfs_create_file("curr_vp_volt", S_IRUGO, vdd->debug_dir,
--				(void *) voltdm, &vp_volt_debug_fops);
- 	(void) debugfs_create_file("curr_nominal_volt", S_IRUGO,
- 				vdd->debug_dir, (void *) voltdm,
- 				&nom_volt_debug_fops);
- }
- 
--/* VP force update method of voltage scaling */
--static int vp_forceupdate_scale_voltage(struct voltagedomain *voltdm,
--		unsigned long target_volt)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vpconfig;
--	u8 target_vsel, current_vsel;
--	int ret, timeout = 0;
--
--	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
--	if (ret)
--		return ret;
--
--	/*
--	 * Clear all pending TransactionDone interrupt/status. Typical latency
--	 * is <3us
--	 */
--	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
--		      vdd->vp_data->prm_irqst_data->tranxdone_status))
--			break;
--		udelay(1);
--	}
--	if (timeout >= VP_TRANXDONE_TIMEOUT) {
--		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded."
--			"Voltage change aborted", __func__, voltdm->name);
--		return -ETIMEDOUT;
--	}
--
--	/* Configure for VP-Force Update */
--	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	vpconfig &= ~(vdd->vp_data->vp_common->vpconfig_initvdd |
--			vdd->vp_data->vp_common->vpconfig_forceupdate |
--			vdd->vp_data->vp_common->vpconfig_initvoltage_mask);
--	vpconfig |= ((target_vsel <<
--			vdd->vp_data->vp_common->vpconfig_initvoltage_shift));
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/* Trigger initVDD value copy to voltage processor */
--	vpconfig |= vdd->vp_data->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/* Force update of voltage */
--	vpconfig |= vdd->vp_data->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/*
--	 * Wait for TransactionDone. Typical latency is <200us.
--	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
--	 */
--	timeout = 0;
--	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod,
--					 vdd->prm_irqst_reg) &
--			   vdd->vp_data->prm_irqst_data->tranxdone_status),
--			  VP_TRANXDONE_TIMEOUT, timeout);
--	if (timeout >= VP_TRANXDONE_TIMEOUT)
--		pr_err("%s: vdd_%s TRANXDONE timeout exceeded."
--			"TRANXDONE never got set after the voltage update\n",
--			__func__, voltdm->name);
--
--	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
--
--	/*
--	 * Disable TransactionDone interrupt , clear all status, clear
--	 * control registers
--	 */
--	timeout = 0;
--	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vdd->write_reg(vdd->vp_data->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
--		      vdd->vp_data->prm_irqst_data->tranxdone_status))
--			break;
--		udelay(1);
--	}
--
--	if (timeout >= VP_TRANXDONE_TIMEOUT)
--		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded while trying"
--			"to clear the TRANXDONE status\n",
--			__func__, voltdm->name);
--
--	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	/* Clear initVDD copy trigger bit */
--	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	/* Clear force bit */
--	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	return 0;
--}
--
- static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- {
- 	struct omap_vdd_info *vdd = voltdm->vdd;
-@@ -439,129 +220,6 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- }
- 
- /**
-- * omap_vp_get_curr_volt() - API to get the current vp voltage.
-- * @voltdm:	pointer to the VDD.
-- *
-- * This API returns the current voltage for the specified voltage processor
-- */
--unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd;
--	u8 curr_vsel;
--
--	if (!voltdm || IS_ERR(voltdm)) {
--		pr_warning("%s: VDD specified does not exist!\n", __func__);
--		return 0;
--	}
--
--	vdd = voltdm->vdd;
--	if (!vdd->read_reg) {
--		pr_err("%s: No read API for reading vdd_%s regs\n",
--			__func__, voltdm->name);
--		return 0;
--	}
--
--	curr_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
--
--	if (!vdd->pmic_info || !vdd->pmic_info->vsel_to_uv) {
--		pr_warning("%s: PMIC function to convert vsel to voltage"
--			"in uV not registerd\n", __func__);
--		return 0;
--	}
--
--	return vdd->pmic_info->vsel_to_uv(curr_vsel);
--}
--
--/**
-- * omap_vp_enable() - API to enable a particular VP
-- * @voltdm:	pointer to the VDD whose VP is to be enabled.
-- *
-- * This API enables a particular voltage processor. Needed by the smartreflex
-- * class drivers.
-- */
--void omap_vp_enable(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd;
--	u32 vpconfig;
--
--	if (!voltdm || IS_ERR(voltdm)) {
--		pr_warning("%s: VDD specified does not exist!\n", __func__);
--		return;
--	}
--
--	vdd = voltdm->vdd;
--	if (!vdd->read_reg || !vdd->write_reg) {
--		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	/* If VP is already enabled, do nothing. Return */
--	if (vdd->vp_enabled)
--		return;
--
--	vp_latch_vsel(voltdm);
--
--	/* Enable VP */
--	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	vpconfig |= vdd->vp_data->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	vdd->vp_enabled = true;
--}
--
--/**
-- * omap_vp_disable() - API to disable a particular VP
-- * @voltdm:	pointer to the VDD whose VP is to be disabled.
-- *
-- * This API disables a particular voltage processor. Needed by the smartreflex
-- * class drivers.
-- */
--void omap_vp_disable(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd;
--	u32 vpconfig;
--	int timeout;
--
--	if (!voltdm || IS_ERR(voltdm)) {
--		pr_warning("%s: VDD specified does not exist!\n", __func__);
--		return;
--	}
--
--	vdd = voltdm->vdd;
--	if (!vdd->read_reg || !vdd->write_reg) {
--		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	/* If VP is already disabled, do nothing. Return */
--	if (!vdd->vp_enabled) {
--		pr_warning("%s: Trying to disable VP for vdd_%s when"
--			"it is already disabled\n", __func__, voltdm->name);
--		return;
--	}
--
--	/* Disable VP */
--	vpconfig = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--	vpconfig &= ~vdd->vp_data->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vpconfig);
--
--	/*
--	 * Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
--	 */
--	omap_test_timeout((vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->vstatus)),
--				VP_IDLE_TIMEOUT, timeout);
--
--	if (timeout >= VP_IDLE_TIMEOUT)
--		pr_warning("%s: vdd_%s idle timedout\n",
--			__func__, voltdm->name);
--
--	vdd->vp_enabled = false;
--
--	return;
--}
--
--/**
-  * omap_voltage_scale_vdd() - API to scale voltage of a particular
-  *				voltage domain.
-  * @voltdm:	pointer to the VDD which is to be scaled.
-@@ -766,7 +424,7 @@ void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 
- 	switch (voltscale_method) {
- 	case VOLTSCALE_VPFORCEUPDATE:
--		vdd->volt_scale = vp_forceupdate_scale_voltage;
-+		vdd->volt_scale = omap_vp_forceupdate_scale;
- 		return;
- 	case VOLTSCALE_VCBYPASS:
- 		vdd->volt_scale = omap_vc_bypass_scale;
-@@ -810,8 +468,8 @@ int __init omap_voltage_late_init(void)
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
- 				continue;
--			vp_init(voltdm);
- 			vdd_debugfs_init(voltdm);
-+			omap_vp_init(voltdm);
- 		}
- 	}
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index b06e03f..83fa239 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -152,9 +152,6 @@ struct omap_vdd_info {
- 		unsigned long target_volt);
- };
- 
--unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm);
--void omap_vp_enable(struct voltagedomain *voltdm);
--void omap_vp_disable(struct voltagedomain *voltdm);
- int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
- 		unsigned long target_volt);
- void omap_voltage_reset(struct voltagedomain *voltdm);
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-new file mode 100644
-index 0000000..f3503de
---- /dev/null
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -0,0 +1,374 @@
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/debugfs.h>
-+
-+#include <plat/common.h>
-+
-+#include "voltage.h"
-+#include "vp.h"
-+#include "prm-regbits-34xx.h"
-+#include "prm-regbits-44xx.h"
-+#include "prm44xx.h"
-+
-+static void __init vp_debugfs_init(struct voltagedomain *voltdm);
-+
-+static void vp_latch_vsel(struct voltagedomain *voltdm)
-+{
-+	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	u32 vpconfig;
-+	unsigned long uvdc;
-+	char vsel;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+
-+	uvdc = omap_voltage_get_nom_volt(voltdm);
-+	if (!uvdc) {
-+		pr_warning("%s: unable to find current voltage for vdd_%s\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
-+		pr_warning("%s: PMIC function to convert voltage in uV to"
-+			" vsel not registered\n", __func__);
-+		return;
-+	}
-+
-+	vsel = vdd->pmic_info->uv_to_vsel(uvdc);
-+
-+	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig &= ~(vp->vp_common->vpconfig_initvoltage_mask |
-+			vp->vp_common->vpconfig_initvdd);
-+	vpconfig |= vsel << vp->vp_common->vpconfig_initvoltage_shift;
-+
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/* Trigger initVDD value copy to voltage processor */
-+	vdd->write_reg((vpconfig | vp->vp_common->vpconfig_initvdd),
-+		       vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/* Clear initVDD copy trigger bit */
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+}
-+
-+/* Generic voltage init functions */
-+void __init omap_vp_init(struct voltagedomain *voltdm)
-+{
-+	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 vp_val;
-+
-+	if (!vdd->read_reg || !vdd->write_reg) {
-+		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
-+		(vdd->vp_rt_data.vpconfig_errorgain <<
-+		vp->vp_common->vpconfig_errorgain_shift) |
-+		vp->vp_common->vpconfig_timeouten;
-+	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
-+		vp->vp_common->vstepmin_smpswaittimemin_shift) |
-+		(vdd->vp_rt_data.vstepmin_stepmin <<
-+		vp->vp_common->vstepmin_stepmin_shift));
-+	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vstepmin);
-+
-+	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
-+		vp->vp_common->vstepmax_smpswaittimemax_shift) |
-+		(vdd->vp_rt_data.vstepmax_stepmax <<
-+		vp->vp_common->vstepmax_stepmax_shift));
-+	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vstepmax);
-+
-+	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
-+		vp->vp_common->vlimitto_vddmax_shift) |
-+		(vdd->vp_rt_data.vlimitto_vddmin <<
-+		vp->vp_common->vlimitto_vddmin_shift) |
-+		(vdd->vp_rt_data.vlimitto_timeout <<
-+		vp->vp_common->vlimitto_timeout_shift));
-+	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vlimitto);
-+
-+	vp_debugfs_init(voltdm);
-+}
-+
-+/* VP force update method of voltage scaling */
-+int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
-+			      unsigned long target_volt)
-+{
-+	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 vpconfig;
-+	u8 target_vsel, current_vsel;
-+	int ret, timeout = 0;
-+
-+	ret = omap_vc_pre_scale(voltdm, target_volt, &target_vsel, &current_vsel);
-+	if (ret)
-+		return ret;
-+
-+	/*
-+	 * Clear all pending TransactionDone interrupt/status. Typical latency
-+	 * is <3us
-+	 */
-+	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
-+		vdd->write_reg(vp->prm_irqst_data->tranxdone_status,
-+			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
-+		      vp->prm_irqst_data->tranxdone_status))
-+			break;
-+		udelay(1);
-+	}
-+	if (timeout >= VP_TRANXDONE_TIMEOUT) {
-+		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded."
-+			"Voltage change aborted", __func__, voltdm->name);
-+		return -ETIMEDOUT;
-+	}
-+
-+	/* Configure for VP-Force Update */
-+	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig &= ~(vp->vp_common->vpconfig_initvdd |
-+			vp->vp_common->vpconfig_forceupdate |
-+			vp->vp_common->vpconfig_initvoltage_mask);
-+	vpconfig |= ((target_vsel <<
-+			vp->vp_common->vpconfig_initvoltage_shift));
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/* Trigger initVDD value copy to voltage processor */
-+	vpconfig |= vp->vp_common->vpconfig_initvdd;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/* Force update of voltage */
-+	vpconfig |= vp->vp_common->vpconfig_forceupdate;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/*
-+	 * Wait for TransactionDone. Typical latency is <200us.
-+	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
-+	 */
-+	timeout = 0;
-+	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod,
-+					 vdd->prm_irqst_reg) &
-+			   vp->prm_irqst_data->tranxdone_status),
-+			  VP_TRANXDONE_TIMEOUT, timeout);
-+	if (timeout >= VP_TRANXDONE_TIMEOUT)
-+		pr_err("%s: vdd_%s TRANXDONE timeout exceeded."
-+			"TRANXDONE never got set after the voltage update\n",
-+			__func__, voltdm->name);
-+
-+	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
-+
-+	/*
-+	 * Disable TransactionDone interrupt , clear all status, clear
-+	 * control registers
-+	 */
-+	timeout = 0;
-+	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
-+		vdd->write_reg(vp->prm_irqst_data->tranxdone_status,
-+			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
-+		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
-+		      vp->prm_irqst_data->tranxdone_status))
-+			break;
-+		udelay(1);
-+	}
-+
-+	if (timeout >= VP_TRANXDONE_TIMEOUT)
-+		pr_warning("%s: vdd_%s TRANXDONE timeout exceeded while trying"
-+			"to clear the TRANXDONE status\n",
-+			__func__, voltdm->name);
-+
-+	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	/* Clear initVDD copy trigger bit */
-+	vpconfig &= ~vp->vp_common->vpconfig_initvdd;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	/* Clear force bit */
-+	vpconfig &= ~vp->vp_common->vpconfig_forceupdate;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	return 0;
-+}
-+
-+/**
-+ * omap_vp_get_curr_volt() - API to get the current vp voltage.
-+ * @voltdm:	pointer to the VDD.
-+ *
-+ * This API returns the current voltage for the specified voltage processor
-+ */
-+unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
-+{
-+	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vdd_info *vdd;
-+	u8 curr_vsel;
-+
-+	if (!voltdm || IS_ERR(voltdm)) {
-+		pr_warning("%s: VDD specified does not exist!\n", __func__);
-+		return 0;
-+	}
-+
-+	vdd = voltdm->vdd;
-+	if (!vdd->read_reg) {
-+		pr_err("%s: No read API for reading vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return 0;
-+	}
-+
-+	curr_vsel = vdd->read_reg(vp->vp_common->prm_mod, vp->voltage);
-+
-+	if (!vdd->pmic_info || !vdd->pmic_info->vsel_to_uv) {
-+		pr_warning("%s: PMIC function to convert vsel to voltage"
-+			"in uV not registerd\n", __func__);
-+		return 0;
-+	}
-+
-+	return vdd->pmic_info->vsel_to_uv(curr_vsel);
-+}
-+
-+/**
-+ * omap_vp_enable() - API to enable a particular VP
-+ * @voltdm:	pointer to the VDD whose VP is to be enabled.
-+ *
-+ * This API enables a particular voltage processor. Needed by the smartreflex
-+ * class drivers.
-+ */
-+void omap_vp_enable(struct voltagedomain *voltdm)
-+{
-+	struct omap_vp_instance_data *vp;
-+	struct omap_vdd_info *vdd;
-+	u32 vpconfig;
-+
-+	if (!voltdm || IS_ERR(voltdm)) {
-+		pr_warning("%s: VDD specified does not exist!\n", __func__);
-+		return;
-+	}
-+
-+	vdd = voltdm->vdd;
-+	vp = voltdm->vdd->vp_data;
-+	if (!vdd->read_reg || !vdd->write_reg) {
-+		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	/* If VP is already enabled, do nothing. Return */
-+	if (vdd->vp_enabled)
-+		return;
-+
-+	vp_latch_vsel(voltdm);
-+
-+	/* Enable VP */
-+	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig |= vp->vp_common->vpconfig_vpenable;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	vdd->vp_enabled = true;
-+}
-+
-+/**
-+ * omap_vp_disable() - API to disable a particular VP
-+ * @voltdm:	pointer to the VDD whose VP is to be disabled.
-+ *
-+ * This API disables a particular voltage processor. Needed by the smartreflex
-+ * class drivers.
-+ */
-+void omap_vp_disable(struct voltagedomain *voltdm)
-+{
-+	struct omap_vp_instance_data *vp;
-+	struct omap_vdd_info *vdd;
-+	u32 vpconfig;
-+	int timeout;
-+
-+	if (!voltdm || IS_ERR(voltdm)) {
-+		pr_warning("%s: VDD specified does not exist!\n", __func__);
-+		return;
-+	}
-+
-+	vdd = voltdm->vdd;
-+	vp = voltdm->vdd->vp_data;
-+	if (!vdd->read_reg || !vdd->write_reg) {
-+		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-+			__func__, voltdm->name);
-+		return;
-+	}
-+
-+	/* If VP is already disabled, do nothing. Return */
-+	if (!vdd->vp_enabled) {
-+		pr_warning("%s: Trying to disable VP for vdd_%s when"
-+			"it is already disabled\n", __func__, voltdm->name);
-+		return;
-+	}
-+
-+	/* Disable VP */
-+	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig &= ~vp->vp_common->vpconfig_vpenable;
-+	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+
-+	/*
-+	 * Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
-+	 */
-+	omap_test_timeout((vdd->read_reg(vp->vp_common->prm_mod, vp->vstatus)),
-+				VP_IDLE_TIMEOUT, timeout);
-+
-+	if (timeout >= VP_IDLE_TIMEOUT)
-+		pr_warning("%s: vdd_%s idle timedout\n",
-+			__func__, voltdm->name);
-+
-+	vdd->vp_enabled = false;
-+
-+	return;
-+}
-+
-+/* Voltage debugfs support */
-+static int vp_volt_debug_get(void *data, u64 *val)
-+{
-+	struct voltagedomain *voltdm = (struct voltagedomain *)data;
-+	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u8 vsel;
-+
-+	if (!vdd) {
-+		pr_warning("Wrong paramater passed\n");
-+		return -EINVAL;
-+	}
-+
-+	vsel = vdd->read_reg(vp->vp_common->prm_mod, vp->voltage);
-+
-+	if (!vdd->pmic_info->vsel_to_uv) {
-+		pr_warning("PMIC function to convert vsel to voltage"
-+			"in uV not registerd\n");
-+		return -EINVAL;
-+	}
-+
-+	*val = vdd->pmic_info->vsel_to_uv(vsel);
-+	return 0;
-+}
-+
-+DEFINE_SIMPLE_ATTRIBUTE(vp_volt_debug_fops, vp_volt_debug_get, NULL, "%llu\n");
-+
-+static void __init vp_debugfs_init(struct voltagedomain *voltdm)
-+{
-+	struct omap_vdd_info *vdd = voltdm->vdd;
-+	struct dentry *debug_dir;
-+
-+	debug_dir = debugfs_create_dir("vp", vdd->debug_dir);
-+	if (IS_ERR(debug_dir))
-+		pr_err("%s: Unable to create VP debugfs dir dir\n", __func__);
-+
-+	(void) debugfs_create_x16("errorgain", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vpconfig_errorgain));
-+	(void) debugfs_create_x16("smpswaittimemin", S_IRUGO,
-+				debug_dir,
-+				&(vdd->vp_rt_data.vstepmin_smpswaittimemin));
-+	(void) debugfs_create_x8("stepmin", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vstepmin_stepmin));
-+	(void) debugfs_create_x16("smpswaittimemax", S_IRUGO,
-+				debug_dir,
-+				&(vdd->vp_rt_data.vstepmax_smpswaittimemax));
-+	(void) debugfs_create_x8("stepmax", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vstepmax_stepmax));
-+	(void) debugfs_create_x8("vddmax", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vlimitto_vddmax));
-+	(void) debugfs_create_x8("vddmin", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vlimitto_vddmin));
-+	(void) debugfs_create_x16("timeout", S_IRUGO, debug_dir,
-+				&(vdd->vp_rt_data.vlimitto_timeout));
-+	(void) debugfs_create_file("curr_volt", S_IRUGO, debug_dir,
-+				(void *) voltdm, &vp_volt_debug_fops);
-+}
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 5406b08..025cf16 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -19,6 +19,8 @@
- 
- #include <linux/kernel.h>
- 
-+struct voltagedomain;
-+
- /* XXX document */
- #define VP_IDLE_TIMEOUT		200
- #define VP_TRANXDONE_TIMEOUT	300
-@@ -139,4 +141,11 @@ extern struct omap_vp_instance_data omap4_vp_mpu_data;
- extern struct omap_vp_instance_data omap4_vp_iva_data;
- extern struct omap_vp_instance_data omap4_vp_core_data;
- 
-+void omap_vp_init(struct voltagedomain *voltdm);
-+void omap_vp_enable(struct voltagedomain *voltdm);
-+void omap_vp_disable(struct voltagedomain *voltdm);
-+unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm);
-+int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
-+			      unsigned long target_volt);
-+
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0113-OMAP2-VC-support-PMICs-with-separate-voltage-and-com.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0113-OMAP2-VC-support-PMICs-with-separate-voltage-and-com.patch
deleted file mode 100644
index 4f993c2..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0113-OMAP2-VC-support-PMICs-with-separate-voltage-and-com.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 01afb0a843a221a9a32db601de7ebd529c49aa66 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 22 Mar 2011 14:12:37 -0700
-Subject: [PATCH 113/149] OMAP2+: VC: support PMICs with separate voltage and command registers
-
-The VC layer can support PMICs with separate voltage and command
-registers by putting the different registers in the PRM_VC_SMPS_VOL_RA
-and PRCM_VC_SMPS_CMD_RA registers respectively.
-
-The PMIC data must supply at least a voltage register address
-(volt_reg_addr).  The command register address (cmd_reg_addr) is
-optional.  If the PMIC data does not supply a separate command
-register address, the VC will use the voltage register address for both.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |   10 +++++-----
- arch/arm/mach-omap2/vc.c       |    4 ++--
- arch/arm/mach-omap2/voltage.h  |    3 ++-
- 3 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 760487b..3249fe3 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -158,7 +158,7 @@ static struct omap_volt_pmic_info omap3_mpu_volt_info = {
- 	.vp_vddmax		= OMAP3430_VP1_VLIMITTO_VDDMAX,
- 	.vp_timeout_us		= OMAP3_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP3_SRI2C_SLAVE_ADDR,
--	.pmic_reg		= OMAP3_VDD_MPU_SR_CONTROL_REG,
-+	.volt_reg_addr		= OMAP3_VDD_MPU_SR_CONTROL_REG,
- 	.vsel_to_uv		= twl4030_vsel_to_uv,
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
-@@ -178,7 +178,7 @@ static struct omap_volt_pmic_info omap3_core_volt_info = {
- 	.vp_vddmax		= OMAP3430_VP2_VLIMITTO_VDDMAX,
- 	.vp_timeout_us		= OMAP3_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP3_SRI2C_SLAVE_ADDR,
--	.pmic_reg		= OMAP3_VDD_CORE_SR_CONTROL_REG,
-+	.volt_reg_addr		= OMAP3_VDD_CORE_SR_CONTROL_REG,
- 	.vsel_to_uv		= twl4030_vsel_to_uv,
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
-@@ -198,7 +198,7 @@ static struct omap_volt_pmic_info omap4_mpu_volt_info = {
- 	.vp_vddmax		= OMAP4_VP_MPU_VLIMITTO_VDDMAX,
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
--	.pmic_reg		= OMAP4_VDD_MPU_SR_VOLT_REG,
-+	.volt_reg_addr		= OMAP4_VDD_MPU_SR_VOLT_REG,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
-@@ -218,7 +218,7 @@ static struct omap_volt_pmic_info omap4_iva_volt_info = {
- 	.vp_vddmax		= OMAP4_VP_IVA_VLIMITTO_VDDMAX,
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
--	.pmic_reg		= OMAP4_VDD_IVA_SR_VOLT_REG,
-+	.volt_reg_addr		= OMAP4_VDD_IVA_SR_VOLT_REG,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
-@@ -238,7 +238,7 @@ static struct omap_volt_pmic_info omap4_core_volt_info = {
- 	.vp_vddmax		= OMAP4_VP_CORE_VLIMITTO_VDDMAX,
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
--	.pmic_reg		= OMAP4_VDD_CORE_SR_VOLT_REG,
-+	.volt_reg_addr		= OMAP4_VDD_CORE_SR_VOLT_REG,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 7643940..720c0cd 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -106,7 +106,7 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 	vc_valid = vc->common->valid;
- 	vc_bypass_val_reg = vc->common->bypass_val_reg;
- 	vc_bypass_value = (target_vsel << vc->common->data_shift) |
--			(vdd->pmic_info->pmic_reg <<
-+			(vdd->pmic_info->volt_reg_addr <<
- 			vc->common->regaddr_shift) |
- 			(vdd->pmic_info->i2c_slave_addr <<
- 			vc->common->slaveaddr_shift);
-@@ -255,7 +255,7 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	vc_val = vdd->read_reg(vc->common->prm_mod,
- 			       vc->common->smps_volra_reg);
- 	vc_val &= ~vc->smps_volra_mask;
--	vc_val |= vdd->pmic_info->pmic_reg << vc->smps_volra_shift;
-+	vc_val |= vdd->pmic_info->volt_reg_addr << vc->smps_volra_shift;
- 	vdd->write_reg(vc_val, vc->common->prm_mod,
- 		       vc->common->smps_volra_reg);
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 83fa239..641597c 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -112,7 +112,8 @@ struct omap_volt_pmic_info {
- 	u8 vp_vddmax;
- 	u8 vp_timeout_us;
- 	u8 i2c_slave_addr;
--	u8 pmic_reg;
-+	u8 volt_reg_addr;
-+	u8 cmd_reg_addr;
- 	unsigned long (*vsel_to_uv) (const u8 vsel);
- 	u8 (*uv_to_vsel) (unsigned long uV);
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0114-OMAP2-add-PRM-VP-functions-for-checking-clearing-VP-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0114-OMAP2-add-PRM-VP-functions-for-checking-clearing-VP-.patch
deleted file mode 100644
index c61dec1..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0114-OMAP2-add-PRM-VP-functions-for-checking-clearing-VP-.patch
+++ /dev/null
@@ -1,375 +0,0 @@
-From b2521ca2e2c0633cc9e50848aae9a0a761f687b6 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 28 Mar 2011 10:52:04 -0700
-Subject: [PATCH 114/149] OMAP2+: add PRM VP functions for checking/clearing VP TX done status
-
-Add SoC specific PRM VP helper functions for checking and clearing
-the VP transaction done status.
-
-Longer term, these events should be handled by the forthcoming PRCM
-interrupt handler.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/prm2xxx_3xxx.c |   41 ++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/prm2xxx_3xxx.h |    4 +++
- arch/arm/mach-omap2/prm44xx.c      |   49 ++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/prm44xx.h      |    4 +++
- arch/arm/mach-omap2/vp.h           |   33 ++++++++++++++---------
- arch/arm/mach-omap2/vp3xxx_data.c  |   19 ++++++-------
- arch/arm/mach-omap2/vp44xx_data.c  |   25 ++++++-----------
- 7 files changed, 136 insertions(+), 39 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-index 051213f..58c5c87 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-@@ -20,6 +20,8 @@
- #include <plat/cpu.h>
- #include <plat/prcm.h>
- 
-+#include "vp.h"
-+
- #include "prm2xxx_3xxx.h"
- #include "cm2xxx_3xxx.h"
- #include "prm-regbits-24xx.h"
-@@ -156,3 +158,42 @@ int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift)
- 
- 	return (c == MAX_MODULE_HARDRESET_WAIT) ? -EBUSY : 0;
- }
-+
-+/* PRM VP */
-+
-+/*
-+ * struct omap3_vp - OMAP3 VP register access description.
-+ * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ */
-+struct omap3_vp {
-+	u32 tranxdone_status;
-+};
-+
-+struct omap3_vp omap3_vp[] = {
-+	[OMAP3_VP_VDD_MPU_ID] = {
-+		.tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
-+	},
-+	[OMAP3_VP_VDD_CORE_ID] = {
-+		.tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
-+	},
-+};
-+
-+#define MAX_VP_ID ARRAY_SIZE(omap3_vp);
-+
-+u32 omap3_prm_vp_check_txdone(u8 vp_id)
-+{
-+	struct omap3_vp *vp = &omap3_vp[vp_id];
-+	u32 irqstatus;
-+
-+	irqstatus = omap2_prm_read_mod_reg(OCP_MOD,
-+					   OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
-+	return irqstatus & vp->tranxdone_status;
-+}
-+
-+void omap3_prm_vp_clear_txdone(u8 vp_id)
-+{
-+	struct omap3_vp *vp = &omap3_vp[vp_id];
-+
-+	omap2_prm_write_mod_reg(vp->tranxdone_status,
-+				OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
-+}
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.h b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-index a1fc62a..5112526 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.h
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-@@ -303,6 +303,10 @@ extern int omap2_prm_is_hardreset_asserted(s16 prm_mod, u8 shift);
- extern int omap2_prm_assert_hardreset(s16 prm_mod, u8 shift);
- extern int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift);
- 
-+/* OMAP3-specific VP functions */
-+u32 omap3_prm_vp_check_txdone(u8 vp_id);
-+void omap3_prm_vp_clear_txdone(u8 vp_id);
-+
- #endif	/* CONFIG_ARCH_OMAP4 */
- #endif
- 
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index 0016555..390e32c 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -21,6 +21,7 @@
- #include <plat/cpu.h>
- #include <plat/prcm.h>
- 
-+#include "vp.h"
- #include "prm44xx.h"
- #include "prm-regbits-44xx.h"
- 
-@@ -50,3 +51,51 @@ u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 reg)
- 
- 	return v;
- }
-+
-+/* PRM VP */
-+
-+/*
-+ * struct omap4_vp - OMAP4 VP register access description.
-+ * @irqstatus_mpu: offset to IRQSTATUS_MPU register for VP
-+ * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-+ */
-+struct omap4_vp {
-+	u32 irqstatus_mpu;
-+	u32 tranxdone_status;
-+};
-+
-+static struct omap4_vp omap4_vp[] = {
-+	[OMAP4_VP_VDD_MPU_ID] = {
-+		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
-+		.tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
-+	},
-+	[OMAP4_VP_VDD_IVA_ID] = {
-+		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
-+		.tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
-+	},
-+	[OMAP4_VP_VDD_CORE_ID] = {
-+		.irqstatus_mpu = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
-+		.tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
-+	},
-+};
-+
-+u32 omap4_prm_vp_check_txdone(u8 vp_id)
-+{
-+	struct omap4_vp *vp = &omap4_vp[vp_id];
-+	u32 irqstatus;
-+
-+	irqstatus = omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-+						OMAP4430_PRM_OCP_SOCKET_INST,
-+						vp->irqstatus_mpu);
-+	return irqstatus & vp->tranxdone_status;
-+}
-+
-+void omap4_prm_vp_clear_txdone(u8 vp_id)
-+{
-+	struct omap4_vp *vp = &omap4_vp[vp_id];
-+
-+	omap4_prminst_write_inst_reg(vp->tranxdone_status,
-+				     OMAP4430_PRM_PARTITION,
-+				     OMAP4430_PRM_OCP_SOCKET_INST,
-+				     vp->irqstatus_mpu);
-+};
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index 7dfa379..b28c87d 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -751,6 +751,10 @@ extern u32 omap4_prm_read_inst_reg(s16 inst, u16 idx);
- extern void omap4_prm_write_inst_reg(u32 val, s16 inst, u16 idx);
- extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx);
- 
-+/* OMAP4-specific VP functions */
-+u32 omap4_prm_vp_check_txdone(u8 vp_id);
-+void omap4_prm_vp_clear_txdone(u8 vp_id);
-+
- # endif
- 
- #endif
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 025cf16..2c9cd76 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -21,10 +21,28 @@
- 
- struct voltagedomain;
- 
-+/*
-+ * Voltage Processor (VP) identifiers
-+ */
-+#define OMAP3_VP_VDD_MPU_ID 0
-+#define OMAP3_VP_VDD_CORE_ID 1
-+#define OMAP4_VP_VDD_CORE_ID 0
-+#define OMAP4_VP_VDD_IVA_ID 1
-+#define OMAP4_VP_VDD_MPU_ID 2
-+
- /* XXX document */
- #define VP_IDLE_TIMEOUT		200
- #define VP_TRANXDONE_TIMEOUT	300
- 
-+/**
-+ * struct omap_vp_ops - per-VP operations
-+ * @check_txdone: check for VP transaction done
-+ * @clear_txdone: clear VP transaction done status
-+ */
-+struct omap_vp_ops {
-+	u32 (*check_txdone)(u8 vp_id);
-+	void (*clear_txdone)(u8 vp_id);
-+};
- 
- /**
-  * struct omap_vp_common_data - register data common to all VDDs
-@@ -68,24 +86,13 @@ struct omap_vp_common_data {
- 	u8 vlimitto_vddmin_shift;
- 	u8 vlimitto_vddmax_shift;
- 	u8 vlimitto_timeout_shift;
--};
- 
--/**
-- * struct omap_vp_prm_irqst_data - PRM_IRQSTATUS_MPU.VP_TRANXDONE_ST data
-- * @tranxdone_status: VP_TRANXDONE_ST bitmask in PRM_IRQSTATUS_MPU reg
-- *
-- * XXX Note that on OMAP3, VP_TRANXDONE interrupt may not work due to a
-- *     hardware bug
-- * XXX This structure is probably not needed
-- */
--struct omap_vp_prm_irqst_data {
--	u32 tranxdone_status;
-+	const struct omap_vp_ops *ops;
- };
- 
- /**
-  * struct omap_vp_instance_data - VP register offsets (per-VDD)
-  * @vp_common: pointer to struct omap_vp_common_data * for this SoC
-- * @prm_irqst_data: pointer to struct omap_vp_prm_irqst_data for this VDD
-  * @vpconfig: PRM_VP*_CONFIG reg offset from PRM start
-  * @vstepmin: PRM_VP*_VSTEPMIN reg offset from PRM start
-  * @vlimitto: PRM_VP*_VLIMITTO reg offset from PRM start
-@@ -96,13 +103,13 @@ struct omap_vp_prm_irqst_data {
-  */
- struct omap_vp_instance_data {
- 	const struct omap_vp_common_data *vp_common;
--	const struct omap_vp_prm_irqst_data *prm_irqst_data;
- 	u8 vpconfig;
- 	u8 vstepmin;
- 	u8 vstepmax;
- 	u8 vlimitto;
- 	u8 vstatus;
- 	u8 voltage;
-+	u8 id;
- };
- 
- /**
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index a8ea045..0372c1a 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -25,6 +25,12 @@
- #include "voltage.h"
- 
- #include "vp.h"
-+#include "prm2xxx_3xxx.h"
-+
-+static const struct omap_vp_ops omap3_vp_ops = {
-+	.check_txdone = omap3_prm_vp_check_txdone,
-+	.clear_txdone = omap3_prm_vp_clear_txdone,
-+};
- 
- /*
-  * VP data common to 34xx/36xx chips
-@@ -48,13 +54,11 @@ static const struct omap_vp_common_data omap3_vp_common = {
- 	.vlimitto_vddmin_shift = OMAP3430_VDDMIN_SHIFT,
- 	.vlimitto_vddmax_shift = OMAP3430_VDDMAX_SHIFT,
- 	.vlimitto_timeout_shift = OMAP3430_TIMEOUT_SHIFT,
--};
--
--static const struct omap_vp_prm_irqst_data omap3_vp1_prm_irqst_data = {
--	.tranxdone_status = OMAP3430_VP1_TRANXDONE_ST_MASK,
-+	.ops = &omap3_vp_ops,
- };
- 
- struct omap_vp_instance_data omap3_vp1_data = {
-+	.id = OMAP3_VP_VDD_MPU_ID,
- 	.vp_common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP1_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP1_VSTEPMIN_OFFSET,
-@@ -62,14 +66,10 @@ struct omap_vp_instance_data omap3_vp1_data = {
- 	.vlimitto = OMAP3_PRM_VP1_VLIMITTO_OFFSET,
- 	.vstatus = OMAP3_PRM_VP1_STATUS_OFFSET,
- 	.voltage = OMAP3_PRM_VP1_VOLTAGE_OFFSET,
--	.prm_irqst_data = &omap3_vp1_prm_irqst_data,
--};
--
--static const struct omap_vp_prm_irqst_data omap3_vp2_prm_irqst_data = {
--	.tranxdone_status = OMAP3430_VP2_TRANXDONE_ST_MASK,
- };
- 
- struct omap_vp_instance_data omap3_vp2_data = {
-+	.id = OMAP3_VP_VDD_CORE_ID,
- 	.vp_common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP2_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP2_VSTEPMIN_OFFSET,
-@@ -77,5 +77,4 @@ struct omap_vp_instance_data omap3_vp2_data = {
- 	.vlimitto = OMAP3_PRM_VP2_VLIMITTO_OFFSET,
- 	.vstatus = OMAP3_PRM_VP2_STATUS_OFFSET,
- 	.voltage = OMAP3_PRM_VP2_VOLTAGE_OFFSET,
--	.prm_irqst_data = &omap3_vp2_prm_irqst_data,
- };
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 0957c24..738ba04 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -27,6 +27,11 @@
- 
- #include "vp.h"
- 
-+static const struct omap_vp_ops omap4_vp_ops = {
-+	.check_txdone = omap4_prm_vp_check_txdone,
-+	.clear_txdone = omap4_prm_vp_clear_txdone,
-+};
-+
- /*
-  * VP data common to 44xx chips
-  * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
-@@ -49,13 +54,11 @@ static const struct omap_vp_common_data omap4_vp_common = {
- 	.vlimitto_vddmin_shift = OMAP4430_VDDMIN_SHIFT,
- 	.vlimitto_vddmax_shift = OMAP4430_VDDMAX_SHIFT,
- 	.vlimitto_timeout_shift = OMAP4430_TIMEOUT_SHIFT,
--};
--
--static const struct omap_vp_prm_irqst_data omap4_vp_mpu_prm_irqst_data = {
--	.tranxdone_status = OMAP4430_VP_MPU_TRANXDONE_ST_MASK,
-+	.ops = &omap4_vp_ops,
- };
- 
- struct omap_vp_instance_data omap4_vp_mpu_data = {
-+	.id = OMAP4_VP_VDD_MPU_ID,
- 	.vp_common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_MPU_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET,
-@@ -63,14 +66,10 @@ struct omap_vp_instance_data omap4_vp_mpu_data = {
- 	.vlimitto = OMAP4_PRM_VP_MPU_VLIMITTO_OFFSET,
- 	.vstatus = OMAP4_PRM_VP_MPU_STATUS_OFFSET,
- 	.voltage = OMAP4_PRM_VP_MPU_VOLTAGE_OFFSET,
--	.prm_irqst_data = &omap4_vp_mpu_prm_irqst_data,
--};
--
--static const struct omap_vp_prm_irqst_data omap4_vp_iva_prm_irqst_data = {
--	.tranxdone_status = OMAP4430_VP_IVA_TRANXDONE_ST_MASK,
- };
- 
- struct omap_vp_instance_data omap4_vp_iva_data = {
-+	.id = OMAP4_VP_VDD_IVA_ID,
- 	.vp_common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_IVA_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET,
-@@ -78,14 +77,10 @@ struct omap_vp_instance_data omap4_vp_iva_data = {
- 	.vlimitto = OMAP4_PRM_VP_IVA_VLIMITTO_OFFSET,
- 	.vstatus = OMAP4_PRM_VP_IVA_STATUS_OFFSET,
- 	.voltage = OMAP4_PRM_VP_IVA_VOLTAGE_OFFSET,
--	.prm_irqst_data = &omap4_vp_iva_prm_irqst_data,
--};
--
--static const struct omap_vp_prm_irqst_data omap4_vp_core_prm_irqst_data = {
--	.tranxdone_status = OMAP4430_VP_CORE_TRANXDONE_ST_MASK,
- };
- 
- struct omap_vp_instance_data omap4_vp_core_data = {
-+	.id = OMAP4_VP_VDD_CORE_ID,
- 	.vp_common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_CORE_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET,
-@@ -93,6 +88,4 @@ struct omap_vp_instance_data omap4_vp_core_data = {
- 	.vlimitto = OMAP4_PRM_VP_CORE_VLIMITTO_OFFSET,
- 	.vstatus = OMAP4_PRM_VP_CORE_STATUS_OFFSET,
- 	.voltage = OMAP4_PRM_VP_CORE_VOLTAGE_OFFSET,
--	.prm_irqst_data = &omap4_vp_core_prm_irqst_data,
- };
--
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0115-OMAP3-VP-replace-transaction-done-check-clear-with-V.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0115-OMAP3-VP-replace-transaction-done-check-clear-with-V.patch
deleted file mode 100644
index 64851b3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0115-OMAP3-VP-replace-transaction-done-check-clear-with-V.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 754129bd8c94999c27162faf84abb5df24b79c9b Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 28 Mar 2011 11:57:18 -0700
-Subject: [PATCH 115/149] OMAP3+ VP: replace transaction done check/clear with VP ops
-
-Replace the VP tranxdone check/clear with helper functions from the
-PRM layer.
-
-In the process, remove prm_irqst_* voltage structure fields for IRQ
-status checking which are no longer needed.
-
-Since these reads/writes of the IRQ status bits were the only PRM
-accesses that were not to VC/VP registers, this allows the rest of the
-register accesses in the VC/VP code to use VC/VP specific register
-access functions (done in the following patch.)
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.h                 |    3 ---
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    4 ----
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    6 ------
- arch/arm/mach-omap2/vp.c                      |   16 +++++-----------
- 4 files changed, 5 insertions(+), 24 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 641597c..363eee4 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -131,7 +131,6 @@ struct omap_volt_pmic_info {
-  * @vfsm                : voltage manager FSM data
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-- * @prm_irqst_mod       : PRM module id used for PRM IRQ status register access
-  * @vp_enabled		: flag to keep track of whether vp is enabled or not
-  * @volt_scale		: API to scale the voltage of the vdd.
-  */
-@@ -145,8 +144,6 @@ struct omap_vdd_info {
- 	u32 curr_volt;
- 	bool vp_enabled;
- 
--	s16 prm_irqst_mod;
--	u8 prm_irqst_reg;
- 	u32 (*read_reg) (u16 mod, u8 offset);
- 	void (*write_reg) (u32 val, u16 mod, u8 offset);
- 	int (*volt_scale) (struct voltagedomain *voltdm,
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 7cb27ec..ad8f05b 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -38,8 +38,6 @@ static const struct omap_vfsm_instance_data omap3_vdd1_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap3_vdd1_info = {
--	.prm_irqst_mod = OCP_MOD,
--	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp1_data,
- 	.vfsm = &omap3_vdd1_vfsm_data,
- };
-@@ -51,8 +49,6 @@ static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap3_vdd2_info = {
--	.prm_irqst_mod = OCP_MOD,
--	.prm_irqst_reg = OMAP3_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap3_vp2_data,
- 	.vfsm = &omap3_vdd2_vfsm_data,
- };
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index a05d90a..43e1d38 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -37,8 +37,6 @@ static const struct omap_vfsm_instance_data omap4_vdd_mpu_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_mpu_info = {
--	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_2_OFFSET,
- 	.vp_data = &omap4_vp_mpu_data,
- 	.vfsm = &omap4_vdd_mpu_vfsm_data,
- };
-@@ -48,8 +46,6 @@ static const struct omap_vfsm_instance_data omap4_vdd_iva_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_iva_info = {
--	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_iva_data,
- 	.vfsm = &omap4_vdd_iva_vfsm_data,
- };
-@@ -59,8 +55,6 @@ static const struct omap_vfsm_instance_data omap4_vdd_core_vfsm_data = {
- };
- 
- static struct omap_vdd_info omap4_vdd_core_info = {
--	.prm_irqst_mod = OMAP4430_PRM_OCP_SOCKET_INST,
--	.prm_irqst_reg = OMAP4_PRM_IRQSTATUS_MPU_OFFSET,
- 	.vp_data = &omap4_vp_core_data,
- 	.vfsm = &omap4_vdd_core_vfsm_data,
- };
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index f3503de..113c839 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -111,10 +111,8 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 * is <3us
- 	 */
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vdd->write_reg(vp->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
--		      vp->prm_irqst_data->tranxdone_status))
-+		vp->vp_common->ops->clear_txdone(vp->id);
-+		if (!vp->vp_common->ops->check_txdone(vp->id))
- 			break;
- 		udelay(1);
- 	}
-@@ -146,9 +144,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
- 	 */
- 	timeout = 0;
--	omap_test_timeout((vdd->read_reg(vdd->prm_irqst_mod,
--					 vdd->prm_irqst_reg) &
--			   vp->prm_irqst_data->tranxdone_status),
-+	omap_test_timeout(vp->vp_common->ops->check_txdone(vp->id),
- 			  VP_TRANXDONE_TIMEOUT, timeout);
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
- 		pr_err("%s: vdd_%s TRANXDONE timeout exceeded."
-@@ -163,10 +159,8 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 */
- 	timeout = 0;
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vdd->write_reg(vp->prm_irqst_data->tranxdone_status,
--			       vdd->prm_irqst_mod, vdd->prm_irqst_reg);
--		if (!(vdd->read_reg(vdd->prm_irqst_mod, vdd->prm_irqst_reg) &
--		      vp->prm_irqst_data->tranxdone_status))
-+		vp->vp_common->ops->clear_txdone(vp->id);
-+		if (!vp->vp_common->ops->check_txdone(vp->id))
- 			break;
- 		udelay(1);
- 	}
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0116-OMAP2-PRM-add-register-access-functions-for-VC-VP.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0116-OMAP2-PRM-add-register-access-functions-for-VC-VP.patch
deleted file mode 100644
index fbb27a2..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0116-OMAP2-PRM-add-register-access-functions-for-VC-VP.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 3326bc8057e4dd85f135faa00a3d079fab05ac1e Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 28 Mar 2011 10:25:12 -0700
-Subject: [PATCH 116/149] OMAP2+: PRM: add register access functions for VC/VP
-
-On OMAP3+, the voltage controller (VC) and voltage processor (VP) are
-inside the PRM.  Add some PRM helper functions for register access to
-these module registers.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/prm2xxx_3xxx.c |   15 +++++++++++++++
- arch/arm/mach-omap2/prm2xxx_3xxx.h |    8 ++++++++
- arch/arm/mach-omap2/prm44xx.c      |   22 ++++++++++++++++++++++
- arch/arm/mach-omap2/prm44xx.h      |    8 ++++++++
- 4 files changed, 53 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-index 58c5c87..3b83763 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
-@@ -197,3 +197,18 @@ void omap3_prm_vp_clear_txdone(u8 vp_id)
- 	omap2_prm_write_mod_reg(vp->tranxdone_status,
- 				OCP_MOD, OMAP3_PRM_IRQSTATUS_MPU_OFFSET);
- }
-+
-+u32 omap3_prm_vcvp_read(u8 offset)
-+{
-+	return omap2_prm_read_mod_reg(OMAP3430_GR_MOD, offset);
-+}
-+
-+void omap3_prm_vcvp_write(u32 val, u8 offset)
-+{
-+	omap2_prm_write_mod_reg(val, OMAP3430_GR_MOD, offset);
-+}
-+
-+u32 omap3_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset)
-+{
-+	return omap2_prm_rmw_mod_reg_bits(mask, bits, OMAP3430_GR_MOD, offset);
-+}
-diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.h b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-index 5112526..cef533d 100644
---- a/arch/arm/mach-omap2/prm2xxx_3xxx.h
-+++ b/arch/arm/mach-omap2/prm2xxx_3xxx.h
-@@ -307,7 +307,15 @@ extern int omap2_prm_deassert_hardreset(s16 prm_mod, u8 rst_shift, u8 st_shift);
- u32 omap3_prm_vp_check_txdone(u8 vp_id);
- void omap3_prm_vp_clear_txdone(u8 vp_id);
- 
-+/*
-+ * OMAP3 access functions for voltage controller (VC) and
-+ * voltage proccessor (VP) in the PRM.
-+ */
-+extern u32 omap3_prm_vcvp_read(u8 offset);
-+extern void omap3_prm_vcvp_write(u32 val, u8 offset);
-+extern u32 omap3_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset);
- #endif	/* CONFIG_ARCH_OMAP4 */
-+
- #endif
- 
- /*
-diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
-index 390e32c..495a31a 100644
---- a/arch/arm/mach-omap2/prm44xx.c
-+++ b/arch/arm/mach-omap2/prm44xx.c
-@@ -24,6 +24,8 @@
- #include "vp.h"
- #include "prm44xx.h"
- #include "prm-regbits-44xx.h"
-+#include "prcm44xx.h"
-+#include "prminst44xx.h"
- 
- /* PRM low-level functions */
- 
-@@ -99,3 +101,23 @@ void omap4_prm_vp_clear_txdone(u8 vp_id)
- 				     OMAP4430_PRM_OCP_SOCKET_INST,
- 				     vp->irqstatus_mpu);
- };
-+
-+u32 omap4_prm_vcvp_read(u8 offset)
-+{
-+	return omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
-+					   OMAP4430_PRM_DEVICE_INST, offset);
-+}
-+
-+void omap4_prm_vcvp_write(u32 val, u8 offset)
-+{
-+	omap4_prminst_write_inst_reg(val, OMAP4430_PRM_PARTITION,
-+				     OMAP4430_PRM_DEVICE_INST, offset);
-+}
-+
-+u32 omap4_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset)
-+{
-+	return omap4_prminst_rmw_inst_reg_bits(mask, bits,
-+					       OMAP4430_PRM_PARTITION,
-+					       OMAP4430_PRM_DEVICE_INST,
-+					       offset);
-+}
-diff --git a/arch/arm/mach-omap2/prm44xx.h b/arch/arm/mach-omap2/prm44xx.h
-index b28c87d..3d66ccd 100644
---- a/arch/arm/mach-omap2/prm44xx.h
-+++ b/arch/arm/mach-omap2/prm44xx.h
-@@ -755,6 +755,14 @@ extern u32 omap4_prm_rmw_inst_reg_bits(u32 mask, u32 bits, s16 inst, s16 idx);
- u32 omap4_prm_vp_check_txdone(u8 vp_id);
- void omap4_prm_vp_clear_txdone(u8 vp_id);
- 
-+/*
-+ * OMAP4 access functions for voltage controller (VC) and
-+ * voltage proccessor (VP) in the PRM.
-+ */
-+extern u32 omap4_prm_vcvp_read(u8 offset);
-+extern void omap4_prm_vcvp_write(u32 val, u8 offset);
-+extern u32 omap4_prm_vcvp_rmw(u32 mask, u32 bits, u8 offset);
-+
- # endif
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0117-OMAP3-voltage-convert-to-PRM-register-access-functio.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0117-OMAP3-voltage-convert-to-PRM-register-access-functio.patch
deleted file mode 100644
index 3f7823e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0117-OMAP3-voltage-convert-to-PRM-register-access-functio.patch
+++ /dev/null
@@ -1,627 +0,0 @@
-From 794143b8e468ddd8715ae76a6a0f7f0c9bc6778d Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 28 Mar 2011 10:40:15 -0700
-Subject: [PATCH 117/149] OMAP3+: voltage: convert to PRM register access functions
-
-Convert VC/VP register access to use PRM VC/VP accessor functions.  In
-the process, move the read/write function pointers from vdd_info into
-struct voltagedomain.
-
-No functional changes.
-
-Additional cleanup:
-- remove prm_mod field from  VC/VP data structures, the PRM register
-  access functions know which PRM module to use.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c                      |   69 ++++++++++---------------
- arch/arm/mach-omap2/vc.h                      |    2 -
- arch/arm/mach-omap2/vc3xxx_data.c             |    1 -
- arch/arm/mach-omap2/vc44xx_data.c             |    1 -
- arch/arm/mach-omap2/voltage.c                 |   31 +-----------
- arch/arm/mach-omap2/voltage.h                 |    7 ++-
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    6 ++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    9 +++
- arch/arm/mach-omap2/vp.c                      |   57 ++++++++++----------
- arch/arm/mach-omap2/vp.h                      |    2 -
- arch/arm/mach-omap2/vp3xxx_data.c             |    1 -
- arch/arm/mach-omap2/vp44xx_data.c             |    1 -
- 12 files changed, 76 insertions(+), 111 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 720c0cd..9c2706c 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -37,7 +37,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		return -ENODATA;
- 	}
- 
--	if (!vdd->read_reg || !vdd->write_reg) {
-+	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return -EINVAL;
-@@ -49,24 +49,22 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		volt_data = NULL;
- 
- 	*target_vsel = vdd->pmic_info->uv_to_vsel(target_volt);
--	*current_vsel = vdd->read_reg(vdd->vp_data->vp_common->prm_mod, vdd->vp_data->voltage);
-+	*current_vsel = voltdm->read(vdd->vp_data->voltage);
- 
- 	/* Setting the ON voltage to the new target voltage */
--	vc_cmdval = vdd->read_reg(vc->common->prm_mod, vc->cmdval_reg);
-+	vc_cmdval = voltdm->read(vc->cmdval_reg);
- 	vc_cmdval &= ~vc->common->cmd_on_mask;
- 	vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift);
--	vdd->write_reg(vc_cmdval, vc->common->prm_mod, vc->cmdval_reg);
-+	voltdm->write(vc_cmdval, vc->cmdval_reg);
- 
- 	/* Setting vp errorgain based on the voltage */
- 	if (volt_data) {
--		vp_errgain_val = vdd->read_reg(vdd->vp_data->vp_common->prm_mod,
--					       vdd->vp_data->vpconfig);
-+		vp_errgain_val = voltdm->read(vdd->vp_data->vpconfig);
- 		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
- 		vp_errgain_val &= ~vp_common->vpconfig_errorgain_mask;
- 		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
- 			vp_common->vpconfig_errorgain_shift;
--		vdd->write_reg(vp_errgain_val, vdd->vp_data->vp_common->prm_mod,
--			       vdd->vp_data->vpconfig);
-+		voltdm->write(vp_errgain_val, vdd->vp_data->vpconfig);
- 	}
- 
- 	return 0;
-@@ -111,11 +109,10 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 			(vdd->pmic_info->i2c_slave_addr <<
- 			vc->common->slaveaddr_shift);
- 
--	vdd->write_reg(vc_bypass_value, vc->common->prm_mod, vc_bypass_val_reg);
--	vdd->write_reg(vc_bypass_value | vc_valid, vc->common->prm_mod,
--		       vc_bypass_val_reg);
-+	voltdm->write(vc_bypass_value, vc_bypass_val_reg);
-+	voltdm->write(vc_bypass_value | vc_valid, vc_bypass_val_reg);
- 
--	vc_bypass_value = vdd->read_reg(vc->common->prm_mod, vc_bypass_val_reg);
-+	vc_bypass_value = voltdm->read(vc_bypass_val_reg);
- 	/*
- 	 * Loop till the bypass command is acknowledged from the SMPS.
- 	 * NOTE: This is legacy code. The loop count and retry count needs
-@@ -134,8 +131,7 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 			loop_cnt = 0;
- 			udelay(10);
- 		}
--		vc_bypass_value = vdd->read_reg(vc->common->prm_mod,
--						vc_bypass_val_reg);
-+		vc_bypass_value = voltdm->read(vc_bypass_val_reg);
- 	}
- 
- 	omap_vc_post_scale(voltdm, target_volt, target_vsel, current_vsel);
-@@ -144,18 +140,13 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 
- static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
- {
--	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--
- 	/*
- 	 * Voltage Manager FSM parameters init
- 	 * XXX This data should be passed in from the board file
- 	 */
--	vdd->write_reg(OMAP3_CLKSETUP, vc->common->prm_mod, OMAP3_PRM_CLKSETUP_OFFSET);
--	vdd->write_reg(OMAP3_VOLTOFFSET, vc->common->prm_mod,
--		       OMAP3_PRM_VOLTOFFSET_OFFSET);
--	vdd->write_reg(OMAP3_VOLTSETUP2, vc->common->prm_mod,
--		       OMAP3_PRM_VOLTSETUP2_OFFSET);
-+	voltdm->write(OMAP3_CLKSETUP, OMAP3_PRM_CLKSETUP_OFFSET);
-+	voltdm->write(OMAP3_VOLTOFFSET, OMAP3_PRM_VOLTOFFSET_OFFSET);
-+	voltdm->write(OMAP3_VOLTSETUP2, OMAP3_PRM_VOLTSETUP2_OFFSET);
- }
- 
- static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
-@@ -178,16 +169,16 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- 		(onlp_vsel << vc->common->cmd_onlp_shift) |
- 		(ret_vsel << vc->common->cmd_ret_shift) |
- 		(off_vsel << vc->common->cmd_off_shift));
--	vdd->write_reg(vc_val, vc->common->prm_mod, vc->cmdval_reg);
-+	voltdm->write(vc_val, vc->cmdval_reg);
- 
- 	/*
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
- 	 */
--	vdd->write_reg(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK, vc->common->prm_mod,
--			OMAP3_PRM_VC_CH_CONF_OFFSET);
--	vdd->write_reg(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK, vc->common->prm_mod,
--			OMAP3_PRM_VC_I2C_CFG_OFFSET);
-+	voltdm->write(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK,
-+		       OMAP3_PRM_VC_CH_CONF_OFFSET);
-+	voltdm->write(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK,
-+		       OMAP3_PRM_VC_I2C_CFG_OFFSET);
- 
- 	omap3_vfsm_init(voltdm);
- 
-@@ -198,8 +189,6 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- /* OMAP4 specific voltage init functions */
- static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- {
--	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
- 	u32 vc_val;
- 
-@@ -215,11 +204,11 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- 	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
- 		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
- 		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
--	vdd->write_reg(vc_val, vc->common->prm_mod, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
-+	voltdm->write(vc_val, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
- 
- 	/* XXX These are magic numbers and do not belong! */
- 	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
--	vdd->write_reg(vc_val, vc->common->prm_mod, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
-+	voltdm->write(vc_val, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
- 
- 	is_initialized = true;
- }
-@@ -237,34 +226,30 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	if (!vdd->read_reg || !vdd->write_reg) {
-+	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return;
- 	}
- 
- 	/* Set up the SMPS_SA(i2c slave address in VC */
--	vc_val = vdd->read_reg(vc->common->prm_mod,
--			       vc->common->smps_sa_reg);
-+	vc_val = voltdm->read(vc->common->smps_sa_reg);
- 	vc_val &= ~vc->smps_sa_mask;
- 	vc_val |= vdd->pmic_info->i2c_slave_addr << vc->smps_sa_shift;
--	vdd->write_reg(vc_val, vc->common->prm_mod,
--		       vc->common->smps_sa_reg);
-+	voltdm->write(vc_val, vc->common->smps_sa_reg);
- 
- 	/* Setup the VOLRA(pmic reg addr) in VC */
--	vc_val = vdd->read_reg(vc->common->prm_mod,
--			       vc->common->smps_volra_reg);
-+	vc_val = voltdm->read(vc->common->smps_volra_reg);
- 	vc_val &= ~vc->smps_volra_mask;
- 	vc_val |= vdd->pmic_info->volt_reg_addr << vc->smps_volra_shift;
--	vdd->write_reg(vc_val, vc->common->prm_mod,
--		       vc->common->smps_volra_reg);
-+	voltdm->write(vc_val, vc->common->smps_volra_reg);
- 
- 	/* Configure the setup times */
--	vc_val = vdd->read_reg(vc->common->prm_mod, vdd->vfsm->voltsetup_reg);
-+	vc_val = voltdm->read(vdd->vfsm->voltsetup_reg);
- 	vc_val &= ~vdd->vfsm->voltsetup_mask;
- 	vc_val |= vdd->pmic_info->volt_setup_time <<
- 			vdd->vfsm->voltsetup_shift;
--	vdd->write_reg(vc_val, vc->common->prm_mod, vdd->vfsm->voltsetup_reg);
-+	voltdm->write(vc_val, vdd->vfsm->voltsetup_reg);
- 
- 	if (cpu_is_omap34xx())
- 		omap3_vc_init_channel(voltdm);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index 51d36a8..d0050f0 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -25,7 +25,6 @@ struct voltagedomain;
-  * struct omap_vc_common - per-VC register/bitfield data
-  * @cmd_on_mask: ON bitmask in PRM_VC_CMD_VAL* register
-  * @valid: VALID bitmask in PRM_VC_BYPASS_VAL register
-- * @prm_mod: PRM module id used for PRM register access
-  * @smps_sa_reg: Offset of PRM_VC_SMPS_SA reg from PRM start
-  * @smps_volra_reg: Offset of PRM_VC_SMPS_VOL_RA reg from PRM start
-  * @bypass_val_reg: Offset of PRM_VC_BYPASS_VAL reg from PRM start
-@@ -43,7 +42,6 @@ struct voltagedomain;
- struct omap_vc_common {
- 	u32 cmd_on_mask;
- 	u32 valid;
--	s16 prm_mod;
- 	u8 smps_sa_reg;
- 	u8 smps_volra_reg;
- 	u8 bypass_val_reg;
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index 1a17ed4..6b67203 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -30,7 +30,6 @@
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
- static struct omap_vc_common omap3_vc_common = {
--	.prm_mod         = OMAP3430_GR_MOD,
- 	.smps_sa_reg	 = OMAP3_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg	 = OMAP3_PRM_VC_SMPS_VOL_RA_OFFSET,
- 	.bypass_val_reg	 = OMAP3_PRM_VC_BYPASS_VAL_OFFSET,
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index 56f3f4a..e3125a3 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -31,7 +31,6 @@
-  * XXX This stuff presumably belongs in the vc3xxx.c or vc.c file.
-  */
- static const struct omap_vc_common omap4_vc_common = {
--	.prm_mod = OMAP4430_PRM_DEVICE_INST,
- 	.smps_sa_reg = OMAP4_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg = OMAP4_PRM_VC_VAL_SMPS_RA_VOL_OFFSET,
- 	.bypass_val_reg = OMAP4_PRM_VC_VAL_BYPASS_OFFSET,
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 9b9f019..9f9f014 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -46,27 +46,6 @@ static LIST_HEAD(voltdm_list);
- #define VOLTAGE_DIR_SIZE	16
- static struct dentry *voltage_dir;
- 
--static u32 omap3_voltage_read_reg(u16 mod, u8 offset)
--{
--	return omap2_prm_read_mod_reg(mod, offset);
--}
--
--static void omap3_voltage_write_reg(u32 val, u16 mod, u8 offset)
--{
--	omap2_prm_write_mod_reg(val, mod, offset);
--}
--
--static u32 omap4_voltage_read_reg(u16 mod, u8 offset)
--{
--	return omap4_prminst_read_inst_reg(OMAP4430_PRM_PARTITION,
--					mod, offset);
--}
--
--static void omap4_voltage_write_reg(u32 val, u16 mod, u8 offset)
--{
--	omap4_prminst_write_inst_reg(val, OMAP4430_PRM_PARTITION, mod, offset);
--}
--
- static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
- 	char *sys_ck_name;
-@@ -183,15 +162,7 @@ static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- 	if (IS_ERR_VALUE(_config_common_vdd_data(voltdm)))
- 		goto ovdc_out;
- 
--	if (cpu_is_omap34xx()) {
--		vdd->read_reg = omap3_voltage_read_reg;
--		vdd->write_reg = omap3_voltage_write_reg;
--		ret = 0;
--	} else if (cpu_is_omap44xx()) {
--		vdd->read_reg = omap4_voltage_read_reg;
--		vdd->write_reg = omap4_voltage_write_reg;
--		ret = 0;
--	}
-+	ret = 0;
- 
- ovdc_out:
- 	return ret;
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 363eee4..f4198aa 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -68,6 +68,11 @@ struct voltagedomain {
- 	struct list_head pwrdm_list;
- 	struct omap_vc_channel *vc;
- 
-+	/* VC/VP register access functions: SoC specific */
-+	u32 (*read) (u8 offset);
-+	void (*write) (u32 val, u8 offset);
-+	u32 (*rmw)(u32 mask, u32 bits, u8 offset);
-+
- 	struct omap_vdd_info *vdd;
- };
- 
-@@ -144,8 +149,6 @@ struct omap_vdd_info {
- 	u32 curr_volt;
- 	bool vp_enabled;
- 
--	u32 (*read_reg) (u16 mod, u8 offset);
--	void (*write_reg) (u32 val, u16 mod, u8 offset);
- 	int (*volt_scale) (struct voltagedomain *voltdm,
- 		unsigned long target_volt);
- };
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index ad8f05b..1d66749 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -56,6 +56,9 @@ static struct omap_vdd_info omap3_vdd2_info = {
- static struct voltagedomain omap3_voltdm_mpu = {
- 	.name = "mpu_iva",
- 	.scalable = true,
-+	.read = omap3_prm_vcvp_read,
-+	.write = omap3_prm_vcvp_write,
-+	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_mpu,
- 	.vdd = &omap3_vdd1_info,
- };
-@@ -63,6 +66,9 @@ static struct voltagedomain omap3_voltdm_mpu = {
- static struct voltagedomain omap3_voltdm_core = {
- 	.name = "core",
- 	.scalable = true,
-+	.read = omap3_prm_vcvp_read,
-+	.write = omap3_prm_vcvp_write,
-+	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_core,
- 	.vdd = &omap3_vdd2_info,
- };
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 43e1d38..e435795 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -62,6 +62,9 @@ static struct omap_vdd_info omap4_vdd_core_info = {
- static struct voltagedomain omap4_voltdm_mpu = {
- 	.name = "mpu",
- 	.scalable = true,
-+	.read = omap4_prm_vcvp_read,
-+	.write = omap4_prm_vcvp_write,
-+	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_mpu,
- 	.vdd = &omap4_vdd_mpu_info,
- };
-@@ -69,6 +72,9 @@ static struct voltagedomain omap4_voltdm_mpu = {
- static struct voltagedomain omap4_voltdm_iva = {
- 	.name = "iva",
- 	.scalable = true,
-+	.read = omap4_prm_vcvp_read,
-+	.write = omap4_prm_vcvp_write,
-+	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_iva,
- 	.vdd = &omap4_vdd_iva_info,
- };
-@@ -76,6 +82,9 @@ static struct voltagedomain omap4_voltdm_iva = {
- static struct voltagedomain omap4_voltdm_core = {
- 	.name = "core",
- 	.scalable = true,
-+	.read = omap4_prm_vcvp_read,
-+	.write = omap4_prm_vcvp_write,
-+	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_core,
- 	.vdd = &omap4_vdd_core_info,
- };
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 113c839..88ac742 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -35,19 +35,19 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 
- 	vsel = vdd->pmic_info->uv_to_vsel(uvdc);
- 
--	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~(vp->vp_common->vpconfig_initvoltage_mask |
- 			vp->vp_common->vpconfig_initvdd);
- 	vpconfig |= vsel << vp->vp_common->vpconfig_initvoltage_shift;
- 
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
--	vdd->write_reg((vpconfig | vp->vp_common->vpconfig_initvdd),
--		       vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write((vpconfig | vp->vp_common->vpconfig_initvdd),
-+		       vp->vpconfig);
- 
- 	/* Clear initVDD copy trigger bit */
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- }
- 
- /* Generic voltage init functions */
-@@ -57,7 +57,7 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vp_val;
- 
--	if (!vdd->read_reg || !vdd->write_reg) {
-+	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return;
-@@ -67,19 +67,19 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 		(vdd->vp_rt_data.vpconfig_errorgain <<
- 		vp->vp_common->vpconfig_errorgain_shift) |
- 		vp->vp_common->vpconfig_timeouten;
--	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vp_val, vp->vpconfig);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
- 		vp->vp_common->vstepmin_smpswaittimemin_shift) |
- 		(vdd->vp_rt_data.vstepmin_stepmin <<
- 		vp->vp_common->vstepmin_stepmin_shift));
--	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vstepmin);
-+	voltdm->write(vp_val, vp->vstepmin);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
- 		vp->vp_common->vstepmax_smpswaittimemax_shift) |
- 		(vdd->vp_rt_data.vstepmax_stepmax <<
- 		vp->vp_common->vstepmax_stepmax_shift));
--	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vstepmax);
-+	voltdm->write(vp_val, vp->vstepmax);
- 
- 	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
- 		vp->vp_common->vlimitto_vddmax_shift) |
-@@ -87,7 +87,7 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 		vp->vp_common->vlimitto_vddmin_shift) |
- 		(vdd->vp_rt_data.vlimitto_timeout <<
- 		vp->vp_common->vlimitto_timeout_shift));
--	vdd->write_reg(vp_val, vp->vp_common->prm_mod, vp->vlimitto);
-+	voltdm->write(vp_val, vp->vlimitto);
- 
- 	vp_debugfs_init(voltdm);
- }
-@@ -97,7 +97,6 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			      unsigned long target_volt)
- {
- 	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vpconfig;
- 	u8 target_vsel, current_vsel;
- 	int ret, timeout = 0;
-@@ -123,21 +122,21 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	}
- 
- 	/* Configure for VP-Force Update */
--	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~(vp->vp_common->vpconfig_initvdd |
- 			vp->vp_common->vpconfig_forceupdate |
- 			vp->vp_common->vpconfig_initvoltage_mask);
- 	vpconfig |= ((target_vsel <<
- 			vp->vp_common->vpconfig_initvoltage_shift));
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
- 	vpconfig |= vp->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Force update of voltage */
- 	vpconfig |= vp->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/*
- 	 * Wait for TransactionDone. Typical latency is <200us.
-@@ -170,13 +169,13 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			"to clear the TRANXDONE status\n",
- 			__func__, voltdm->name);
- 
--	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig = voltdm->read(vp->vpconfig);
- 	/* Clear initVDD copy trigger bit */
- 	vpconfig &= ~vp->vp_common->vpconfig_initvdd;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 	/* Clear force bit */
- 	vpconfig &= ~vp->vp_common->vpconfig_forceupdate;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	return 0;
- }
-@@ -199,13 +198,13 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 	}
- 
- 	vdd = voltdm->vdd;
--	if (!vdd->read_reg) {
-+	if (!voltdm->read) {
- 		pr_err("%s: No read API for reading vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return 0;
- 	}
- 
--	curr_vsel = vdd->read_reg(vp->vp_common->prm_mod, vp->voltage);
-+	curr_vsel = voltdm->read(vp->voltage);
- 
- 	if (!vdd->pmic_info || !vdd->pmic_info->vsel_to_uv) {
- 		pr_warning("%s: PMIC function to convert vsel to voltage"
-@@ -236,7 +235,7 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 
- 	vdd = voltdm->vdd;
- 	vp = voltdm->vdd->vp_data;
--	if (!vdd->read_reg || !vdd->write_reg) {
-+	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return;
-@@ -249,9 +248,9 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 	vp_latch_vsel(voltdm);
- 
- 	/* Enable VP */
--	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig |= vp->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 	vdd->vp_enabled = true;
- }
- 
-@@ -276,7 +275,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 
- 	vdd = voltdm->vdd;
- 	vp = voltdm->vdd->vp_data;
--	if (!vdd->read_reg || !vdd->write_reg) {
-+	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
- 		return;
-@@ -290,15 +289,15 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 	}
- 
- 	/* Disable VP */
--	vpconfig = vdd->read_reg(vp->vp_common->prm_mod, vp->vpconfig);
-+	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~vp->vp_common->vpconfig_vpenable;
--	vdd->write_reg(vpconfig, vp->vp_common->prm_mod, vp->vpconfig);
-+	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/*
- 	 * Wait for VP idle Typical latency is <2us. Maximum latency is ~100us
- 	 */
--	omap_test_timeout((vdd->read_reg(vp->vp_common->prm_mod, vp->vstatus)),
--				VP_IDLE_TIMEOUT, timeout);
-+	omap_test_timeout((voltdm->read(vp->vstatus)),
-+			  VP_IDLE_TIMEOUT, timeout);
- 
- 	if (timeout >= VP_IDLE_TIMEOUT)
- 		pr_warning("%s: vdd_%s idle timedout\n",
-@@ -322,7 +321,7 @@ static int vp_volt_debug_get(void *data, u64 *val)
- 		return -EINVAL;
- 	}
- 
--	vsel = vdd->read_reg(vp->vp_common->prm_mod, vp->voltage);
-+	vsel = voltdm->read(vp->voltage);
- 
- 	if (!vdd->pmic_info->vsel_to_uv) {
- 		pr_warning("PMIC function to convert vsel to voltage"
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 2c9cd76..79aa8d3 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -62,7 +62,6 @@ struct omap_vp_ops {
-  * @vpconfig_vlimitto_vddmin_shift: VDDMIN field shift in PRM_VP*_VLIMITTO reg
-  * @vpconfig_vlimitto_vddmax_shift: VDDMAX field shift in PRM_VP*_VLIMITTO reg
-  * @vpconfig_vlimitto_timeout_shift: TIMEOUT field shift in PRM_VP*_VLIMITTO reg
-- * @prm_mod: PRM module id used for PRM register access
-  *
-  * XXX It it not necessary to have both a mask and a shift for the same
-  *     bitfield - remove one
-@@ -75,7 +74,6 @@ struct omap_vp_common_data {
- 	u32 vpconfig_initvdd;
- 	u32 vpconfig_forceupdate;
- 	u32 vpconfig_vpenable;
--	s16 prm_mod;
- 	u8 vpconfig_erroroffset_shift;
- 	u8 vpconfig_errorgain_shift;
- 	u8 vpconfig_initvoltage_shift;
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index 0372c1a..b01d333 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -37,7 +37,6 @@ static const struct omap_vp_ops omap3_vp_ops = {
-  * XXX This stuff presumably belongs in the vp3xxx.c or vp.c file.
-  */
- static const struct omap_vp_common_data omap3_vp_common = {
--	.prm_mod = OMAP3430_GR_MOD,
- 	.vpconfig_erroroffset_shift = OMAP3430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP3430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP3430_ERRORGAIN_SHIFT,
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 738ba04..9704c7b 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -37,7 +37,6 @@ static const struct omap_vp_ops omap4_vp_ops = {
-  * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
-  */
- static const struct omap_vp_common_data omap4_vp_common = {
--	.prm_mod = OMAP4430_PRM_DEVICE_INST,
- 	.vpconfig_erroroffset_shift = OMAP4430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP4430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP4430_ERRORGAIN_SHIFT,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0118-OMAP3-VC-cleanup-i2c-slave-address-configuration.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0118-OMAP3-VC-cleanup-i2c-slave-address-configuration.patch
deleted file mode 100644
index a538b7b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0118-OMAP3-VC-cleanup-i2c-slave-address-configuration.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 8a87503677e21700900e300a8e319a8239d6591f Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 29 Mar 2011 14:02:36 -0700
-Subject: [PATCH 118/149] OMAP3+: VC: cleanup i2c slave address configuration
-
-- Add an i2c_slave_address field to the omap_vc_channel
-- use VC/VP read/modify/write helper instead of open-coding
-- remove smps_sa_shift, use __ffs(mask) for shift value
-- I2C addresses 10-bit, change size to u16
-
-Special thanks to Shweta Gulati <shweta.gulati at ti.com> for suggesting
-the use of __ffs(x) instead of ffs(x) - 1.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c          |   12 +++++++-----
- arch/arm/mach-omap2/vc.h          |    8 +++++---
- arch/arm/mach-omap2/vc3xxx_data.c |    2 --
- arch/arm/mach-omap2/vc44xx_data.c |    3 ---
- arch/arm/mach-omap2/voltage.h     |    2 +-
- 5 files changed, 13 insertions(+), 14 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 9c2706c..ca6165d 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -232,11 +232,13 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	/* Set up the SMPS_SA(i2c slave address in VC */
--	vc_val = voltdm->read(vc->common->smps_sa_reg);
--	vc_val &= ~vc->smps_sa_mask;
--	vc_val |= vdd->pmic_info->i2c_slave_addr << vc->smps_sa_shift;
--	voltdm->write(vc_val, vc->common->smps_sa_reg);
-+	/* get PMIC/board specific settings */
-+	vc->i2c_slave_addr = vdd->pmic_info->i2c_slave_addr;
-+
-+	/* Configure the i2c slave address for this VC */
-+	voltdm->rmw(vc->smps_sa_mask,
-+		    vc->i2c_slave_addr << __ffs(vc->smps_sa_mask),
-+		    vc->common->smps_sa_reg);
- 
- 	/* Setup the VOLRA(pmic reg addr) in VC */
- 	vc_val = voltdm->read(vc->common->smps_volra_reg);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index d0050f0..165fc74 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -57,20 +57,22 @@ struct omap_vc_common {
- /**
-  * struct omap_vc_channel - VC per-instance data
-  * @common: pointer to VC common data for this platform
-- * @smps_sa_mask: SA* bitmask in the PRM_VC_SMPS_SA register
-+ * @smps_sa_mask: i2c slave address bitmask in the PRM_VC_SMPS_SA register
-  * @smps_volra_mask: VOLRA* bitmask in the PRM_VC_VOL_RA register
-- * @smps_sa_shift: SA* field shift in the PRM_VC_SMPS_SA register
-  * @smps_volra_shift: VOLRA* field shift in the PRM_VC_VOL_RA register
-  *
-  * XXX It is not necessary to have both a *_mask and a *_shift -
-  *     remove one
-  */
- struct omap_vc_channel {
-+	/* channel state */
-+	u16 i2c_slave_addr;
-+
-+	/* register access data */
- 	const struct omap_vc_common *common;
- 	u32 smps_sa_mask;
- 	u32 smps_volra_mask;
- 	u8 cmdval_reg;
--	u8 smps_sa_shift;
- 	u8 smps_volra_shift;
- };
- 
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index 6b67203..86be50c 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -47,7 +47,6 @@ static struct omap_vc_common omap3_vc_common = {
- struct omap_vc_channel omap3_vc_mpu = {
- 	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_0_OFFSET,
--	.smps_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA0_SHIFT,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA0_MASK,
- 	.smps_volra_shift = OMAP3430_VOLRA0_SHIFT,
- 	.smps_volra_mask = OMAP3430_VOLRA0_MASK,
-@@ -56,7 +55,6 @@ struct omap_vc_channel omap3_vc_mpu = {
- struct omap_vc_channel omap3_vc_core = {
- 	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_1_OFFSET,
--	.smps_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA1_MASK,
- 	.smps_volra_shift = OMAP3430_VOLRA1_SHIFT,
- 	.smps_volra_mask = OMAP3430_VOLRA1_MASK,
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index e3125a3..af922b4 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -49,7 +49,6 @@ static const struct omap_vc_common omap4_vc_common = {
- struct omap_vc_channel omap4_vc_mpu = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET,
--	.smps_sa_shift = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_MASK,
- 	.smps_volra_shift = OMAP4430_VOLRA_VDD_MPU_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_MPU_L_MASK,
-@@ -58,7 +57,6 @@ struct omap_vc_channel omap4_vc_mpu = {
- struct omap_vc_channel omap4_vc_iva = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_IVA_L_OFFSET,
--	.smps_sa_shift = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_MASK,
- 	.smps_volra_shift = OMAP4430_VOLRA_VDD_IVA_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_IVA_L_MASK,
-@@ -67,7 +65,6 @@ struct omap_vc_channel omap4_vc_iva = {
- struct omap_vc_channel omap4_vc_core = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_CORE_L_OFFSET,
--	.smps_sa_shift = OMAP4430_SA_VDD_CORE_L_0_6_SHIFT,
- 	.smps_sa_mask = OMAP4430_SA_VDD_CORE_L_0_6_MASK,
- 	.smps_volra_shift = OMAP4430_VOLRA_VDD_CORE_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_CORE_L_MASK,
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index f4198aa..639e85c 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -110,13 +110,13 @@ struct omap_volt_pmic_info {
- 	u32 ret_volt;
- 	u32 off_volt;
- 	u16 volt_setup_time;
-+	u16 i2c_slave_addr;
- 	u8 vp_erroroffset;
- 	u8 vp_vstepmin;
- 	u8 vp_vstepmax;
- 	u8 vp_vddmin;
- 	u8 vp_vddmax;
- 	u8 vp_timeout_us;
--	u8 i2c_slave_addr;
- 	u8 volt_reg_addr;
- 	u8 cmd_reg_addr;
- 	unsigned long (*vsel_to_uv) (const u8 vsel);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0119-OMAP3-VC-cleanup-PMIC-register-address-configuration.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0119-OMAP3-VC-cleanup-PMIC-register-address-configuration.patch
deleted file mode 100644
index 0862023..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0119-OMAP3-VC-cleanup-PMIC-register-address-configuration.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 3296114685831f06d5a73057464afbbed489dea4 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Thu, 9 Jun 2011 11:01:55 -0700
-Subject: [PATCH 119/149] OMAP3+: VC: cleanup PMIC register address configuration
-
-- support both voltage register address and command register address
-  for each VC channel
-- add fields for voltage register address (volra) and command register
-  address (cmdra) to struct omap_vc_channel
-- use VC/VP register access read/modify/write helper
-- remove volra_shift field (use __ffs(mask) for shift value)
-- I2C addresses 10-bit, change size to u16
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c          |   17 ++++++++++++-----
- arch/arm/mach-omap2/vc.h          |    9 ++++-----
- arch/arm/mach-omap2/vc3xxx_data.c |    5 +++--
- arch/arm/mach-omap2/vc44xx_data.c |    7 ++++---
- arch/arm/mach-omap2/voltage.h     |    4 ++--
- 5 files changed, 25 insertions(+), 17 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index ca6165d..50b1f7c 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -234,17 +234,24 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 
- 	/* get PMIC/board specific settings */
- 	vc->i2c_slave_addr = vdd->pmic_info->i2c_slave_addr;
-+	vc->volt_reg_addr = vdd->pmic_info->volt_reg_addr;
-+	vc->cmd_reg_addr = vdd->pmic_info->cmd_reg_addr;
- 
- 	/* Configure the i2c slave address for this VC */
- 	voltdm->rmw(vc->smps_sa_mask,
- 		    vc->i2c_slave_addr << __ffs(vc->smps_sa_mask),
- 		    vc->common->smps_sa_reg);
- 
--	/* Setup the VOLRA(pmic reg addr) in VC */
--	vc_val = voltdm->read(vc->common->smps_volra_reg);
--	vc_val &= ~vc->smps_volra_mask;
--	vc_val |= vdd->pmic_info->volt_reg_addr << vc->smps_volra_shift;
--	voltdm->write(vc_val, vc->common->smps_volra_reg);
-+	/*
-+	 * Configure the PMIC register addresses.
-+	 */
-+	voltdm->rmw(vc->smps_volra_mask,
-+		    vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
-+		    vc->common->smps_volra_reg);
-+	if (vc->cmd_reg_addr)
-+		voltdm->rmw(vc->smps_cmdra_mask,
-+			    vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
-+			    vc->common->smps_cmdra_reg);
- 
- 	/* Configure the setup times */
- 	vc_val = voltdm->read(vdd->vfsm->voltsetup_reg);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index 165fc74..f3b0551 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -44,6 +44,7 @@ struct omap_vc_common {
- 	u32 valid;
- 	u8 smps_sa_reg;
- 	u8 smps_volra_reg;
-+	u8 smps_cmdra_reg;
- 	u8 bypass_val_reg;
- 	u8 data_shift;
- 	u8 slaveaddr_shift;
-@@ -59,21 +60,19 @@ struct omap_vc_common {
-  * @common: pointer to VC common data for this platform
-  * @smps_sa_mask: i2c slave address bitmask in the PRM_VC_SMPS_SA register
-  * @smps_volra_mask: VOLRA* bitmask in the PRM_VC_VOL_RA register
-- * @smps_volra_shift: VOLRA* field shift in the PRM_VC_VOL_RA register
-- *
-- * XXX It is not necessary to have both a *_mask and a *_shift -
-- *     remove one
-  */
- struct omap_vc_channel {
- 	/* channel state */
- 	u16 i2c_slave_addr;
-+	u16 volt_reg_addr;
-+	u16 cmd_reg_addr;
- 
- 	/* register access data */
- 	const struct omap_vc_common *common;
- 	u32 smps_sa_mask;
- 	u32 smps_volra_mask;
-+	u32 smps_cmdra_mask;
- 	u8 cmdval_reg;
--	u8 smps_volra_shift;
- };
- 
- extern struct omap_vc_channel omap3_vc_mpu;
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index 86be50c..df8bd5e 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -32,6 +32,7 @@
- static struct omap_vc_common omap3_vc_common = {
- 	.smps_sa_reg	 = OMAP3_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg	 = OMAP3_PRM_VC_SMPS_VOL_RA_OFFSET,
-+	.smps_cmdra_reg	 = OMAP3_PRM_VC_SMPS_CMD_RA_OFFSET,
- 	.bypass_val_reg	 = OMAP3_PRM_VC_BYPASS_VAL_OFFSET,
- 	.data_shift	 = OMAP3430_DATA_SHIFT,
- 	.slaveaddr_shift = OMAP3430_SLAVEADDR_SHIFT,
-@@ -48,14 +49,14 @@ struct omap_vc_channel omap3_vc_mpu = {
- 	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_0_OFFSET,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA0_MASK,
--	.smps_volra_shift = OMAP3430_VOLRA0_SHIFT,
- 	.smps_volra_mask = OMAP3430_VOLRA0_MASK,
-+	.smps_cmdra_mask = OMAP3430_CMDRA0_MASK,
- };
- 
- struct omap_vc_channel omap3_vc_core = {
- 	.common = &omap3_vc_common,
- 	.cmdval_reg = OMAP3_PRM_VC_CMD_VAL_1_OFFSET,
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA1_MASK,
--	.smps_volra_shift = OMAP3430_VOLRA1_SHIFT,
- 	.smps_volra_mask = OMAP3430_VOLRA1_MASK,
-+	.smps_cmdra_mask = OMAP3430_CMDRA1_MASK,
- };
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index af922b4..5d104ff 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -33,6 +33,7 @@
- static const struct omap_vc_common omap4_vc_common = {
- 	.smps_sa_reg = OMAP4_PRM_VC_SMPS_SA_OFFSET,
- 	.smps_volra_reg = OMAP4_PRM_VC_VAL_SMPS_RA_VOL_OFFSET,
-+	.smps_cmdra_reg = OMAP4_PRM_VC_VAL_SMPS_RA_CMD_OFFSET,
- 	.bypass_val_reg = OMAP4_PRM_VC_VAL_BYPASS_OFFSET,
- 	.data_shift = OMAP4430_DATA_SHIFT,
- 	.slaveaddr_shift = OMAP4430_SLAVEADDR_SHIFT,
-@@ -50,23 +51,23 @@ struct omap_vc_channel omap4_vc_mpu = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET,
- 	.smps_sa_mask = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_MASK,
--	.smps_volra_shift = OMAP4430_VOLRA_VDD_MPU_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_MPU_L_MASK,
-+	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_MPU_L_MASK,
- };
- 
- struct omap_vc_channel omap4_vc_iva = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_IVA_L_OFFSET,
- 	.smps_sa_mask = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_MASK,
--	.smps_volra_shift = OMAP4430_VOLRA_VDD_IVA_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_IVA_L_MASK,
-+	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_IVA_L_MASK,
- };
- 
- struct omap_vc_channel omap4_vc_core = {
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_CORE_L_OFFSET,
- 	.smps_sa_mask = OMAP4430_SA_VDD_CORE_L_0_6_MASK,
--	.smps_volra_shift = OMAP4430_VOLRA_VDD_CORE_L_SHIFT,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_CORE_L_MASK,
-+	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_CORE_L_MASK,
- };
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 639e85c..3129d64 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -111,14 +111,14 @@ struct omap_volt_pmic_info {
- 	u32 off_volt;
- 	u16 volt_setup_time;
- 	u16 i2c_slave_addr;
-+	u16 volt_reg_addr;
-+	u16 cmd_reg_addr;
- 	u8 vp_erroroffset;
- 	u8 vp_vstepmin;
- 	u8 vp_vstepmax;
- 	u8 vp_vddmin;
- 	u8 vp_vddmax;
- 	u8 vp_timeout_us;
--	u8 volt_reg_addr;
--	u8 cmd_reg_addr;
- 	unsigned long (*vsel_to_uv) (const u8 vsel);
- 	u8 (*uv_to_vsel) (unsigned long uV);
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0120-OMAP3-VC-bypass-use-fields-from-VC-struct-instead-of.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0120-OMAP3-VC-bypass-use-fields-from-VC-struct-instead-of.patch
deleted file mode 100644
index 37b7af0..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0120-OMAP3-VC-bypass-use-fields-from-VC-struct-instead-of.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From ebe24c52d0431437103277f4e378c3dad0bde3e9 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 29 Mar 2011 14:24:47 -0700
-Subject: [PATCH 120/149] OMAP3+: VC bypass: use fields from VC struct instead of PMIC info
-
-The PMIC configurable variables should be isolated to VC initialization.
-The rest of the VC functions (like VC bypass) should use the i2c slave address
-and voltage register address fields from struct omap_vc_channel.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c |    7 ++-----
- 1 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 50b1f7c..9e0dc8d 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -91,7 +91,6 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 			 unsigned long target_volt)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 loop_cnt = 0, retries_cnt = 0;
- 	u32 vc_valid, vc_bypass_val_reg, vc_bypass_value;
- 	u8 target_vsel, current_vsel;
-@@ -104,10 +103,8 @@ int omap_vc_bypass_scale(struct voltagedomain *voltdm,
- 	vc_valid = vc->common->valid;
- 	vc_bypass_val_reg = vc->common->bypass_val_reg;
- 	vc_bypass_value = (target_vsel << vc->common->data_shift) |
--			(vdd->pmic_info->volt_reg_addr <<
--			vc->common->regaddr_shift) |
--			(vdd->pmic_info->i2c_slave_addr <<
--			vc->common->slaveaddr_shift);
-+		(vc->volt_reg_addr << vc->common->regaddr_shift) |
-+		(vc->i2c_slave_addr << vc->common->slaveaddr_shift);
- 
- 	voltdm->write(vc_bypass_value, vc_bypass_val_reg);
- 	voltdm->write(vc_bypass_value | vc_valid, vc_bypass_val_reg);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0121-OMAP3-VC-cleanup-voltage-setup-time-configuration.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0121-OMAP3-VC-cleanup-voltage-setup-time-configuration.patch
deleted file mode 100644
index 1e103a4..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0121-OMAP3-VC-cleanup-voltage-setup-time-configuration.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From 50a49ce5dfe92764b167510f4edb9dcde880f9d5 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 29 Mar 2011 14:36:04 -0700
-Subject: [PATCH 121/149] OMAP3+: VC: cleanup voltage setup time configuration
-
-- add setup_time field to struct omap_vc_channel (init'd from PMIC data)
-- use VC/VP register access helper for read/modify/write
-- move VFSM structure from omap_vdd_info into struct voltagedomain
-- remove redunant _data suffix from VFSM structures and variables
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c                      |   10 ++++------
- arch/arm/mach-omap2/vc.h                      |    1 +
- arch/arm/mach-omap2/voltage.h                 |    7 +++----
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    8 ++++----
- arch/arm/mach-omap2/voltagedomains44xx_data.c |   12 ++++++------
- 5 files changed, 18 insertions(+), 20 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 9e0dc8d..d7415ea 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -214,7 +214,6 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vc_val;
- 
- 	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
- 		pr_err("%s: PMIC info requried to configure vc for"
-@@ -233,6 +232,7 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	vc->i2c_slave_addr = vdd->pmic_info->i2c_slave_addr;
- 	vc->volt_reg_addr = vdd->pmic_info->volt_reg_addr;
- 	vc->cmd_reg_addr = vdd->pmic_info->cmd_reg_addr;
-+	vc->setup_time = vdd->pmic_info->volt_setup_time;
- 
- 	/* Configure the i2c slave address for this VC */
- 	voltdm->rmw(vc->smps_sa_mask,
-@@ -251,11 +251,9 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 			    vc->common->smps_cmdra_reg);
- 
- 	/* Configure the setup times */
--	vc_val = voltdm->read(vdd->vfsm->voltsetup_reg);
--	vc_val &= ~vdd->vfsm->voltsetup_mask;
--	vc_val |= vdd->pmic_info->volt_setup_time <<
--			vdd->vfsm->voltsetup_shift;
--	voltdm->write(vc_val, vdd->vfsm->voltsetup_reg);
-+	voltdm->rmw(voltdm->vfsm->voltsetup_mask,
-+		    vc->setup_time << __ffs(voltdm->vfsm->voltsetup_mask),
-+		    voltdm->vfsm->voltsetup_reg);
- 
- 	if (cpu_is_omap34xx())
- 		omap3_vc_init_channel(voltdm);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index f3b0551..45e63cf 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -66,6 +66,7 @@ struct omap_vc_channel {
- 	u16 i2c_slave_addr;
- 	u16 volt_reg_addr;
- 	u16 cmd_reg_addr;
-+	u16 setup_time;
- 
- 	/* register access data */
- 	const struct omap_vc_common *common;
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 3129d64..2b2ab56 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -36,7 +36,7 @@ struct powerdomain;
- struct omap_vdd_info;
- 
- /**
-- * struct omap_vfsm_instance_data - per-voltage manager FSM register/bitfield
-+ * struct omap_vfsm_instance - per-voltage manager FSM register/bitfield
-  * data
-  * @voltsetup_mask: SETUP_TIME* bitmask in the PRM_VOLTSETUP* register
-  * @voltsetup_reg: register offset of PRM_VOLTSETUP from PRM base
-@@ -46,7 +46,7 @@ struct omap_vdd_info;
-  * XXX It is not necessary to have both a _mask and a _shift for the same
-  *     bitfield - remove one!
-  */
--struct omap_vfsm_instance_data {
-+struct omap_vfsm_instance {
- 	u32 voltsetup_mask;
- 	u8 voltsetup_reg;
- 	u8 voltsetup_shift;
-@@ -67,6 +67,7 @@ struct voltagedomain {
- 	struct list_head node;
- 	struct list_head pwrdm_list;
- 	struct omap_vc_channel *vc;
-+	const struct omap_vfsm_instance *vfsm;
- 
- 	/* VC/VP register access functions: SoC specific */
- 	u32 (*read) (u8 offset);
-@@ -133,7 +134,6 @@ struct omap_volt_pmic_info {
-  * @vp_data		: the register values, shifts, masks for various
-  *			  vp registers
-  * @vp_rt_data          : VP data derived at runtime, not predefined
-- * @vfsm                : voltage manager FSM data
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-  * @vp_enabled		: flag to keep track of whether vp is enabled or not
-@@ -144,7 +144,6 @@ struct omap_vdd_info {
- 	struct omap_volt_pmic_info *pmic_info;
- 	struct omap_vp_instance_data *vp_data;
- 	struct omap_vp_runtime_data vp_rt_data;
--	const struct omap_vfsm_instance_data *vfsm;
- 	struct dentry *debug_dir;
- 	u32 curr_volt;
- 	bool vp_enabled;
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 1d66749..4ea9a7b 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -31,7 +31,7 @@
-  * VDD data
-  */
- 
--static const struct omap_vfsm_instance_data omap3_vdd1_vfsm_data = {
-+static const struct omap_vfsm_instance omap3_vdd1_vfsm = {
- 	.voltsetup_reg = OMAP3_PRM_VOLTSETUP1_OFFSET,
- 	.voltsetup_shift = OMAP3430_SETUP_TIME1_SHIFT,
- 	.voltsetup_mask = OMAP3430_SETUP_TIME1_MASK,
-@@ -39,10 +39,9 @@ static const struct omap_vfsm_instance_data omap3_vdd1_vfsm_data = {
- 
- static struct omap_vdd_info omap3_vdd1_info = {
- 	.vp_data = &omap3_vp1_data,
--	.vfsm = &omap3_vdd1_vfsm_data,
- };
- 
--static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
-+static const struct omap_vfsm_instance omap3_vdd2_vfsm = {
- 	.voltsetup_reg = OMAP3_PRM_VOLTSETUP1_OFFSET,
- 	.voltsetup_shift = OMAP3430_SETUP_TIME2_SHIFT,
- 	.voltsetup_mask = OMAP3430_SETUP_TIME2_MASK,
-@@ -50,7 +49,6 @@ static const struct omap_vfsm_instance_data omap3_vdd2_vfsm_data = {
- 
- static struct omap_vdd_info omap3_vdd2_info = {
- 	.vp_data = &omap3_vp2_data,
--	.vfsm = &omap3_vdd2_vfsm_data,
- };
- 
- static struct voltagedomain omap3_voltdm_mpu = {
-@@ -60,6 +58,7 @@ static struct voltagedomain omap3_voltdm_mpu = {
- 	.write = omap3_prm_vcvp_write,
- 	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_mpu,
-+	.vfsm = &omap3_vdd1_vfsm,
- 	.vdd = &omap3_vdd1_info,
- };
- 
-@@ -70,6 +69,7 @@ static struct voltagedomain omap3_voltdm_core = {
- 	.write = omap3_prm_vcvp_write,
- 	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_core,
-+	.vfsm = &omap3_vdd2_vfsm,
- 	.vdd = &omap3_vdd2_info,
- };
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index e435795..dd4bd22 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -32,31 +32,28 @@
- #include "vc.h"
- #include "vp.h"
- 
--static const struct omap_vfsm_instance_data omap4_vdd_mpu_vfsm_data = {
-+static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
- };
- 
- static struct omap_vdd_info omap4_vdd_mpu_info = {
- 	.vp_data = &omap4_vp_mpu_data,
--	.vfsm = &omap4_vdd_mpu_vfsm_data,
- };
- 
--static const struct omap_vfsm_instance_data omap4_vdd_iva_vfsm_data = {
-+static const struct omap_vfsm_instance omap4_vdd_iva_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_IVA_RET_SLEEP_OFFSET,
- };
- 
- static struct omap_vdd_info omap4_vdd_iva_info = {
- 	.vp_data = &omap4_vp_iva_data,
--	.vfsm = &omap4_vdd_iva_vfsm_data,
- };
- 
--static const struct omap_vfsm_instance_data omap4_vdd_core_vfsm_data = {
-+static const struct omap_vfsm_instance omap4_vdd_core_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET,
- };
- 
- static struct omap_vdd_info omap4_vdd_core_info = {
- 	.vp_data = &omap4_vp_core_data,
--	.vfsm = &omap4_vdd_core_vfsm_data,
- };
- 
- static struct voltagedomain omap4_voltdm_mpu = {
-@@ -66,6 +63,7 @@ static struct voltagedomain omap4_voltdm_mpu = {
- 	.write = omap4_prm_vcvp_write,
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_mpu,
-+	.vfsm = &omap4_vdd_mpu_vfsm,
- 	.vdd = &omap4_vdd_mpu_info,
- };
- 
-@@ -76,6 +74,7 @@ static struct voltagedomain omap4_voltdm_iva = {
- 	.write = omap4_prm_vcvp_write,
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_iva,
-+	.vfsm = &omap4_vdd_iva_vfsm,
- 	.vdd = &omap4_vdd_iva_info,
- };
- 
-@@ -86,6 +85,7 @@ static struct voltagedomain omap4_voltdm_core = {
- 	.write = omap4_prm_vcvp_write,
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_core,
-+	.vfsm = &omap4_vdd_core_vfsm,
- 	.vdd = &omap4_vdd_core_info,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0122-OMAP3-VC-move-on-onlp-ret-off-command-configuration-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0122-OMAP3-VC-move-on-onlp-ret-off-command-configuration-.patch
deleted file mode 100644
index 00085fd..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0122-OMAP3-VC-move-on-onlp-ret-off-command-configuration-.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 998b0b0ef5013478d128a2b1a4f435b94394a1a5 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 29 Mar 2011 15:14:38 -0700
-Subject: [PATCH 122/149] OMAP3+: VC: move on/onlp/ret/off command configuration into common init
-
-Configuring the on/onlp/ret/off command values is common to OMAP3 & 4.
-Move from OMAP3-only init into common VC init.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c |   30 +++++++++++++-----------------
- 1 files changed, 13 insertions(+), 17 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index d7415ea..7df4438 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -148,26 +148,11 @@ static void __init omap3_vfsm_init(struct voltagedomain *voltdm)
- 
- static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- {
--	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	static bool is_initialized;
--	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
--	u32 vc_val;
- 
- 	if (is_initialized)
- 		return;
- 
--	/* Set up the on, inactive, retention and off voltage */
--	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
--	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
--	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
--	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
--	vc_val	= ((on_vsel << vc->common->cmd_on_shift) |
--		(onlp_vsel << vc->common->cmd_onlp_shift) |
--		(ret_vsel << vc->common->cmd_ret_shift) |
--		(off_vsel << vc->common->cmd_off_shift));
--	voltdm->write(vc_val, vc->cmdval_reg);
--
- 	/*
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
-@@ -192,8 +177,6 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- 	if (is_initialized)
- 		return;
- 
--	/* TODO: Configure setup times and CMD_VAL values*/
--
- 	/*
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
-@@ -214,6 +197,8 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
-+	u32 val;
- 
- 	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
- 		pr_err("%s: PMIC info requried to configure vc for"
-@@ -250,6 +235,17 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 			    vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
- 			    vc->common->smps_cmdra_reg);
- 
-+	/* Set up the on, inactive, retention and off voltage */
-+	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
-+	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
-+	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
-+	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
-+	val = ((on_vsel << vc->common->cmd_on_shift) |
-+	       (onlp_vsel << vc->common->cmd_onlp_shift) |
-+	       (ret_vsel << vc->common->cmd_ret_shift) |
-+	       (off_vsel << vc->common->cmd_off_shift));
-+	voltdm->write(val, vc->cmdval_reg);
-+
- 	/* Configure the setup times */
- 	voltdm->rmw(voltdm->vfsm->voltsetup_mask,
- 		    vc->setup_time << __ffs(voltdm->vfsm->voltsetup_mask),
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0123-OMAP3-VC-abstract-out-channel-configuration.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0123-OMAP3-VC-abstract-out-channel-configuration.patch
deleted file mode 100644
index ce09144..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0123-OMAP3-VC-abstract-out-channel-configuration.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From 7f3361ef34caa14bf669907555a0bc7dbe92f8c9 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 29 Mar 2011 15:57:16 -0700
-Subject: [PATCH 123/149] OMAP3+: VC: abstract out channel configuration
-
-VC channel configuration is programmed based on settings coming from
-the PMIC configuration.
-
-Currently, the VC channel to PMIC mapping is a simple one-to-one
-mapping.  Whenever a VC channel parameter is configured (i2c slave
-addres, PMIC register address, on/ret/off command), the corresponding
-bits are enabled in the VC channel configuration register.
-
-If necessary, the programmability of channel configuration settings
-could be extended to board/PMIC files, however, because this patch
-changes the channel configuration to be programmed based on existing
-values from the PMIC settings, it may not be required.
-
-Also note that starting with OMAP4, where there are more than 2
-channels, one channel is identified as the "default" channel.  When
-any of the bits in the channel config for the other channels are zero,
-it means to use the default channel.  The OMAP4 TRM (at least through
-NDA version Q) is wrong in describing which is the default channel.
-The default channel on OMAP4 is MPU, not CORE as decribed in the TRM.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c          |   70 ++++++++++++++++++++++++++++++------
- arch/arm/mach-omap2/vc.h          |    9 +++++
- arch/arm/mach-omap2/vc3xxx_data.c |    3 ++
- arch/arm/mach-omap2/vc44xx_data.c |    5 +++
- 4 files changed, 75 insertions(+), 12 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 7df4438..e413b97 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -10,6 +10,52 @@
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
- 
-+/*
-+ * Channel configuration bits, common for OMAP3 & 4
-+ * OMAP3 register: PRM_VC_CH_CONF
-+ * OMAP4 register: PRM_VC_CFG_CHANNEL
-+ */
-+#define CFG_CHANNEL_SA    BIT(0)
-+#define CFG_CHANNEL_RAV   BIT(1)
-+#define CFG_CHANNEL_RAC   BIT(2)
-+#define CFG_CHANNEL_RACEN BIT(3)
-+#define CFG_CHANNEL_CMD   BIT(4)
-+#define CFG_CHANNEL_MASK 0x3f
-+
-+/**
-+ * omap_vc_config_channel - configure VC channel to PMIC mappings
-+ * @voltdm: pointer to voltagdomain defining the desired VC channel
-+ *
-+ * Configures the VC channel to PMIC mappings for the following
-+ * PMIC settings
-+ * - i2c slave address (SA)
-+ * - voltage configuration address (RAV)
-+ * - command configuration address (RAC) and enable bit (RACEN)
-+ * - command values for ON, ONLP, RET and OFF (CMD)
-+ *
-+ * This function currently only allows flexible configuration of the
-+ * non-default channel.  Starting with OMAP4, there are more than 2
-+ * channels, with one defined as the default (on OMAP4, it's MPU.)
-+ * Only the non-default channel can be configured.
-+ */
-+static int omap_vc_config_channel(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_channel *vc = voltdm->vc;
-+
-+	/*
-+	 * For default channel, the only configurable bit is RACEN.
-+	 * All others must stay at zero (see function comment above.)
-+	 */
-+	if (vc->flags & OMAP_VC_CHANNEL_DEFAULT)
-+		vc->cfg_channel &= CFG_CHANNEL_RACEN;
-+
-+	voltdm->rmw(CFG_CHANNEL_MASK << vc->cfg_channel_sa_shift,
-+		    vc->cfg_channel << vc->cfg_channel_sa_shift,
-+		    vc->common->cfg_channel_reg);
-+
-+	return 0;
-+}
-+
- /* Voltage scale and accessory APIs */
- int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		      unsigned long target_volt,
-@@ -157,8 +203,6 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- 	 * Generic VC parameters init
- 	 * XXX This data should be abstracted out
- 	 */
--	voltdm->write(OMAP3430_CMD1_MASK | OMAP3430_RAV1_MASK,
--		       OMAP3_PRM_VC_CH_CONF_OFFSET);
- 	voltdm->write(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK,
- 		       OMAP3_PRM_VC_I2C_CFG_OFFSET);
- 
-@@ -177,15 +221,6 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- 	if (is_initialized)
- 		return;
- 
--	/*
--	 * Generic VC parameters init
--	 * XXX This data should be abstracted out
--	 */
--	vc_val = (OMAP4430_RAV_VDD_MPU_L_MASK | OMAP4430_CMD_VDD_MPU_L_MASK |
--		  OMAP4430_RAV_VDD_IVA_L_MASK | OMAP4430_CMD_VDD_IVA_L_MASK |
--		  OMAP4430_RAV_VDD_CORE_L_MASK | OMAP4430_CMD_VDD_CORE_L_MASK);
--	voltdm->write(vc_val, OMAP4_PRM_VC_CFG_CHANNEL_OFFSET);
--
- 	/* XXX These are magic numbers and do not belong! */
- 	vc_val = (0x60 << OMAP4430_SCLL_SHIFT | 0x26 << OMAP4430_SCLH_SHIFT);
- 	voltdm->write(vc_val, OMAP4_PRM_VC_CFG_I2C_CLK_OFFSET);
-@@ -213,6 +248,8 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
-+	vc->cfg_channel = 0;
-+
- 	/* get PMIC/board specific settings */
- 	vc->i2c_slave_addr = vdd->pmic_info->i2c_slave_addr;
- 	vc->volt_reg_addr = vdd->pmic_info->volt_reg_addr;
-@@ -223,6 +260,7 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	voltdm->rmw(vc->smps_sa_mask,
- 		    vc->i2c_slave_addr << __ffs(vc->smps_sa_mask),
- 		    vc->common->smps_sa_reg);
-+	vc->cfg_channel |= CFG_CHANNEL_SA;
- 
- 	/*
- 	 * Configure the PMIC register addresses.
-@@ -230,10 +268,14 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	voltdm->rmw(vc->smps_volra_mask,
- 		    vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
- 		    vc->common->smps_volra_reg);
--	if (vc->cmd_reg_addr)
-+	vc->cfg_channel |= CFG_CHANNEL_RAV;
-+
-+	if (vc->cmd_reg_addr) {
- 		voltdm->rmw(vc->smps_cmdra_mask,
- 			    vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
- 			    vc->common->smps_cmdra_reg);
-+		vc->cfg_channel |= CFG_CHANNEL_RAC | CFG_CHANNEL_RACEN;
-+	}
- 
- 	/* Set up the on, inactive, retention and off voltage */
- 	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
-@@ -245,6 +287,10 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	       (ret_vsel << vc->common->cmd_ret_shift) |
- 	       (off_vsel << vc->common->cmd_off_shift));
- 	voltdm->write(val, vc->cmdval_reg);
-+	vc->cfg_channel |= CFG_CHANNEL_CMD;
-+
-+	/* Channel configuration */
-+	omap_vc_config_channel(voltdm);
- 
- 	/* Configure the setup times */
- 	voltdm->rmw(voltdm->vfsm->voltsetup_mask,
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index 45e63cf..604f5b6 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -53,20 +53,28 @@ struct omap_vc_common {
- 	u8 cmd_onlp_shift;
- 	u8 cmd_ret_shift;
- 	u8 cmd_off_shift;
-+	u8 cfg_channel_reg;
- };
- 
-+/* omap_vc_channel.flags values */
-+#define OMAP_VC_CHANNEL_DEFAULT BIT(0)
-+
- /**
-  * struct omap_vc_channel - VC per-instance data
-+ * @flags: VC channel-specific flags (optional)
-  * @common: pointer to VC common data for this platform
-  * @smps_sa_mask: i2c slave address bitmask in the PRM_VC_SMPS_SA register
-  * @smps_volra_mask: VOLRA* bitmask in the PRM_VC_VOL_RA register
-  */
- struct omap_vc_channel {
-+	u8 flags;
-+
- 	/* channel state */
- 	u16 i2c_slave_addr;
- 	u16 volt_reg_addr;
- 	u16 cmd_reg_addr;
- 	u16 setup_time;
-+	u8 cfg_channel;
- 
- 	/* register access data */
- 	const struct omap_vc_common *common;
-@@ -74,6 +82,7 @@ struct omap_vc_channel {
- 	u32 smps_volra_mask;
- 	u32 smps_cmdra_mask;
- 	u8 cmdval_reg;
-+	u8 cfg_channel_sa_shift;
- };
- 
- extern struct omap_vc_channel omap3_vc_mpu;
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index df8bd5e..f4449eb 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -43,6 +43,7 @@ static struct omap_vc_common omap3_vc_common = {
- 	.cmd_onlp_shift	 = OMAP3430_VC_CMD_ONLP_SHIFT,
- 	.cmd_ret_shift	 = OMAP3430_VC_CMD_RET_SHIFT,
- 	.cmd_off_shift	 = OMAP3430_VC_CMD_OFF_SHIFT,
-+	.cfg_channel_reg = OMAP3_PRM_VC_CH_CONF_OFFSET,
- };
- 
- struct omap_vc_channel omap3_vc_mpu = {
-@@ -51,6 +52,7 @@ struct omap_vc_channel omap3_vc_mpu = {
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA0_MASK,
- 	.smps_volra_mask = OMAP3430_VOLRA0_MASK,
- 	.smps_cmdra_mask = OMAP3430_CMDRA0_MASK,
-+	.cfg_channel_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA0_SHIFT,
- };
- 
- struct omap_vc_channel omap3_vc_core = {
-@@ -59,4 +61,5 @@ struct omap_vc_channel omap3_vc_core = {
- 	.smps_sa_mask = OMAP3430_PRM_VC_SMPS_SA_SA1_MASK,
- 	.smps_volra_mask = OMAP3430_VOLRA1_MASK,
- 	.smps_cmdra_mask = OMAP3430_CMDRA1_MASK,
-+	.cfg_channel_sa_shift = OMAP3430_PRM_VC_SMPS_SA_SA1_SHIFT,
- };
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index 5d104ff..1610bde 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -44,15 +44,18 @@ static const struct omap_vc_common omap4_vc_common = {
- 	.cmd_onlp_shift = OMAP4430_ONLP_SHIFT,
- 	.cmd_ret_shift = OMAP4430_RET_SHIFT,
- 	.cmd_off_shift = OMAP4430_OFF_SHIFT,
-+	.cfg_channel_reg = OMAP4_PRM_VC_CFG_CHANNEL_OFFSET,
- };
- 
- /* VC instance data for each controllable voltage line */
- struct omap_vc_channel omap4_vc_mpu = {
-+	.flags = OMAP_VC_CHANNEL_DEFAULT,
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET,
- 	.smps_sa_mask = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_MASK,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_MPU_L_MASK,
- 	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_MPU_L_MASK,
-+	.cfg_channel_sa_shift = OMAP4430_SA_VDD_MPU_L_SHIFT,
- };
- 
- struct omap_vc_channel omap4_vc_iva = {
-@@ -61,6 +64,7 @@ struct omap_vc_channel omap4_vc_iva = {
- 	.smps_sa_mask = OMAP4430_SA_VDD_IVA_L_PRM_VC_SMPS_SA_MASK,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_IVA_L_MASK,
- 	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_IVA_L_MASK,
-+	.cfg_channel_sa_shift = OMAP4430_SA_VDD_IVA_L_SHIFT,
- };
- 
- struct omap_vc_channel omap4_vc_core = {
-@@ -69,5 +73,6 @@ struct omap_vc_channel omap4_vc_core = {
- 	.smps_sa_mask = OMAP4430_SA_VDD_CORE_L_0_6_MASK,
- 	.smps_volra_mask = OMAP4430_VOLRA_VDD_CORE_L_MASK,
- 	.smps_cmdra_mask = OMAP4430_CMDRA_VDD_CORE_L_MASK,
-+	.cfg_channel_sa_shift = OMAP4430_SA_VDD_CORE_L_SHIFT,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0124-OMAP3-voltage-domain-move-PMIC-struct-from-vdd_info-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0124-OMAP3-voltage-domain-move-PMIC-struct-from-vdd_info-.patch
deleted file mode 100644
index 9c5fbe3..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0124-OMAP3-voltage-domain-move-PMIC-struct-from-vdd_info-.patch
+++ /dev/null
@@ -1,394 +0,0 @@
-From 94945494c16d0ffd7b52b12492068abf5310654d Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 30 Mar 2011 11:01:10 -0700
-Subject: [PATCH 124/149] OMAP3+: voltage domain: move PMIC struct from vdd_info into struct voltagedomain
-
-Move structure containing PMIC configurable settings into struct
-voltagedomain.  In the process, rename from omap_volt_pmic_info to
-omap_voltdm_pmic (_info suffix is not helpful.)
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |   28 ++++++++++++++--------------
- arch/arm/mach-omap2/vc.c       |   29 ++++++++++++++---------------
- arch/arm/mach-omap2/voltage.c  |   29 ++++++++++++-----------------
- arch/arm/mach-omap2/voltage.h  |   12 +++++-------
- arch/arm/mach-omap2/vp.c       |   13 ++++++-------
- 5 files changed, 51 insertions(+), 60 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 3249fe3..e467d45 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -143,7 +143,7 @@ static u8 twl6030_uv_to_vsel(unsigned long uv)
- 		return DIV_ROUND_UP(uv - 600000, 12500) + 1;
- }
- 
--static struct omap_volt_pmic_info omap3_mpu_volt_info = {
-+static struct omap_voltdm_pmic omap3_mpu_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12500,
- 	.on_volt		= 1200000,
-@@ -163,7 +163,7 @@ static struct omap_volt_pmic_info omap3_mpu_volt_info = {
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
- 
--static struct omap_volt_pmic_info omap3_core_volt_info = {
-+static struct omap_voltdm_pmic omap3_core_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12500,
- 	.on_volt                = 1200000,
-@@ -183,7 +183,7 @@ static struct omap_volt_pmic_info omap3_core_volt_info = {
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
- 
--static struct omap_volt_pmic_info omap4_mpu_volt_info = {
-+static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12500,
- 	.on_volt		= 1350000,
-@@ -203,7 +203,7 @@ static struct omap_volt_pmic_info omap4_mpu_volt_info = {
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
- 
--static struct omap_volt_pmic_info omap4_iva_volt_info = {
-+static struct omap_voltdm_pmic omap4_iva_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12500,
- 	.on_volt		= 1100000,
-@@ -223,7 +223,7 @@ static struct omap_volt_pmic_info omap4_iva_volt_info = {
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
- 
--static struct omap_volt_pmic_info omap4_core_volt_info = {
-+static struct omap_voltdm_pmic omap4_core_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12500,
- 	.on_volt		= 1100000,
-@@ -251,13 +251,13 @@ int __init omap4_twl_init(void)
- 		return -ENODEV;
- 
- 	voltdm = voltdm_lookup("mpu");
--	omap_voltage_register_pmic(voltdm, &omap4_mpu_volt_info);
-+	omap_voltage_register_pmic(voltdm, &omap4_mpu_pmic);
- 
- 	voltdm = voltdm_lookup("iva");
--	omap_voltage_register_pmic(voltdm, &omap4_iva_volt_info);
-+	omap_voltage_register_pmic(voltdm, &omap4_iva_pmic);
- 
- 	voltdm = voltdm_lookup("core");
--	omap_voltage_register_pmic(voltdm, &omap4_core_volt_info);
-+	omap_voltage_register_pmic(voltdm, &omap4_core_pmic);
- 
- 	return 0;
- }
-@@ -270,10 +270,10 @@ int __init omap3_twl_init(void)
- 		return -ENODEV;
- 
- 	if (cpu_is_omap3630()) {
--		omap3_mpu_volt_info.vp_vddmin = OMAP3630_VP1_VLIMITTO_VDDMIN;
--		omap3_mpu_volt_info.vp_vddmax = OMAP3630_VP1_VLIMITTO_VDDMAX;
--		omap3_core_volt_info.vp_vddmin = OMAP3630_VP2_VLIMITTO_VDDMIN;
--		omap3_core_volt_info.vp_vddmax = OMAP3630_VP2_VLIMITTO_VDDMAX;
-+		omap3_mpu_pmic.vp_vddmin = OMAP3630_VP1_VLIMITTO_VDDMIN;
-+		omap3_mpu_pmic.vp_vddmax = OMAP3630_VP1_VLIMITTO_VDDMAX;
-+		omap3_core_pmic.vp_vddmin = OMAP3630_VP2_VLIMITTO_VDDMIN;
-+		omap3_core_pmic.vp_vddmax = OMAP3630_VP2_VLIMITTO_VDDMAX;
- 	}
- 
- 	/*
-@@ -289,10 +289,10 @@ int __init omap3_twl_init(void)
- 		omap3_twl_set_sr_bit(true);
- 
- 	voltdm = voltdm_lookup("mpu_iva");
--	omap_voltage_register_pmic(voltdm, &omap3_mpu_volt_info);
-+	omap_voltage_register_pmic(voltdm, &omap3_mpu_pmic);
- 
- 	voltdm = voltdm_lookup("core");
--	omap_voltage_register_pmic(voltdm, &omap3_core_volt_info);
-+	omap_voltage_register_pmic(voltdm, &omap3_core_pmic);
- 
- 	return 0;
- }
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index e413b97..c431ca2 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -70,13 +70,13 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	vp_common = vdd->vp_data->vp_common;
- 
- 	/* Check if sufficient pmic info is available for this vdd */
--	if (!vdd->pmic_info) {
-+	if (!voltdm->pmic) {
- 		pr_err("%s: Insufficient pmic info to scale the vdd_%s\n",
- 			__func__, voltdm->name);
- 		return -EINVAL;
- 	}
- 
--	if (!vdd->pmic_info->uv_to_vsel) {
-+	if (!voltdm->pmic->uv_to_vsel) {
- 		pr_err("%s: PMIC function to convert voltage in uV to"
- 			"vsel not registered. Hence unable to scale voltage"
- 			"for vdd_%s\n", __func__, voltdm->name);
-@@ -94,7 +94,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	if (IS_ERR(volt_data))
- 		volt_data = NULL;
- 
--	*target_vsel = vdd->pmic_info->uv_to_vsel(target_volt);
-+	*target_vsel = voltdm->pmic->uv_to_vsel(target_volt);
- 	*current_vsel = voltdm->read(vdd->vp_data->voltage);
- 
- 	/* Setting the ON voltage to the new target voltage */
-@@ -125,8 +125,8 @@ void omap_vc_post_scale(struct voltagedomain *voltdm,
- 
- 	smps_steps = abs(target_vsel - current_vsel);
- 	/* SMPS slew rate / step size. 2us added as buffer. */
--	smps_delay = ((smps_steps * vdd->pmic_info->step_size) /
--			vdd->pmic_info->slew_rate) + 2;
-+	smps_delay = ((smps_steps * voltdm->pmic->step_size) /
-+			voltdm->pmic->slew_rate) + 2;
- 	udelay(smps_delay);
- 
- 	vdd->curr_volt = target_volt;
-@@ -231,11 +231,10 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u8 on_vsel, onlp_vsel, ret_vsel, off_vsel;
- 	u32 val;
- 
--	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
-+	if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) {
- 		pr_err("%s: PMIC info requried to configure vc for"
- 			"vdd_%s not populated.Hence cannot initialize vc\n",
- 			__func__, voltdm->name);
-@@ -251,10 +250,10 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	vc->cfg_channel = 0;
- 
- 	/* get PMIC/board specific settings */
--	vc->i2c_slave_addr = vdd->pmic_info->i2c_slave_addr;
--	vc->volt_reg_addr = vdd->pmic_info->volt_reg_addr;
--	vc->cmd_reg_addr = vdd->pmic_info->cmd_reg_addr;
--	vc->setup_time = vdd->pmic_info->volt_setup_time;
-+	vc->i2c_slave_addr = voltdm->pmic->i2c_slave_addr;
-+	vc->volt_reg_addr = voltdm->pmic->volt_reg_addr;
-+	vc->cmd_reg_addr = voltdm->pmic->cmd_reg_addr;
-+	vc->setup_time = voltdm->pmic->volt_setup_time;
- 
- 	/* Configure the i2c slave address for this VC */
- 	voltdm->rmw(vc->smps_sa_mask,
-@@ -278,10 +277,10 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	}
- 
- 	/* Set up the on, inactive, retention and off voltage */
--	on_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->on_volt);
--	onlp_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->onlp_volt);
--	ret_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->ret_volt);
--	off_vsel = vdd->pmic_info->uv_to_vsel(vdd->pmic_info->off_volt);
-+	on_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->on_volt);
-+	onlp_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->onlp_volt);
-+	ret_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->ret_volt);
-+	off_vsel = voltdm->pmic->uv_to_vsel(voltdm->pmic->off_volt);
- 	val = ((on_vsel << vc->common->cmd_on_shift) |
- 	       (onlp_vsel << vc->common->cmd_onlp_shift) |
- 	       (ret_vsel << vc->common->cmd_ret_shift) |
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 9f9f014..94f7fc4 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -84,20 +84,20 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 	vdd->vp_enabled = false;
- 
- 	vdd->vp_rt_data.vpconfig_erroroffset =
--		(vdd->pmic_info->vp_erroroffset <<
-+		(voltdm->pmic->vp_erroroffset <<
- 		 vdd->vp_data->vp_common->vpconfig_erroroffset_shift);
- 
--	timeout_val = (sys_clk_speed * vdd->pmic_info->vp_timeout_us) / 1000;
-+	timeout_val = (sys_clk_speed * voltdm->pmic->vp_timeout_us) / 1000;
- 	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
--	vdd->vp_rt_data.vlimitto_vddmin = vdd->pmic_info->vp_vddmin;
--	vdd->vp_rt_data.vlimitto_vddmax = vdd->pmic_info->vp_vddmax;
-+	vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin;
-+	vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax;
- 
--	waittime = ((vdd->pmic_info->step_size / vdd->pmic_info->slew_rate) *
-+	waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) *
- 				sys_clk_speed) / 1000;
- 	vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime;
- 	vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime;
--	vdd->vp_rt_data.vstepmin_stepmin = vdd->pmic_info->vp_vstepmin;
--	vdd->vp_rt_data.vstepmax_stepmax = vdd->pmic_info->vp_vstepmax;
-+	vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin;
-+	vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax;
- 
- 	return 0;
- }
-@@ -149,10 +149,9 @@ static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
- 
- static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- {
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	int ret = -EINVAL;
- 
--	if (!vdd->pmic_info) {
-+	if (!voltdm->pmic) {
- 		pr_err("%s: PMIC info requried to configure vdd_%s not"
- 			"populated.Hence cannot initialize vdd_%s\n",
- 			__func__, voltdm->name, voltdm->name);
-@@ -324,24 +323,20 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
-  * omap_voltage_register_pmic() - API to register PMIC specific data
-  * @voltdm:	pointer to the VDD for which the PMIC specific data is
-  *		to be registered
-- * @pmic_info:	the structure containing pmic info
-+ * @pmic:	the structure containing pmic info
-  *
-  * This API is to be called by the SOC/PMIC file to specify the
-- * pmic specific info as present in omap_volt_pmic_info structure.
-+ * pmic specific info as present in omap_voltdm_pmic structure.
-  */
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
--		struct omap_volt_pmic_info *pmic_info)
-+			       struct omap_voltdm_pmic *pmic)
- {
--	struct omap_vdd_info *vdd;
--
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return -EINVAL;
- 	}
- 
--	vdd = voltdm->vdd;
--
--	vdd->pmic_info = pmic_info;
-+	voltdm->pmic = pmic;
- 
- 	return 0;
- }
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 2b2ab56..72a0255 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -68,6 +68,7 @@ struct voltagedomain {
- 	struct list_head pwrdm_list;
- 	struct omap_vc_channel *vc;
- 	const struct omap_vfsm_instance *vfsm;
-+	struct omap_voltdm_pmic *pmic;
- 
- 	/* VC/VP register access functions: SoC specific */
- 	u32 (*read) (u8 offset);
-@@ -97,13 +98,13 @@ struct omap_volt_data {
- };
- 
- /**
-- * struct omap_volt_pmic_info - PMIC specific data required by voltage driver.
-+ * struct omap_voltdm_pmic - PMIC specific data required by voltage driver.
-  * @slew_rate:	PMIC slew rate (in uv/us)
-  * @step_size:	PMIC voltage step size (in uv)
-  * @vsel_to_uv:	PMIC API to convert vsel value to actual voltage in uV.
-  * @uv_to_vsel:	PMIC API to convert voltage in uV to vsel value.
-  */
--struct omap_volt_pmic_info {
-+struct omap_voltdm_pmic {
- 	int slew_rate;
- 	int step_size;
- 	u32 on_volt;
-@@ -129,8 +130,6 @@ struct omap_volt_pmic_info {
-  *
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-- * @pmic_info		: pmic specific parameters which should be populted by
-- *			  the pmic drivers.
-  * @vp_data		: the register values, shifts, masks for various
-  *			  vp registers
-  * @vp_rt_data          : VP data derived at runtime, not predefined
-@@ -141,7 +140,6 @@ struct omap_volt_pmic_info {
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
--	struct omap_volt_pmic_info *pmic_info;
- 	struct omap_vp_instance_data *vp_data;
- 	struct omap_vp_runtime_data vp_rt_data;
- 	struct dentry *debug_dir;
-@@ -163,13 +161,13 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
- struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
- #ifdef CONFIG_PM
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
--		struct omap_volt_pmic_info *pmic_info);
-+			       struct omap_voltdm_pmic *pmic);
- void omap_change_voltscale_method(struct voltagedomain *voltdm,
- 		int voltscale_method);
- int omap_voltage_late_init(void);
- #else
- static inline int omap_voltage_register_pmic(struct voltagedomain *voltdm,
--		struct omap_volt_pmic_info *pmic_info)
-+					     struct omap_voltdm_pmic *pmic)
- {
- 	return -EINVAL;
- }
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 88ac742..a3afcbe 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -18,7 +18,6 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 	u32 vpconfig;
- 	unsigned long uvdc;
- 	char vsel;
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 
- 	uvdc = omap_voltage_get_nom_volt(voltdm);
- 	if (!uvdc) {
-@@ -27,13 +26,13 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	if (!vdd->pmic_info || !vdd->pmic_info->uv_to_vsel) {
-+	if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) {
- 		pr_warning("%s: PMIC function to convert voltage in uV to"
- 			" vsel not registered\n", __func__);
- 		return;
- 	}
- 
--	vsel = vdd->pmic_info->uv_to_vsel(uvdc);
-+	vsel = voltdm->pmic->uv_to_vsel(uvdc);
- 
- 	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~(vp->vp_common->vpconfig_initvoltage_mask |
-@@ -206,13 +205,13 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 
- 	curr_vsel = voltdm->read(vp->voltage);
- 
--	if (!vdd->pmic_info || !vdd->pmic_info->vsel_to_uv) {
-+	if (!voltdm->pmic || !voltdm->pmic->vsel_to_uv) {
- 		pr_warning("%s: PMIC function to convert vsel to voltage"
- 			"in uV not registerd\n", __func__);
- 		return 0;
- 	}
- 
--	return vdd->pmic_info->vsel_to_uv(curr_vsel);
-+	return voltdm->pmic->vsel_to_uv(curr_vsel);
- }
- 
- /**
-@@ -323,13 +322,13 @@ static int vp_volt_debug_get(void *data, u64 *val)
- 
- 	vsel = voltdm->read(vp->voltage);
- 
--	if (!vdd->pmic_info->vsel_to_uv) {
-+	if (!voltdm->pmic->vsel_to_uv) {
- 		pr_warning("PMIC function to convert vsel to voltage"
- 			"in uV not registerd\n");
- 		return -EINVAL;
- 	}
- 
--	*val = vdd->pmic_info->vsel_to_uv(vsel);
-+	*val = voltdm->pmic->vsel_to_uv(vsel);
- 	return 0;
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0125-OMAP3-VC-make-I2C-config-programmable-with-PMIC-spec.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0125-OMAP3-VC-make-I2C-config-programmable-with-PMIC-spec.patch
deleted file mode 100644
index ee62874..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0125-OMAP3-VC-make-I2C-config-programmable-with-PMIC-spec.patch
+++ /dev/null
@@ -1,221 +0,0 @@
-From ecf26111e3d83dd4face7fa8f4327489775d1dc8 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Wed, 30 Mar 2011 16:36:30 -0700
-Subject: [PATCH 125/149] OMAP3+: VC: make I2C config programmable with PMIC-specific settings
-
-Remove hard-coded I2C configuration in favor of settings that can be
-configured from PMIC-specific values.  Currently only high-speed mode
-and the master-code value are supported, since they were the only
-fields currently used, but extending this is now trivial.
-
-Thanks to Nishanth Menon <nm at ti.com> for reporting/fixing a sparse
-problem and making omap_vc_i2c_init() static, as well as finding and
-fixing a problem with the shift/mask of mcode.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c    |    4 +++
- arch/arm/mach-omap2/vc.c          |   51 +++++++++++++++++++++++++++++++-----
- arch/arm/mach-omap2/vc.h          |    7 +++++
- arch/arm/mach-omap2/vc3xxx_data.c |    3 ++
- arch/arm/mach-omap2/vc44xx_data.c |    3 ++
- arch/arm/mach-omap2/voltage.h     |    4 +++
- 6 files changed, 65 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index e467d45..6b247d1 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -159,6 +159,7 @@ static struct omap_voltdm_pmic omap3_mpu_pmic = {
- 	.vp_timeout_us		= OMAP3_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP3_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP3_VDD_MPU_SR_CONTROL_REG,
-+	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl4030_vsel_to_uv,
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
-@@ -179,6 +180,7 @@ static struct omap_voltdm_pmic omap3_core_pmic = {
- 	.vp_timeout_us		= OMAP3_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP3_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP3_VDD_CORE_SR_CONTROL_REG,
-+	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl4030_vsel_to_uv,
- 	.uv_to_vsel		= twl4030_uv_to_vsel,
- };
-@@ -199,6 +201,7 @@ static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP4_VDD_MPU_SR_VOLT_REG,
-+	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
-@@ -219,6 +222,7 @@ static struct omap_voltdm_pmic omap4_iva_pmic = {
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP4_VDD_IVA_SR_VOLT_REG,
-+	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index c431ca2..97a4c6c 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -199,13 +199,6 @@ static void __init omap3_vc_init_channel(struct voltagedomain *voltdm)
- 	if (is_initialized)
- 		return;
- 
--	/*
--	 * Generic VC parameters init
--	 * XXX This data should be abstracted out
--	 */
--	voltdm->write(OMAP3430_MCODE_SHIFT | OMAP3430_HSEN_MASK,
--		       OMAP3_PRM_VC_I2C_CFG_OFFSET);
--
- 	omap3_vfsm_init(voltdm);
- 
- 	is_initialized = true;
-@@ -228,6 +221,48 @@ static void __init omap4_vc_init_channel(struct voltagedomain *voltdm)
- 	is_initialized = true;
- }
- 
-+/**
-+ * omap_vc_i2c_init - initialize I2C interface to PMIC
-+ * @voltdm: voltage domain containing VC data
-+ *
-+ * Use PMIC supplied seetings for I2C high-speed mode and
-+ * master code (if set) and program the VC I2C configuration
-+ * register.
-+ *
-+ * The VC I2C configuration is common to all VC channels,
-+ * so this function only configures I2C for the first VC
-+ * channel registers.  All other VC channels will use the
-+ * same configuration.
-+ */
-+static void __init omap_vc_i2c_init(struct voltagedomain *voltdm)
-+{
-+	struct omap_vc_channel *vc = voltdm->vc;
-+	static bool initialized;
-+	static bool i2c_high_speed;
-+	u8 mcode;
-+
-+	if (initialized) {
-+		if (voltdm->pmic->i2c_high_speed != i2c_high_speed)
-+			pr_warn("%s: I2C config for all channels must match.",
-+				__func__);
-+		return;
-+	}
-+
-+	i2c_high_speed = voltdm->pmic->i2c_high_speed;
-+	if (i2c_high_speed)
-+		voltdm->rmw(vc->common->i2c_cfg_hsen_mask,
-+			    vc->common->i2c_cfg_hsen_mask,
-+			    vc->common->i2c_cfg_reg);
-+
-+	mcode = voltdm->pmic->i2c_mcode;
-+	if (mcode)
-+		voltdm->rmw(vc->common->i2c_mcode_mask,
-+			    mcode << __ffs(vc->common->i2c_mcode_mask),
-+			    vc->common->i2c_cfg_reg);
-+
-+	initialized = true;
-+}
-+
- void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
-@@ -296,6 +331,8 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 		    vc->setup_time << __ffs(voltdm->vfsm->voltsetup_mask),
- 		    voltdm->vfsm->voltsetup_reg);
- 
-+	omap_vc_i2c_init(voltdm);
-+
- 	if (cpu_is_omap34xx())
- 		omap3_vc_init_channel(voltdm);
- 	else if (cpu_is_omap44xx())
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index 604f5b6..c577f28 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -35,6 +35,9 @@ struct voltagedomain;
-  * @cmd_onlp_shift: ONLP field shift in PRM_VC_CMD_VAL_* register
-  * @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register
-  * @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register
-+ * @i2c_cfg_reg: I2C configuration register offset
-+ * @i2c_cfg_hsen_mask: high-speed mode bit field mask in I2C config register
-+ * @i2c_mcode_mask: MCODE field mask for I2C config register
-  *
-  * XXX One of cmd_on_mask and cmd_on_shift are not needed
-  * XXX VALID should probably be a shift, not a mask
-@@ -54,6 +57,9 @@ struct omap_vc_common {
- 	u8 cmd_ret_shift;
- 	u8 cmd_off_shift;
- 	u8 cfg_channel_reg;
-+	u8 i2c_cfg_reg;
-+	u8 i2c_cfg_hsen_mask;
-+	u8 i2c_mcode_mask;
- };
- 
- /* omap_vc_channel.flags values */
-@@ -75,6 +81,7 @@ struct omap_vc_channel {
- 	u16 cmd_reg_addr;
- 	u16 setup_time;
- 	u8 cfg_channel;
-+	bool i2c_high_speed;
- 
- 	/* register access data */
- 	const struct omap_vc_common *common;
-diff --git a/arch/arm/mach-omap2/vc3xxx_data.c b/arch/arm/mach-omap2/vc3xxx_data.c
-index f4449eb..95d7701 100644
---- a/arch/arm/mach-omap2/vc3xxx_data.c
-+++ b/arch/arm/mach-omap2/vc3xxx_data.c
-@@ -44,6 +44,9 @@ static struct omap_vc_common omap3_vc_common = {
- 	.cmd_ret_shift	 = OMAP3430_VC_CMD_RET_SHIFT,
- 	.cmd_off_shift	 = OMAP3430_VC_CMD_OFF_SHIFT,
- 	.cfg_channel_reg = OMAP3_PRM_VC_CH_CONF_OFFSET,
-+	.i2c_cfg_hsen_mask = OMAP3430_HSEN_MASK,
-+	.i2c_cfg_reg	 = OMAP3_PRM_VC_I2C_CFG_OFFSET,
-+	.i2c_mcode_mask	 = OMAP3430_MCODE_MASK,
- };
- 
- struct omap_vc_channel omap3_vc_mpu = {
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index 1610bde..148be18 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -45,6 +45,9 @@ static const struct omap_vc_common omap4_vc_common = {
- 	.cmd_ret_shift = OMAP4430_RET_SHIFT,
- 	.cmd_off_shift = OMAP4430_OFF_SHIFT,
- 	.cfg_channel_reg = OMAP4_PRM_VC_CFG_CHANNEL_OFFSET,
-+	.i2c_cfg_reg = OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET,
-+	.i2c_cfg_hsen_mask = OMAP4430_HSMODEEN_MASK,
-+	.i2c_mcode_mask	 = OMAP4430_HSMCODE_MASK,
- };
- 
- /* VC instance data for each controllable voltage line */
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 72a0255..a0ae5c6 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -101,6 +101,8 @@ struct omap_volt_data {
-  * struct omap_voltdm_pmic - PMIC specific data required by voltage driver.
-  * @slew_rate:	PMIC slew rate (in uv/us)
-  * @step_size:	PMIC voltage step size (in uv)
-+ * @i2c_high_speed: whether VC uses I2C high-speed mode to PMIC
-+ * @i2c_mcode: master code value for I2C high-speed preamble transmission
-  * @vsel_to_uv:	PMIC API to convert vsel value to actual voltage in uV.
-  * @uv_to_vsel:	PMIC API to convert voltage in uV to vsel value.
-  */
-@@ -121,6 +123,8 @@ struct omap_voltdm_pmic {
- 	u8 vp_vddmin;
- 	u8 vp_vddmax;
- 	u8 vp_timeout_us;
-+	bool i2c_high_speed;
-+	u8 i2c_mcode;
- 	unsigned long (*vsel_to_uv) (const u8 vsel);
- 	u8 (*uv_to_vsel) (unsigned long uV);
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0126-OMAP3-PM-VC-handle-mutant-channel-config-for-OMAP4-M.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0126-OMAP3-PM-VC-handle-mutant-channel-config-for-OMAP4-M.patch
deleted file mode 100644
index f8b0fcb..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0126-OMAP3-PM-VC-handle-mutant-channel-config-for-OMAP4-M.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From dd6773950301f38c61e0039922c685f6e0542c47 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Thu, 2 Jun 2011 17:28:13 -0700
-Subject: [PATCH 126/149] OMAP3+: PM: VC: handle mutant channel config for OMAP4 MPU channel
-
-On OMAP3+, all VC channels have the the same bitfield ordering for all
-VC channels, except the OMAP4 MPU channel.  This appears to be a freak
-accident as all other VC channel (including OMAP5) have the standard
-configuration.  Handle the mutant case by adding a per-channel flag
-to signal the deformity and handle it during VC init.
-
-Special thanks to Nishanth Menon <nm at ti.com> for finding this problem
-and for proposing the initial solution.
-
-Cc: Nishanth Menon <nm at ti.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c          |   64 +++++++++++++++++++++++++++++-------
- arch/arm/mach-omap2/vc.h          |    1 +
- arch/arm/mach-omap2/vc44xx_data.c |    2 +-
- 3 files changed, 53 insertions(+), 14 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 97a4c6c..9e51782 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -10,17 +10,51 @@
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
- 
--/*
-- * Channel configuration bits, common for OMAP3 & 4
-+/**
-+ * struct omap_vc_channel_cfg - describe the cfg_channel bitfield
-+ * @sa: bit for slave address 
-+ * @rav: bit for voltage configuration register
-+ * @rac: bit for command configuration register	
-+ * @racen: enable bit for RAC
-+ * @cmd: bit for command value set selection
-+ *
-+ * Channel configuration bits, common for OMAP3+
-  * OMAP3 register: PRM_VC_CH_CONF
-  * OMAP4 register: PRM_VC_CFG_CHANNEL
-+ * OMAP5 register: PRM_VC_SMPS_<voltdm>_CONFIG
-  */
--#define CFG_CHANNEL_SA    BIT(0)
--#define CFG_CHANNEL_RAV   BIT(1)
--#define CFG_CHANNEL_RAC   BIT(2)
--#define CFG_CHANNEL_RACEN BIT(3)
--#define CFG_CHANNEL_CMD   BIT(4)
--#define CFG_CHANNEL_MASK 0x3f
-+struct omap_vc_channel_cfg {
-+	u8 sa;
-+	u8 rav;
-+	u8 rac;
-+	u8 racen;
-+	u8 cmd;
-+};
-+
-+static struct omap_vc_channel_cfg vc_default_channel_cfg = {
-+	.sa    = BIT(0),
-+	.rav   = BIT(1),
-+	.rac   = BIT(2),
-+	.racen = BIT(3),
-+	.cmd   = BIT(4),
-+};
-+
-+/*
-+ * On OMAP3+, all VC channels have the above default bitfield
-+ * configuration, except the OMAP4 MPU channel.  This appears
-+ * to be a freak accident as every other VC channel has the
-+ * default configuration, thus creating a mutant channel config.
-+ */
-+static struct omap_vc_channel_cfg vc_mutant_channel_cfg = {
-+	.sa    = BIT(0),
-+	.rav   = BIT(2),
-+	.rac   = BIT(3),
-+	.racen = BIT(4),
-+	.cmd   = BIT(1),
-+};
-+
-+static struct omap_vc_channel_cfg *vc_cfg_bits;
-+#define CFG_CHANNEL_MASK 0x1f
- 
- /**
-  * omap_vc_config_channel - configure VC channel to PMIC mappings
-@@ -47,7 +81,7 @@ static int omap_vc_config_channel(struct voltagedomain *voltdm)
- 	 * All others must stay at zero (see function comment above.)
- 	 */
- 	if (vc->flags & OMAP_VC_CHANNEL_DEFAULT)
--		vc->cfg_channel &= CFG_CHANNEL_RACEN;
-+		vc->cfg_channel &= vc_cfg_bits->racen;
- 
- 	voltdm->rmw(CFG_CHANNEL_MASK << vc->cfg_channel_sa_shift,
- 		    vc->cfg_channel << vc->cfg_channel_sa_shift,
-@@ -283,6 +317,10 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	}
- 
- 	vc->cfg_channel = 0;
-+	if (vc->flags & OMAP_VC_CHANNEL_CFG_MUTANT)
-+		vc_cfg_bits = &vc_mutant_channel_cfg;
-+	else
-+		vc_cfg_bits = &vc_default_channel_cfg;
- 
- 	/* get PMIC/board specific settings */
- 	vc->i2c_slave_addr = voltdm->pmic->i2c_slave_addr;
-@@ -294,7 +332,7 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	voltdm->rmw(vc->smps_sa_mask,
- 		    vc->i2c_slave_addr << __ffs(vc->smps_sa_mask),
- 		    vc->common->smps_sa_reg);
--	vc->cfg_channel |= CFG_CHANNEL_SA;
-+	vc->cfg_channel |= vc_cfg_bits->sa;
- 
- 	/*
- 	 * Configure the PMIC register addresses.
-@@ -302,13 +340,13 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	voltdm->rmw(vc->smps_volra_mask,
- 		    vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
- 		    vc->common->smps_volra_reg);
--	vc->cfg_channel |= CFG_CHANNEL_RAV;
-+	vc->cfg_channel |= vc_cfg_bits->rav;
- 
- 	if (vc->cmd_reg_addr) {
- 		voltdm->rmw(vc->smps_cmdra_mask,
- 			    vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
- 			    vc->common->smps_cmdra_reg);
--		vc->cfg_channel |= CFG_CHANNEL_RAC | CFG_CHANNEL_RACEN;
-+		vc->cfg_channel |= vc_cfg_bits->rac | vc_cfg_bits->racen;
- 	}
- 
- 	/* Set up the on, inactive, retention and off voltage */
-@@ -321,7 +359,7 @@ void __init omap_vc_init_channel(struct voltagedomain *voltdm)
- 	       (ret_vsel << vc->common->cmd_ret_shift) |
- 	       (off_vsel << vc->common->cmd_off_shift));
- 	voltdm->write(val, vc->cmdval_reg);
--	vc->cfg_channel |= CFG_CHANNEL_CMD;
-+	vc->cfg_channel |= vc_cfg_bits->cmd;
- 
- 	/* Channel configuration */
- 	omap_vc_config_channel(voltdm);
-diff --git a/arch/arm/mach-omap2/vc.h b/arch/arm/mach-omap2/vc.h
-index c577f28..ec50643 100644
---- a/arch/arm/mach-omap2/vc.h
-+++ b/arch/arm/mach-omap2/vc.h
-@@ -64,6 +64,7 @@ struct omap_vc_common {
- 
- /* omap_vc_channel.flags values */
- #define OMAP_VC_CHANNEL_DEFAULT BIT(0)
-+#define OMAP_VC_CHANNEL_CFG_MUTANT BIT(1)
- 
- /**
-  * struct omap_vc_channel - VC per-instance data
-diff --git a/arch/arm/mach-omap2/vc44xx_data.c b/arch/arm/mach-omap2/vc44xx_data.c
-index 148be18..0a4fc37 100644
---- a/arch/arm/mach-omap2/vc44xx_data.c
-+++ b/arch/arm/mach-omap2/vc44xx_data.c
-@@ -52,7 +52,7 @@ static const struct omap_vc_common omap4_vc_common = {
- 
- /* VC instance data for each controllable voltage line */
- struct omap_vc_channel omap4_vc_mpu = {
--	.flags = OMAP_VC_CHANNEL_DEFAULT,
-+	.flags = OMAP_VC_CHANNEL_DEFAULT | OMAP_VC_CHANNEL_CFG_MUTANT,
- 	.common = &omap4_vc_common,
- 	.cmdval_reg = OMAP4_PRM_VC_VAL_CMD_VDD_MPU_L_OFFSET,
- 	.smps_sa_mask = OMAP4430_SA_VDD_MPU_L_PRM_VC_SMPS_SA_MASK,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0127-OMAP3-VC-use-last-nominal-voltage-setting-to-get-cur.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0127-OMAP3-VC-use-last-nominal-voltage-setting-to-get-cur.patch
deleted file mode 100644
index 6992056..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0127-OMAP3-VC-use-last-nominal-voltage-setting-to-get-cur.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a8ee49ce71fcdf4e85720adabe9aeed2850678cc Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 18 Jul 2011 15:31:00 -0700
-Subject: [PATCH 127/149] OMAP3+: VC: use last nominal voltage setting to get current_vsel
-
-Instead of reading current vsel value from the VP's voltage register,
-just use current nominal voltage translated into vsel via the PMIC.
-
-Doing this allows VC bypass scaling to work even without a VP configured.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 9e51782..cee8fba 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -129,7 +129,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		volt_data = NULL;
- 
- 	*target_vsel = voltdm->pmic->uv_to_vsel(target_volt);
--	*current_vsel = voltdm->read(vdd->vp_data->voltage);
-+	*current_vsel = voltdm->pmic->uv_to_vsel(vdd->curr_volt);
- 
- 	/* Setting the ON voltage to the new target voltage */
- 	vc_cmdval = voltdm->read(vc->cmdval_reg);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0128-OMAP3-VP-cleanup-move-VP-instance-into-voltdm-misc.-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0128-OMAP3-VP-cleanup-move-VP-instance-into-voltdm-misc.-.patch
deleted file mode 100644
index 1b153ca..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0128-OMAP3-VP-cleanup-move-VP-instance-into-voltdm-misc.-.patch
+++ /dev/null
@@ -1,643 +0,0 @@
-From 00a526b77cb5b54dbf2086c63936629845b7f980 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 4 Apr 2011 15:25:07 -0700
-Subject: [PATCH 128/149] OMAP3+: VP: cleanup: move VP instance into voltdm, misc. renames
-
-- move VP instance struct from vdd_info into struct voltage domain
-- remove _data suffix from structure name
-- rename vp_ prefix from vp_common field: accesses are now vp->common
-- move vp_enabled bool from vdd_info into VP instance
-- remove remaining references to omap_vdd_info
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c                      |   11 +--
- arch/arm/mach-omap2/voltage.c                 |    4 +-
- arch/arm/mach-omap2/voltage.h                 |    6 +--
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |   10 +--
- arch/arm/mach-omap2/voltagedomains44xx_data.c |   15 ++---
- arch/arm/mach-omap2/vp.c                      |   88 ++++++++++++-------------
- arch/arm/mach-omap2/vp.h                      |   24 ++++---
- arch/arm/mach-omap2/vp3xxx_data.c             |   10 ++--
- arch/arm/mach-omap2/vp44xx_data.c             |   14 ++--
- 9 files changed, 83 insertions(+), 99 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index cee8fba..7058585 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -98,11 +98,8 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	struct omap_vc_channel *vc = voltdm->vc;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	struct omap_volt_data *volt_data;
--	const struct omap_vp_common_data *vp_common;
- 	u32 vc_cmdval, vp_errgain_val;
- 
--	vp_common = vdd->vp_data->vp_common;
--
- 	/* Check if sufficient pmic info is available for this vdd */
- 	if (!voltdm->pmic) {
- 		pr_err("%s: Insufficient pmic info to scale the vdd_%s\n",
-@@ -139,12 +136,12 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 
- 	/* Setting vp errorgain based on the voltage */
- 	if (volt_data) {
--		vp_errgain_val = voltdm->read(vdd->vp_data->vpconfig);
-+		vp_errgain_val = voltdm->read(voltdm->vp->vpconfig);
- 		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
--		vp_errgain_val &= ~vp_common->vpconfig_errorgain_mask;
-+		vp_errgain_val &= voltdm->vp->common->vpconfig_errorgain_mask;
- 		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
--			vp_common->vpconfig_errorgain_shift;
--		voltdm->write(vp_errgain_val, vdd->vp_data->vpconfig);
-+			voltdm->vp->common->vpconfig_errorgain_shift;
-+		voltdm->write(vp_errgain_val, voltdm->vp->vpconfig);
- 	}
- 
- 	return 0;
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 94f7fc4..c22b53c 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -81,11 +81,11 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 
- 	/* Generic voltage parameters */
- 	vdd->volt_scale = omap_vp_forceupdate_scale;
--	vdd->vp_enabled = false;
-+	voltdm->vp->enabled = false;
- 
- 	vdd->vp_rt_data.vpconfig_erroroffset =
- 		(voltdm->pmic->vp_erroroffset <<
--		 vdd->vp_data->vp_common->vpconfig_erroroffset_shift);
-+		 voltdm->vp->common->vpconfig_erroroffset_shift);
- 
- 	timeout_val = (sys_clk_speed * voltdm->pmic->vp_timeout_us) / 1000;
- 	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index a0ae5c6..65f94c7 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -68,6 +68,7 @@ struct voltagedomain {
- 	struct list_head pwrdm_list;
- 	struct omap_vc_channel *vc;
- 	const struct omap_vfsm_instance *vfsm;
-+	struct omap_vp_instance *vp;
- 	struct omap_voltdm_pmic *pmic;
- 
- 	/* VC/VP register access functions: SoC specific */
-@@ -134,21 +135,16 @@ struct omap_voltdm_pmic {
-  *
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-- * @vp_data		: the register values, shifts, masks for various
-- *			  vp registers
-  * @vp_rt_data          : VP data derived at runtime, not predefined
-  * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-- * @vp_enabled		: flag to keep track of whether vp is enabled or not
-  * @volt_scale		: API to scale the voltage of the vdd.
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
--	struct omap_vp_instance_data *vp_data;
- 	struct omap_vp_runtime_data vp_rt_data;
- 	struct dentry *debug_dir;
- 	u32 curr_volt;
--	bool vp_enabled;
- 
- 	int (*volt_scale) (struct voltagedomain *voltdm,
- 		unsigned long target_volt);
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 4ea9a7b..4db2c6c 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -37,9 +37,7 @@ static const struct omap_vfsm_instance omap3_vdd1_vfsm = {
- 	.voltsetup_mask = OMAP3430_SETUP_TIME1_MASK,
- };
- 
--static struct omap_vdd_info omap3_vdd1_info = {
--	.vp_data = &omap3_vp1_data,
--};
-+static struct omap_vdd_info omap3_vdd1_info;
- 
- static const struct omap_vfsm_instance omap3_vdd2_vfsm = {
- 	.voltsetup_reg = OMAP3_PRM_VOLTSETUP1_OFFSET,
-@@ -47,9 +45,7 @@ static const struct omap_vfsm_instance omap3_vdd2_vfsm = {
- 	.voltsetup_mask = OMAP3430_SETUP_TIME2_MASK,
- };
- 
--static struct omap_vdd_info omap3_vdd2_info = {
--	.vp_data = &omap3_vp2_data,
--};
-+static struct omap_vdd_info omap3_vdd2_info;
- 
- static struct voltagedomain omap3_voltdm_mpu = {
- 	.name = "mpu_iva",
-@@ -59,6 +55,7 @@ static struct voltagedomain omap3_voltdm_mpu = {
- 	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_mpu,
- 	.vfsm = &omap3_vdd1_vfsm,
-+	.vp = &omap3_vp_mpu,
- 	.vdd = &omap3_vdd1_info,
- };
- 
-@@ -70,6 +67,7 @@ static struct voltagedomain omap3_voltdm_core = {
- 	.rmw = omap3_prm_vcvp_rmw,
- 	.vc = &omap3_vc_core,
- 	.vfsm = &omap3_vdd2_vfsm,
-+	.vp = &omap3_vp_core,
- 	.vdd = &omap3_vdd2_info,
- };
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index dd4bd22..3e7cb4e 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -36,25 +36,19 @@ static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_mpu_info = {
--	.vp_data = &omap4_vp_mpu_data,
--};
-+static struct omap_vdd_info omap4_vdd_mpu_info;
- 
- static const struct omap_vfsm_instance omap4_vdd_iva_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_IVA_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_iva_info = {
--	.vp_data = &omap4_vp_iva_data,
--};
-+static struct omap_vdd_info omap4_vdd_iva_info;
- 
- static const struct omap_vfsm_instance omap4_vdd_core_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_core_info = {
--	.vp_data = &omap4_vp_core_data,
--};
-+static struct omap_vdd_info omap4_vdd_core_info;
- 
- static struct voltagedomain omap4_voltdm_mpu = {
- 	.name = "mpu",
-@@ -64,6 +58,7 @@ static struct voltagedomain omap4_voltdm_mpu = {
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_mpu,
- 	.vfsm = &omap4_vdd_mpu_vfsm,
-+	.vp = &omap4_vp_mpu,
- 	.vdd = &omap4_vdd_mpu_info,
- };
- 
-@@ -75,6 +70,7 @@ static struct voltagedomain omap4_voltdm_iva = {
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_iva,
- 	.vfsm = &omap4_vdd_iva_vfsm,
-+	.vp = &omap4_vp_iva,
- 	.vdd = &omap4_vdd_iva_info,
- };
- 
-@@ -86,6 +82,7 @@ static struct voltagedomain omap4_voltdm_core = {
- 	.rmw = omap4_prm_vcvp_rmw,
- 	.vc = &omap4_vc_core,
- 	.vfsm = &omap4_vdd_core_vfsm,
-+	.vp = &omap4_vp_core,
- 	.vdd = &omap4_vdd_core_info,
- };
- 
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index a3afcbe..53d6018 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -14,7 +14,7 @@ static void __init vp_debugfs_init(struct voltagedomain *voltdm);
- 
- static void vp_latch_vsel(struct voltagedomain *voltdm)
- {
--	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vp_instance *vp = voltdm->vp;
- 	u32 vpconfig;
- 	unsigned long uvdc;
- 	char vsel;
-@@ -35,14 +35,14 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 	vsel = voltdm->pmic->uv_to_vsel(uvdc);
- 
- 	vpconfig = voltdm->read(vp->vpconfig);
--	vpconfig &= ~(vp->vp_common->vpconfig_initvoltage_mask |
--			vp->vp_common->vpconfig_initvdd);
--	vpconfig |= vsel << vp->vp_common->vpconfig_initvoltage_shift;
-+	vpconfig &= ~(vp->common->vpconfig_initvoltage_mask |
-+			vp->common->vpconfig_initvdd);
-+	vpconfig |= vsel << vp->common->vpconfig_initvoltage_shift;
- 
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
--	voltdm->write((vpconfig | vp->vp_common->vpconfig_initvdd),
-+	voltdm->write((vpconfig | vp->common->vpconfig_initvdd),
- 		       vp->vpconfig);
- 
- 	/* Clear initVDD copy trigger bit */
-@@ -52,7 +52,7 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- /* Generic voltage init functions */
- void __init omap_vp_init(struct voltagedomain *voltdm)
- {
--	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vp_instance *vp = voltdm->vp;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 vp_val;
- 
-@@ -64,28 +64,28 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 
- 	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
- 		(vdd->vp_rt_data.vpconfig_errorgain <<
--		vp->vp_common->vpconfig_errorgain_shift) |
--		vp->vp_common->vpconfig_timeouten;
-+		vp->common->vpconfig_errorgain_shift) |
-+		vp->common->vpconfig_timeouten;
- 	voltdm->write(vp_val, vp->vpconfig);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
--		vp->vp_common->vstepmin_smpswaittimemin_shift) |
-+		vp->common->vstepmin_smpswaittimemin_shift) |
- 		(vdd->vp_rt_data.vstepmin_stepmin <<
--		vp->vp_common->vstepmin_stepmin_shift));
-+		vp->common->vstepmin_stepmin_shift));
- 	voltdm->write(vp_val, vp->vstepmin);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
--		vp->vp_common->vstepmax_smpswaittimemax_shift) |
-+		vp->common->vstepmax_smpswaittimemax_shift) |
- 		(vdd->vp_rt_data.vstepmax_stepmax <<
--		vp->vp_common->vstepmax_stepmax_shift));
-+		vp->common->vstepmax_stepmax_shift));
- 	voltdm->write(vp_val, vp->vstepmax);
- 
- 	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
--		vp->vp_common->vlimitto_vddmax_shift) |
-+		vp->common->vlimitto_vddmax_shift) |
- 		(vdd->vp_rt_data.vlimitto_vddmin <<
--		vp->vp_common->vlimitto_vddmin_shift) |
-+		vp->common->vlimitto_vddmin_shift) |
- 		(vdd->vp_rt_data.vlimitto_timeout <<
--		vp->vp_common->vlimitto_timeout_shift));
-+		vp->common->vlimitto_timeout_shift));
- 	voltdm->write(vp_val, vp->vlimitto);
- 
- 	vp_debugfs_init(voltdm);
-@@ -95,7 +95,7 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			      unsigned long target_volt)
- {
--	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vp_instance *vp = voltdm->vp;
- 	u32 vpconfig;
- 	u8 target_vsel, current_vsel;
- 	int ret, timeout = 0;
-@@ -109,8 +109,8 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 * is <3us
- 	 */
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vp->vp_common->ops->clear_txdone(vp->id);
--		if (!vp->vp_common->ops->check_txdone(vp->id))
-+		vp->common->ops->clear_txdone(vp->id);
-+		if (!vp->common->ops->check_txdone(vp->id))
- 			break;
- 		udelay(1);
- 	}
-@@ -122,19 +122,19 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 
- 	/* Configure for VP-Force Update */
- 	vpconfig = voltdm->read(vp->vpconfig);
--	vpconfig &= ~(vp->vp_common->vpconfig_initvdd |
--			vp->vp_common->vpconfig_forceupdate |
--			vp->vp_common->vpconfig_initvoltage_mask);
-+	vpconfig &= ~(vp->common->vpconfig_initvdd |
-+			vp->common->vpconfig_forceupdate |
-+			vp->common->vpconfig_initvoltage_mask);
- 	vpconfig |= ((target_vsel <<
--			vp->vp_common->vpconfig_initvoltage_shift));
-+			vp->common->vpconfig_initvoltage_shift));
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
--	vpconfig |= vp->vp_common->vpconfig_initvdd;
-+	vpconfig |= vp->common->vpconfig_initvdd;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Force update of voltage */
--	vpconfig |= vp->vp_common->vpconfig_forceupdate;
-+	vpconfig |= vp->common->vpconfig_forceupdate;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/*
-@@ -142,7 +142,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 * Depends on SMPSWAITTIMEMIN/MAX and voltage change
- 	 */
- 	timeout = 0;
--	omap_test_timeout(vp->vp_common->ops->check_txdone(vp->id),
-+	omap_test_timeout(vp->common->ops->check_txdone(vp->id),
- 			  VP_TRANXDONE_TIMEOUT, timeout);
- 	if (timeout >= VP_TRANXDONE_TIMEOUT)
- 		pr_err("%s: vdd_%s TRANXDONE timeout exceeded."
-@@ -157,8 +157,8 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 	 */
- 	timeout = 0;
- 	while (timeout++ < VP_TRANXDONE_TIMEOUT) {
--		vp->vp_common->ops->clear_txdone(vp->id);
--		if (!vp->vp_common->ops->check_txdone(vp->id))
-+		vp->common->ops->clear_txdone(vp->id);
-+		if (!vp->common->ops->check_txdone(vp->id))
- 			break;
- 		udelay(1);
- 	}
-@@ -170,10 +170,10 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 
- 	vpconfig = voltdm->read(vp->vpconfig);
- 	/* Clear initVDD copy trigger bit */
--	vpconfig &= ~vp->vp_common->vpconfig_initvdd;
-+	vpconfig &= ~vp->common->vpconfig_initvdd;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 	/* Clear force bit */
--	vpconfig &= ~vp->vp_common->vpconfig_forceupdate;
-+	vpconfig &= ~vp->common->vpconfig_forceupdate;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	return 0;
-@@ -187,8 +187,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
-  */
- unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- {
--	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
--	struct omap_vdd_info *vdd;
-+	struct omap_vp_instance *vp = voltdm->vp;
- 	u8 curr_vsel;
- 
- 	if (!voltdm || IS_ERR(voltdm)) {
-@@ -196,7 +195,6 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 		return 0;
- 	}
- 
--	vdd = voltdm->vdd;
- 	if (!voltdm->read) {
- 		pr_err("%s: No read API for reading vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -223,8 +221,7 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
-  */
- void omap_vp_enable(struct voltagedomain *voltdm)
- {
--	struct omap_vp_instance_data *vp;
--	struct omap_vdd_info *vdd;
-+	struct omap_vp_instance *vp;
- 	u32 vpconfig;
- 
- 	if (!voltdm || IS_ERR(voltdm)) {
-@@ -232,8 +229,7 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	vdd = voltdm->vdd;
--	vp = voltdm->vdd->vp_data;
-+	vp = voltdm->vp;
- 	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -241,16 +237,16 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 	}
- 
- 	/* If VP is already enabled, do nothing. Return */
--	if (vdd->vp_enabled)
-+	if (vp->enabled)
- 		return;
- 
- 	vp_latch_vsel(voltdm);
- 
- 	/* Enable VP */
- 	vpconfig = voltdm->read(vp->vpconfig);
--	vpconfig |= vp->vp_common->vpconfig_vpenable;
-+	vpconfig |= vp->common->vpconfig_vpenable;
- 	voltdm->write(vpconfig, vp->vpconfig);
--	vdd->vp_enabled = true;
-+	vp->enabled = true;
- }
- 
- /**
-@@ -262,8 +258,7 @@ void omap_vp_enable(struct voltagedomain *voltdm)
-  */
- void omap_vp_disable(struct voltagedomain *voltdm)
- {
--	struct omap_vp_instance_data *vp;
--	struct omap_vdd_info *vdd;
-+	struct omap_vp_instance *vp;
- 	u32 vpconfig;
- 	int timeout;
- 
-@@ -272,8 +267,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	vdd = voltdm->vdd;
--	vp = voltdm->vdd->vp_data;
-+	vp = voltdm->vp;
- 	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
- 			__func__, voltdm->name);
-@@ -281,7 +275,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 	}
- 
- 	/* If VP is already disabled, do nothing. Return */
--	if (!vdd->vp_enabled) {
-+	if (!vp->enabled) {
- 		pr_warning("%s: Trying to disable VP for vdd_%s when"
- 			"it is already disabled\n", __func__, voltdm->name);
- 		return;
-@@ -289,7 +283,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 
- 	/* Disable VP */
- 	vpconfig = voltdm->read(vp->vpconfig);
--	vpconfig &= ~vp->vp_common->vpconfig_vpenable;
-+	vpconfig &= ~vp->common->vpconfig_vpenable;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/*
-@@ -302,7 +296,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 		pr_warning("%s: vdd_%s idle timedout\n",
- 			__func__, voltdm->name);
- 
--	vdd->vp_enabled = false;
-+	vp->enabled = false;
- 
- 	return;
- }
-@@ -311,7 +305,7 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- static int vp_volt_debug_get(void *data, u64 *val)
- {
- 	struct voltagedomain *voltdm = (struct voltagedomain *)data;
--	struct omap_vp_instance_data *vp = voltdm->vdd->vp_data;
-+	struct omap_vp_instance *vp = voltdm->vp;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u8 vsel;
- 
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 79aa8d3..1d63960 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -45,7 +45,7 @@ struct omap_vp_ops {
- };
- 
- /**
-- * struct omap_vp_common_data - register data common to all VDDs
-+ * struct omap_vp_common - register data common to all VDDs
-  * @vpconfig_errorgain_mask: ERRORGAIN bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_initvoltage_mask: INITVOLTAGE bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_timeouten_mask: TIMEOUT bitmask in the PRM_VP*_CONFIG reg
-@@ -67,7 +67,7 @@ struct omap_vp_ops {
-  *     bitfield - remove one
-  * XXX Many of these fields are wrongly named -- e.g., vpconfig_smps* -- fix!
-  */
--struct omap_vp_common_data {
-+struct omap_vp_common {
- 	u32 vpconfig_errorgain_mask;
- 	u32 vpconfig_initvoltage_mask;
- 	u32 vpconfig_timeouten;
-@@ -89,18 +89,19 @@ struct omap_vp_common_data {
- };
- 
- /**
-- * struct omap_vp_instance_data - VP register offsets (per-VDD)
-- * @vp_common: pointer to struct omap_vp_common_data * for this SoC
-+ * struct omap_vp_instance - VP register offsets (per-VDD)
-+ * @common: pointer to struct omap_vp_common * for this SoC
-  * @vpconfig: PRM_VP*_CONFIG reg offset from PRM start
-  * @vstepmin: PRM_VP*_VSTEPMIN reg offset from PRM start
-  * @vlimitto: PRM_VP*_VLIMITTO reg offset from PRM start
-  * @vstatus: PRM_VP*_VSTATUS reg offset from PRM start
-  * @voltage: PRM_VP*_VOLTAGE reg offset from PRM start
-+ * @enabled: flag to keep track of whether vp is enabled or not
-  *
-  * XXX vp_common is probably not needed since it is per-SoC
-  */
--struct omap_vp_instance_data {
--	const struct omap_vp_common_data *vp_common;
-+struct omap_vp_instance {
-+	const struct omap_vp_common *common;
- 	u8 vpconfig;
- 	u8 vstepmin;
- 	u8 vstepmax;
-@@ -108,6 +109,7 @@ struct omap_vp_instance_data {
- 	u8 vstatus;
- 	u8 voltage;
- 	u8 id;
-+	bool enabled;
- };
- 
- /**
-@@ -139,12 +141,12 @@ struct omap_vp_runtime_data {
- 	u8 vlimitto_vddmax;
- };
- 
--extern struct omap_vp_instance_data omap3_vp1_data;
--extern struct omap_vp_instance_data omap3_vp2_data;
-+extern struct omap_vp_instance omap3_vp_mpu;
-+extern struct omap_vp_instance omap3_vp_core;
- 
--extern struct omap_vp_instance_data omap4_vp_mpu_data;
--extern struct omap_vp_instance_data omap4_vp_iva_data;
--extern struct omap_vp_instance_data omap4_vp_core_data;
-+extern struct omap_vp_instance omap4_vp_mpu;
-+extern struct omap_vp_instance omap4_vp_iva;
-+extern struct omap_vp_instance omap4_vp_core;
- 
- void omap_vp_init(struct voltagedomain *voltdm);
- void omap_vp_enable(struct voltagedomain *voltdm);
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index b01d333..79c3df9 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -36,7 +36,7 @@ static const struct omap_vp_ops omap3_vp_ops = {
-  * VP data common to 34xx/36xx chips
-  * XXX This stuff presumably belongs in the vp3xxx.c or vp.c file.
-  */
--static const struct omap_vp_common_data omap3_vp_common = {
-+static const struct omap_vp_common omap3_vp_common = {
- 	.vpconfig_erroroffset_shift = OMAP3430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP3430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP3430_ERRORGAIN_SHIFT,
-@@ -56,9 +56,9 @@ static const struct omap_vp_common_data omap3_vp_common = {
- 	.ops = &omap3_vp_ops,
- };
- 
--struct omap_vp_instance_data omap3_vp1_data = {
-+struct omap_vp_instance omap3_vp_mpu = {
- 	.id = OMAP3_VP_VDD_MPU_ID,
--	.vp_common = &omap3_vp_common,
-+	.common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP1_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP1_VSTEPMIN_OFFSET,
- 	.vstepmax = OMAP3_PRM_VP1_VSTEPMAX_OFFSET,
-@@ -67,9 +67,9 @@ struct omap_vp_instance_data omap3_vp1_data = {
- 	.voltage = OMAP3_PRM_VP1_VOLTAGE_OFFSET,
- };
- 
--struct omap_vp_instance_data omap3_vp2_data = {
-+struct omap_vp_instance omap3_vp_core = {
- 	.id = OMAP3_VP_VDD_CORE_ID,
--	.vp_common = &omap3_vp_common,
-+	.common = &omap3_vp_common,
- 	.vpconfig = OMAP3_PRM_VP2_CONFIG_OFFSET,
- 	.vstepmin = OMAP3_PRM_VP2_VSTEPMIN_OFFSET,
- 	.vstepmax = OMAP3_PRM_VP2_VSTEPMAX_OFFSET,
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 9704c7b..8f75cd9 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -36,7 +36,7 @@ static const struct omap_vp_ops omap4_vp_ops = {
-  * VP data common to 44xx chips
-  * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
-  */
--static const struct omap_vp_common_data omap4_vp_common = {
-+static const struct omap_vp_common omap4_vp_common = {
- 	.vpconfig_erroroffset_shift = OMAP4430_ERROROFFSET_SHIFT,
- 	.vpconfig_errorgain_mask = OMAP4430_ERRORGAIN_MASK,
- 	.vpconfig_errorgain_shift = OMAP4430_ERRORGAIN_SHIFT,
-@@ -56,9 +56,9 @@ static const struct omap_vp_common_data omap4_vp_common = {
- 	.ops = &omap4_vp_ops,
- };
- 
--struct omap_vp_instance_data omap4_vp_mpu_data = {
-+struct omap_vp_instance omap4_vp_mpu = {
- 	.id = OMAP4_VP_VDD_MPU_ID,
--	.vp_common = &omap4_vp_common,
-+	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_MPU_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_MPU_VSTEPMIN_OFFSET,
- 	.vstepmax = OMAP4_PRM_VP_MPU_VSTEPMAX_OFFSET,
-@@ -67,9 +67,9 @@ struct omap_vp_instance_data omap4_vp_mpu_data = {
- 	.voltage = OMAP4_PRM_VP_MPU_VOLTAGE_OFFSET,
- };
- 
--struct omap_vp_instance_data omap4_vp_iva_data = {
-+struct omap_vp_instance omap4_vp_iva = {
- 	.id = OMAP4_VP_VDD_IVA_ID,
--	.vp_common = &omap4_vp_common,
-+	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_IVA_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_IVA_VSTEPMIN_OFFSET,
- 	.vstepmax = OMAP4_PRM_VP_IVA_VSTEPMAX_OFFSET,
-@@ -78,9 +78,9 @@ struct omap_vp_instance_data omap4_vp_iva_data = {
- 	.voltage = OMAP4_PRM_VP_IVA_VOLTAGE_OFFSET,
- };
- 
--struct omap_vp_instance_data omap4_vp_core_data = {
-+struct omap_vp_instance omap4_vp_core = {
- 	.id = OMAP4_VP_VDD_CORE_ID,
--	.vp_common = &omap4_vp_common,
-+	.common = &omap4_vp_common,
- 	.vpconfig = OMAP4_PRM_VP_CORE_CONFIG_OFFSET,
- 	.vstepmin = OMAP4_PRM_VP_CORE_VSTEPMIN_OFFSET,
- 	.vstepmax = OMAP4_PRM_VP_CORE_VSTEPMAX_OFFSET,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0129-OMAP3-voltage-remove-unneeded-debugfs-interface.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0129-OMAP3-voltage-remove-unneeded-debugfs-interface.patch
deleted file mode 100644
index fe5139f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0129-OMAP3-voltage-remove-unneeded-debugfs-interface.patch
+++ /dev/null
@@ -1,317 +0,0 @@
-From fc1db2a579514eb36f5091b656133a6a9c2cbc0d Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 5 Apr 2011 14:39:11 -0700
-Subject: [PATCH 129/149] OMAP3+: voltage: remove unneeded debugfs interface
-
-Remove read-only debugfs interface to VP values.  Most of the values
-are init-time only and never change.  Current voltage value should be
-retreived from the (eventual) regulator framework interface to the
-voltage domain.
-
-Fixes to original version provided by Nishanth Menon <nm at ti.com>
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex.c |   29 +++++++++-----
- arch/arm/mach-omap2/voltage.c     |   78 -------------------------------------
- arch/arm/mach-omap2/voltage.h     |    3 -
- arch/arm/mach-omap2/vp.c          |   63 -----------------------------
- 4 files changed, 19 insertions(+), 154 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex.c b/arch/arm/mach-omap2/smartreflex.c
-index be6add0..edb94f2 100644
---- a/arch/arm/mach-omap2/smartreflex.c
-+++ b/arch/arm/mach-omap2/smartreflex.c
-@@ -62,6 +62,7 @@ static LIST_HEAD(sr_list);
- 
- static struct omap_sr_class_data *sr_class;
- static struct omap_sr_pmic_data *sr_pmic_data;
-+static struct dentry		*sr_dbg_dir;
- 
- static inline void sr_write_reg(struct omap_sr *sr, unsigned offset, u32 value)
- {
-@@ -826,9 +827,10 @@ static int __init omap_sr_probe(struct platform_device *pdev)
- 	struct omap_sr *sr_info = kzalloc(sizeof(struct omap_sr), GFP_KERNEL);
- 	struct omap_sr_data *pdata = pdev->dev.platform_data;
- 	struct resource *mem, *irq;
--	struct dentry *vdd_dbg_dir, *nvalue_dir;
-+	struct dentry *nvalue_dir;
- 	struct omap_volt_data *volt_data;
- 	int i, ret = 0;
-+	char *name;
- 
- 	if (!sr_info) {
- 		dev_err(&pdev->dev, "%s: unable to allocate sr_info\n",
-@@ -898,18 +900,25 @@ static int __init omap_sr_probe(struct platform_device *pdev)
- 	}
- 
- 	dev_info(&pdev->dev, "%s: SmartReflex driver initialized\n", __func__);
-+	if (!sr_dbg_dir) {
-+		sr_dbg_dir = debugfs_create_dir("smartreflex", NULL);
-+		if (!sr_dbg_dir) {
-+			ret = PTR_ERR(sr_dbg_dir);
-+			pr_err("%s:sr debugfs dir creation failed(%d)\n",
-+				__func__, ret);
-+			goto err_iounmap;
-+		}
-+	}
- 
--	/*
--	 * If the voltage domain debugfs directory is not created, do
--	 * not try to create rest of the debugfs entries.
--	 */
--	vdd_dbg_dir = omap_voltage_get_dbgdir(sr_info->voltdm);
--	if (!vdd_dbg_dir) {
--		ret = -EINVAL;
-+	name = kasprintf(GFP_KERNEL, "sr_%s", sr_info->voltdm->name);
-+	if (!name) {
-+		dev_err(&pdev->dev, "%s: Unable to alloc debugfs name\n",
-+			__func__);
-+		ret = -ENOMEM;
- 		goto err_iounmap;
- 	}
--
--	sr_info->dbg_dir = debugfs_create_dir("smartreflex", vdd_dbg_dir);
-+	sr_info->dbg_dir = debugfs_create_dir(name, sr_dbg_dir);
-+	kfree(name);
- 	if (IS_ERR(sr_info->dbg_dir)) {
- 		dev_err(&pdev->dev, "%s: Unable to create debugfs directory\n",
- 			__func__);
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index c22b53c..eaa5f93 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -43,9 +43,6 @@
- 
- static LIST_HEAD(voltdm_list);
- 
--#define VOLTAGE_DIR_SIZE	16
--static struct dentry *voltage_dir;
--
- static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
- 	char *sys_ck_name;
-@@ -102,51 +99,6 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 	return 0;
- }
- 
--static int nom_volt_debug_get(void *data, u64 *val)
--{
--	struct voltagedomain *voltdm = (struct voltagedomain *)data;
--
--	if (!voltdm) {
--		pr_warning("Wrong paramater passed\n");
--		return -EINVAL;
--	}
--
--	*val = omap_voltage_get_nom_volt(voltdm);
--
--	return 0;
--}
--
--DEFINE_SIMPLE_ATTRIBUTE(nom_volt_debug_fops, nom_volt_debug_get, NULL,
--								"%llu\n");
--static void __init vdd_debugfs_init(struct voltagedomain *voltdm)
--{
--	char *name;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--
--	name = kzalloc(VOLTAGE_DIR_SIZE, GFP_KERNEL);
--	if (!name) {
--		pr_warning("%s: Unable to allocate memory for debugfs"
--			" directory name for vdd_%s",
--			__func__, voltdm->name);
--		return;
--	}
--	strcpy(name, "vdd_");
--	strcat(name, voltdm->name);
--
--	vdd->debug_dir = debugfs_create_dir(name, voltage_dir);
--	kfree(name);
--	if (IS_ERR(vdd->debug_dir)) {
--		pr_warning("%s: Unable to create debugfs directory for"
--			" vdd_%s\n", __func__, voltdm->name);
--		vdd->debug_dir = NULL;
--		return;
--	}
--
--	(void) debugfs_create_file("curr_nominal_volt", S_IRUGO,
--				vdd->debug_dir, (void *) voltdm,
--				&nom_volt_debug_fops);
--}
--
- static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
- {
- 	int ret = -EINVAL;
-@@ -342,31 +294,6 @@ int omap_voltage_register_pmic(struct voltagedomain *voltdm,
- }
- 
- /**
-- * omap_voltage_get_dbgdir() - API to get pointer to the debugfs directory
-- *				corresponding to a voltage domain.
-- *
-- * @voltdm:	pointer to the VDD whose debug directory is required.
-- *
-- * This API returns pointer to the debugfs directory corresponding
-- * to the voltage domain. Should be used by drivers requiring to
-- * add any debug entry for a particular voltage domain. Returns NULL
-- * in case of error.
-- */
--struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd;
--
--	if (!voltdm || IS_ERR(voltdm)) {
--		pr_warning("%s: VDD specified does not exist!\n", __func__);
--		return NULL;
--	}
--
--	vdd = voltdm->vdd;
--
--	return vdd->debug_dir;
--}
--
--/**
-  * omap_change_voltscale_method() - API to change the voltage scaling method.
-  * @voltdm:	pointer to the VDD whose voltage scaling method
-  *		has to be changed.
-@@ -418,10 +345,6 @@ int __init omap_voltage_late_init(void)
- 		return -EINVAL;
- 	}
- 
--	voltage_dir = debugfs_create_dir("voltage", NULL);
--	if (IS_ERR(voltage_dir))
--		pr_err("%s: Unable to create voltage debugfs main dir\n",
--			__func__);
- 	list_for_each_entry(voltdm, &voltdm_list, node) {
- 		if (!voltdm->scalable)
- 			continue;
-@@ -434,7 +357,6 @@ int __init omap_voltage_late_init(void)
- 		if (voltdm->vdd) {
- 			if (omap_vdd_data_configure(voltdm))
- 				continue;
--			vdd_debugfs_init(voltdm);
- 			omap_vp_init(voltdm);
- 		}
- 	}
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 65f94c7..5261703 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -136,14 +136,12 @@ struct omap_voltdm_pmic {
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-  * @vp_rt_data          : VP data derived at runtime, not predefined
-- * @debug_dir		: debug directory for this voltage domain.
-  * @curr_volt		: current voltage for this vdd.
-  * @volt_scale		: API to scale the voltage of the vdd.
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
- 	struct omap_vp_runtime_data vp_rt_data;
--	struct dentry *debug_dir;
- 	u32 curr_volt;
- 
- 	int (*volt_scale) (struct voltagedomain *voltdm,
-@@ -158,7 +156,6 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
- struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		unsigned long volt);
- unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
--struct dentry *omap_voltage_get_dbgdir(struct voltagedomain *voltdm);
- #ifdef CONFIG_PM
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
- 			       struct omap_voltdm_pmic *pmic);
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 53d6018..c9a315f 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -1,6 +1,5 @@
- #include <linux/kernel.h>
- #include <linux/init.h>
--#include <linux/debugfs.h>
- 
- #include <plat/common.h>
- 
-@@ -10,8 +9,6 @@
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
- 
--static void __init vp_debugfs_init(struct voltagedomain *voltdm);
--
- static void vp_latch_vsel(struct voltagedomain *voltdm)
- {
- 	struct omap_vp_instance *vp = voltdm->vp;
-@@ -87,8 +84,6 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 		(vdd->vp_rt_data.vlimitto_timeout <<
- 		vp->common->vlimitto_timeout_shift));
- 	voltdm->write(vp_val, vp->vlimitto);
--
--	vp_debugfs_init(voltdm);
- }
- 
- /* VP force update method of voltage scaling */
-@@ -300,61 +295,3 @@ void omap_vp_disable(struct voltagedomain *voltdm)
- 
- 	return;
- }
--
--/* Voltage debugfs support */
--static int vp_volt_debug_get(void *data, u64 *val)
--{
--	struct voltagedomain *voltdm = (struct voltagedomain *)data;
--	struct omap_vp_instance *vp = voltdm->vp;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u8 vsel;
--
--	if (!vdd) {
--		pr_warning("Wrong paramater passed\n");
--		return -EINVAL;
--	}
--
--	vsel = voltdm->read(vp->voltage);
--
--	if (!voltdm->pmic->vsel_to_uv) {
--		pr_warning("PMIC function to convert vsel to voltage"
--			"in uV not registerd\n");
--		return -EINVAL;
--	}
--
--	*val = voltdm->pmic->vsel_to_uv(vsel);
--	return 0;
--}
--
--DEFINE_SIMPLE_ATTRIBUTE(vp_volt_debug_fops, vp_volt_debug_get, NULL, "%llu\n");
--
--static void __init vp_debugfs_init(struct voltagedomain *voltdm)
--{
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	struct dentry *debug_dir;
--
--	debug_dir = debugfs_create_dir("vp", vdd->debug_dir);
--	if (IS_ERR(debug_dir))
--		pr_err("%s: Unable to create VP debugfs dir dir\n", __func__);
--
--	(void) debugfs_create_x16("errorgain", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vpconfig_errorgain));
--	(void) debugfs_create_x16("smpswaittimemin", S_IRUGO,
--				debug_dir,
--				&(vdd->vp_rt_data.vstepmin_smpswaittimemin));
--	(void) debugfs_create_x8("stepmin", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vstepmin_stepmin));
--	(void) debugfs_create_x16("smpswaittimemax", S_IRUGO,
--				debug_dir,
--				&(vdd->vp_rt_data.vstepmax_smpswaittimemax));
--	(void) debugfs_create_x8("stepmax", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vstepmax_stepmax));
--	(void) debugfs_create_x8("vddmax", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vlimitto_vddmax));
--	(void) debugfs_create_x8("vddmin", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vlimitto_vddmin));
--	(void) debugfs_create_x16("timeout", S_IRUGO, debug_dir,
--				&(vdd->vp_rt_data.vlimitto_timeout));
--	(void) debugfs_create_file("curr_volt", S_IRUGO, debug_dir,
--				(void *) voltdm, &vp_volt_debug_fops);
--}
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0130-OMAP3-VP-struct-omap_vp_common-replace-shift-with-__.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0130-OMAP3-VP-struct-omap_vp_common-replace-shift-with-__.patch
deleted file mode 100644
index 22dff61..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0130-OMAP3-VP-struct-omap_vp_common-replace-shift-with-__.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From 19b2a24927050ee82e6f587ac47f484f1b114a57 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 4 Apr 2011 16:02:28 -0700
-Subject: [PATCH 130/149] OMAP3+: VP: struct omap_vp_common: replace shift with __ffs(mask)
-
-In struct omap_vp_common, the shift value can be derived from the mask
-value by using __ffs(), so remove the shift value for the various
-VPCONFIG bitfields, and use __ffs() in the code for the shift value.
-
-While here, rename field names in kerneldoc comment to match actual
-field names in structure.  Also, cleanup indendentaion for other VP
-register accesses in omap_vp_init().
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c          |    2 +-
- arch/arm/mach-omap2/voltage.c     |    2 +-
- arch/arm/mach-omap2/vp.c          |   29 ++++++++++++++---------------
- arch/arm/mach-omap2/vp.h          |   34 ++++++++++++++--------------------
- arch/arm/mach-omap2/vp3xxx_data.c |    4 +---
- arch/arm/mach-omap2/vp44xx_data.c |    4 +---
- 6 files changed, 32 insertions(+), 43 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 7058585..f64c826 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -140,7 +140,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
- 		vp_errgain_val &= voltdm->vp->common->vpconfig_errorgain_mask;
- 		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
--			voltdm->vp->common->vpconfig_errorgain_shift;
-+			__ffs(voltdm->vp->common->vpconfig_errorgain_mask);
- 		voltdm->write(vp_errgain_val, voltdm->vp->vpconfig);
- 	}
- 
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index eaa5f93..5b16fd1 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -82,7 +82,7 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 
- 	vdd->vp_rt_data.vpconfig_erroroffset =
- 		(voltdm->pmic->vp_erroroffset <<
--		 voltdm->vp->common->vpconfig_erroroffset_shift);
-+		 __ffs(voltdm->vp->common->vpconfig_erroroffset_mask));
- 
- 	timeout_val = (sys_clk_speed * voltdm->pmic->vp_timeout_us) / 1000;
- 	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index c9a315f..297d094 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -34,8 +34,7 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~(vp->common->vpconfig_initvoltage_mask |
- 			vp->common->vpconfig_initvdd);
--	vpconfig |= vsel << vp->common->vpconfig_initvoltage_shift;
--
-+	vpconfig |= vsel << __ffs(vp->common->vpconfig_initvoltage_mask);
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
-@@ -61,28 +60,28 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 
- 	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
- 		(vdd->vp_rt_data.vpconfig_errorgain <<
--		vp->common->vpconfig_errorgain_shift) |
-+		 __ffs(vp->common->vpconfig_errorgain_mask)) |
- 		vp->common->vpconfig_timeouten;
- 	voltdm->write(vp_val, vp->vpconfig);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
--		vp->common->vstepmin_smpswaittimemin_shift) |
--		(vdd->vp_rt_data.vstepmin_stepmin <<
--		vp->common->vstepmin_stepmin_shift));
-+		   vp->common->vstepmin_smpswaittimemin_shift) |
-+		  (vdd->vp_rt_data.vstepmin_stepmin <<
-+		   vp->common->vstepmin_stepmin_shift));
- 	voltdm->write(vp_val, vp->vstepmin);
- 
- 	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
--		vp->common->vstepmax_smpswaittimemax_shift) |
--		(vdd->vp_rt_data.vstepmax_stepmax <<
--		vp->common->vstepmax_stepmax_shift));
-+		   vp->common->vstepmax_smpswaittimemax_shift) |
-+		  (vdd->vp_rt_data.vstepmax_stepmax <<
-+		   vp->common->vstepmax_stepmax_shift));
- 	voltdm->write(vp_val, vp->vstepmax);
- 
- 	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
--		vp->common->vlimitto_vddmax_shift) |
--		(vdd->vp_rt_data.vlimitto_vddmin <<
--		vp->common->vlimitto_vddmin_shift) |
--		(vdd->vp_rt_data.vlimitto_timeout <<
--		vp->common->vlimitto_timeout_shift));
-+		   vp->common->vlimitto_vddmax_shift) |
-+		  (vdd->vp_rt_data.vlimitto_vddmin <<
-+		   vp->common->vlimitto_vddmin_shift) |
-+		  (vdd->vp_rt_data.vlimitto_timeout <<
-+		   vp->common->vlimitto_timeout_shift));
- 	voltdm->write(vp_val, vp->vlimitto);
- }
- 
-@@ -121,7 +120,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			vp->common->vpconfig_forceupdate |
- 			vp->common->vpconfig_initvoltage_mask);
- 	vpconfig |= ((target_vsel <<
--			vp->common->vpconfig_initvoltage_shift));
-+		      __ffs(vp->common->vpconfig_initvoltage_mask)));
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	/* Trigger initVDD value copy to voltage processor */
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 1d63960..2afe11d 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -46,37 +46,32 @@ struct omap_vp_ops {
- 
- /**
-  * struct omap_vp_common - register data common to all VDDs
-+ * @vpconfig_erroroffset_mask: ERROROFFSET bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_errorgain_mask: ERRORGAIN bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_initvoltage_mask: INITVOLTAGE bitmask in the PRM_VP*_CONFIG reg
-- * @vpconfig_timeouten_mask: TIMEOUT bitmask in the PRM_VP*_CONFIG reg
-+ * @vpconfig_timeouten: TIMEOUT bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_initvdd: INITVDD bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_forceupdate: FORCEUPDATE bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_vpenable: VPENABLE bitmask in the PRM_VP*_CONFIG reg
-  * @vpconfig_erroroffset_shift: ERROROFFSET field shift in PRM_VP*_CONFIG reg
-  * @vpconfig_errorgain_shift: ERRORGAIN field shift in PRM_VP*_CONFIG reg
-  * @vpconfig_initvoltage_shift: INITVOLTAGE field shift in PRM_VP*_CONFIG reg
-- * @vpconfig_stepmin_shift: VSTEPMIN field shift in the PRM_VP*_VSTEPMIN reg
-- * @vpconfig_smpswaittimemin_shift: SMPSWAITTIMEMIN field shift in PRM_VP*_VSTEPMIN reg
-- * @vpconfig_stepmax_shift: VSTEPMAX field shift in the PRM_VP*_VSTEPMAX reg
-- * @vpconfig_smpswaittimemax_shift: SMPSWAITTIMEMAX field shift in PRM_VP*_VSTEPMAX reg
-- * @vpconfig_vlimitto_vddmin_shift: VDDMIN field shift in PRM_VP*_VLIMITTO reg
-- * @vpconfig_vlimitto_vddmax_shift: VDDMAX field shift in PRM_VP*_VLIMITTO reg
-- * @vpconfig_vlimitto_timeout_shift: TIMEOUT field shift in PRM_VP*_VLIMITTO reg
-- *
-- * XXX It it not necessary to have both a mask and a shift for the same
-- *     bitfield - remove one
-- * XXX Many of these fields are wrongly named -- e.g., vpconfig_smps* -- fix!
-+ * @vstepmin_stepmin_shift: VSTEPMIN field shift in the PRM_VP*_VSTEPMIN reg
-+ * @vstepmin_smpswaittimemin_shift: SMPSWAITTIMEMIN field shift in PRM_VP*_VSTEPMIN reg
-+ * @vstepmax_stepmax_shift: VSTEPMAX field shift in the PRM_VP*_VSTEPMAX reg
-+ * @vstepmax_smpswaittimemax_shift: SMPSWAITTIMEMAX field shift in PRM_VP*_VSTEPMAX reg
-+ * @vlimitto_vddmin_shift: VDDMIN field shift in PRM_VP*_VLIMITTO reg
-+ * @vlimitto_vddmax_shift: VDDMAX field shift in PRM_VP*_VLIMITTO reg
-+ * @vlimitto_timeout_shift: TIMEOUT field shift in PRM_VP*_VLIMITTO reg
-  */
- struct omap_vp_common {
-+	u32 vpconfig_erroroffset_mask;
- 	u32 vpconfig_errorgain_mask;
- 	u32 vpconfig_initvoltage_mask;
--	u32 vpconfig_timeouten;
--	u32 vpconfig_initvdd;
--	u32 vpconfig_forceupdate;
--	u32 vpconfig_vpenable;
--	u8 vpconfig_erroroffset_shift;
--	u8 vpconfig_errorgain_shift;
--	u8 vpconfig_initvoltage_shift;
-+	u8 vpconfig_timeouten;
-+	u8 vpconfig_initvdd;
-+	u8 vpconfig_forceupdate;
-+	u8 vpconfig_vpenable;
- 	u8 vstepmin_stepmin_shift;
- 	u8 vstepmin_smpswaittimemin_shift;
- 	u8 vstepmax_stepmax_shift;
-@@ -127,7 +122,6 @@ struct omap_vp_instance {
-  * XXX Is this structure really needed?  Why not just program the
-  * device directly?  They are in PRM space, therefore in the WKUP
-  * powerdomain, so register contents should not be lost in off-mode.
-- * XXX Some of these fields are incorrectly named, e.g., vstep*
-  */
- struct omap_vp_runtime_data {
- 	u32 vpconfig_erroroffset;
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index 79c3df9..d429c44 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -37,10 +37,8 @@ static const struct omap_vp_ops omap3_vp_ops = {
-  * XXX This stuff presumably belongs in the vp3xxx.c or vp.c file.
-  */
- static const struct omap_vp_common omap3_vp_common = {
--	.vpconfig_erroroffset_shift = OMAP3430_ERROROFFSET_SHIFT,
-+	.vpconfig_erroroffset_mask = OMAP3430_ERROROFFSET_MASK,
- 	.vpconfig_errorgain_mask = OMAP3430_ERRORGAIN_MASK,
--	.vpconfig_errorgain_shift = OMAP3430_ERRORGAIN_SHIFT,
--	.vpconfig_initvoltage_shift = OMAP3430_INITVOLTAGE_SHIFT,
- 	.vpconfig_initvoltage_mask = OMAP3430_INITVOLTAGE_MASK,
- 	.vpconfig_timeouten = OMAP3430_TIMEOUTEN_MASK,
- 	.vpconfig_initvdd = OMAP3430_INITVDD_MASK,
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 8f75cd9..0daf2a4 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -37,10 +37,8 @@ static const struct omap_vp_ops omap4_vp_ops = {
-  * XXX This stuff presumably belongs in the vp44xx.c or vp.c file.
-  */
- static const struct omap_vp_common omap4_vp_common = {
--	.vpconfig_erroroffset_shift = OMAP4430_ERROROFFSET_SHIFT,
-+	.vpconfig_erroroffset_mask = OMAP4430_ERROROFFSET_MASK,
- 	.vpconfig_errorgain_mask = OMAP4430_ERRORGAIN_MASK,
--	.vpconfig_errorgain_shift = OMAP4430_ERRORGAIN_SHIFT,
--	.vpconfig_initvoltage_shift = OMAP4430_INITVOLTAGE_SHIFT,
- 	.vpconfig_initvoltage_mask = OMAP4430_INITVOLTAGE_MASK,
- 	.vpconfig_timeouten = OMAP4430_TIMEOUTEN_MASK,
- 	.vpconfig_initvdd = OMAP4430_INITVDD_MASK,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0131-OMAP3-VP-move-SoC-specific-sys-clock-rate-retreival-.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0131-OMAP3-VP-move-SoC-specific-sys-clock-rate-retreival-.patch
deleted file mode 100644
index 2643c6b..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0131-OMAP3-VP-move-SoC-specific-sys-clock-rate-retreival-.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From d0c5c4d43250d9e7aad920ce3e7f5e7d5061be47 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 4 Apr 2011 17:22:28 -0700
-Subject: [PATCH 131/149] OMAP3+: VP: move SoC-specific sys clock rate retreival late init
-
-Add sys clock name and rate to struct voltage domain.  SoC specific
-voltagedomain init code initializes sys clock name.  After clock
-framework is initialized, voltage late init will then use use the
-sys_clk rate to calculate the various timing that depend on that rate.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c                 |   47 +++++++++----------------
- arch/arm/mach-omap2/voltage.h                 |    5 +++
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |    8 ++++
- arch/arm/mach-omap2/voltagedomains44xx_data.c |    8 ++++
- 4 files changed, 38 insertions(+), 30 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 5b16fd1..533ea38 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -21,10 +21,10 @@
- 
- #include <linux/delay.h>
- #include <linux/io.h>
--#include <linux/clk.h>
- #include <linux/err.h>
- #include <linux/debugfs.h>
- #include <linux/slab.h>
-+#include <linux/clk.h>
- 
- #include <plat/common.h>
- 
-@@ -45,36 +45,12 @@ static LIST_HEAD(voltdm_list);
- 
- static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
--	char *sys_ck_name;
--	struct clk *sys_ck;
--	u32 sys_clk_speed, timeout_val, waittime;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
-+	u32 sys_clk_rate, timeout_val, waittime;
- 
--	/*
--	 * XXX Clockfw should handle this, or this should be in a
--	 * struct record
--	 */
--	if (cpu_is_omap24xx() || cpu_is_omap34xx())
--		sys_ck_name = "sys_ck";
--	else if (cpu_is_omap44xx())
--		sys_ck_name = "sys_clkin_ck";
--	else
--		return -EINVAL;
--
--	/*
--	 * Sys clk rate is require to calculate vp timeout value and
--	 * smpswaittimemin and smpswaittimemax.
--	 */
--	sys_ck = clk_get(NULL, sys_ck_name);
--	if (IS_ERR(sys_ck)) {
--		pr_warning("%s: Could not get the sys clk to calculate"
--			"various vdd_%s params\n", __func__, voltdm->name);
--		return -EINVAL;
--	}
--	sys_clk_speed = clk_get_rate(sys_ck);
--	clk_put(sys_ck);
- 	/* Divide to avoid overflow */
--	sys_clk_speed /= 1000;
-+	sys_clk_rate = voltdm->sys_clk.rate / 1000;
-+	WARN_ON(!sys_clk_rate);
- 
- 	/* Generic voltage parameters */
- 	vdd->volt_scale = omap_vp_forceupdate_scale;
-@@ -84,13 +60,13 @@ static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- 		(voltdm->pmic->vp_erroroffset <<
- 		 __ffs(voltdm->vp->common->vpconfig_erroroffset_mask));
- 
--	timeout_val = (sys_clk_speed * voltdm->pmic->vp_timeout_us) / 1000;
-+	timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
- 	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
- 	vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin;
- 	vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax;
- 
- 	waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) *
--				sys_clk_speed) / 1000;
-+		    sys_clk_rate) / 1000;
- 	vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime;
- 	vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime;
- 	vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin;
-@@ -346,9 +322,20 @@ int __init omap_voltage_late_init(void)
- 	}
- 
- 	list_for_each_entry(voltdm, &voltdm_list, node) {
-+		struct clk *sys_ck;
-+
- 		if (!voltdm->scalable)
- 			continue;
- 
-+		sys_ck = clk_get(NULL, voltdm->sys_clk.name);
-+		if (IS_ERR(sys_ck)) {
-+			pr_warning("%s: Could not get sys clk.\n", __func__);
-+			return -EINVAL;
-+		}
-+		voltdm->sys_clk.rate = clk_get_rate(sys_ck);
-+		WARN_ON(!voltdm->sys_clk.rate);
-+		clk_put(sys_ck);
-+
- 		if (voltdm->vc) {
- 			voltdm->vdd->volt_scale = omap_vc_bypass_scale;
- 			omap_vc_init_channel(voltdm);
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 5261703..d73c956 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -76,6 +76,11 @@ struct voltagedomain {
- 	void (*write) (u32 val, u8 offset);
- 	u32 (*rmw)(u32 mask, u32 bits, u8 offset);
- 
-+	union {
-+		const char *name;
-+		u32 rate;
-+	} sys_clk;
-+
- 	struct omap_vdd_info *vdd;
- };
- 
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index 4db2c6c..e7a0be1 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -82,8 +82,13 @@ static struct voltagedomain *voltagedomains_omap3[] __initdata = {
- 	NULL,
- };
- 
-+static const char *sys_clk_name __initdata = "sys_ck";
-+
- void __init omap3xxx_voltagedomains_init(void)
- {
-+	struct voltagedomain *voltdm;
-+	int i;
-+
- 	/*
- 	 * XXX Will depend on the process, validation, and binning
- 	 * for the currently-running IC
-@@ -96,5 +101,8 @@ void __init omap3xxx_voltagedomains_init(void)
- 		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
- 	}
- 
-+	for (i = 0; voltdm = voltagedomains_omap3[i], voltdm; i++)
-+		voltdm->sys_clk.name = sys_clk_name;
-+
- 	voltdm_init(voltagedomains_omap3);
- };
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 3e7cb4e..9c20fbb 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -98,8 +98,13 @@ static struct voltagedomain *voltagedomains_omap4[] __initdata = {
- 	NULL,
- };
- 
-+static const char *sys_clk_name __initdata = "sys_clkin_ck";
-+
- void __init omap44xx_voltagedomains_init(void)
- {
-+	struct voltagedomain *voltdm;
-+	int i;
-+
- 	/*
- 	 * XXX Will depend on the process, validation, and binning
- 	 * for the currently-running IC
-@@ -108,5 +113,8 @@ void __init omap44xx_voltagedomains_init(void)
- 	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
- 	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
- 
-+	for (i = 0; voltdm = voltagedomains_omap4[i], voltdm; i++)
-+		voltdm->sys_clk.name = sys_clk_name;
-+
- 	voltdm_init(voltagedomains_omap4);
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch
deleted file mode 100644
index 23b4a31..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 505468e0ec50f01f1bf37003096d7ae73deb491d Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Thu, 14 Jul 2011 11:10:27 -0700
-Subject: [PATCH 132/149] OMAP3+: VP: move timing calculation/config into VP init
-
-Move VP timing calcluation (based on sys clock) and register programming
-into VP init.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c |   22 ----------------------
- arch/arm/mach-omap2/vp.c      |   23 ++++++++++++++++++++++-
- 2 files changed, 22 insertions(+), 23 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 533ea38..4a15668 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -46,31 +46,9 @@ static LIST_HEAD(voltdm_list);
- static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
- 	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 sys_clk_rate, timeout_val, waittime;
--
--	/* Divide to avoid overflow */
--	sys_clk_rate = voltdm->sys_clk.rate / 1000;
--	WARN_ON(!sys_clk_rate);
- 
- 	/* Generic voltage parameters */
- 	vdd->volt_scale = omap_vp_forceupdate_scale;
--	voltdm->vp->enabled = false;
--
--	vdd->vp_rt_data.vpconfig_erroroffset =
--		(voltdm->pmic->vp_erroroffset <<
--		 __ffs(voltdm->vp->common->vpconfig_erroroffset_mask));
--
--	timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
--	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
--	vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin;
--	vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax;
--
--	waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) *
--		    sys_clk_rate) / 1000;
--	vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime;
--	vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime;
--	vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin;
--	vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax;
- 
- 	return 0;
- }
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 297d094..ea61a47 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -50,7 +50,7 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- {
- 	struct omap_vp_instance *vp = voltdm->vp;
- 	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vp_val;
-+	u32 vp_val, sys_clk_rate, timeout_val, waittime;
- 
- 	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-@@ -58,6 +58,27 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
-+	vp->enabled = false;
-+
-+	/* Divide to avoid overflow */
-+	sys_clk_rate = voltdm->sys_clk.rate / 1000;
-+
-+	vdd->vp_rt_data.vpconfig_erroroffset =
-+		(voltdm->pmic->vp_erroroffset <<
-+		 __ffs(voltdm->vp->common->vpconfig_erroroffset_mask));
-+
-+	timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
-+	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
-+	vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin;
-+	vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax;
-+
-+	waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) *
-+		    sys_clk_rate) / 1000;
-+	vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime;
-+	vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime;
-+	vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin;
-+	vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax;
-+
- 	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
- 		(vdd->vp_rt_data.vpconfig_errorgain <<
- 		 __ffs(vp->common->vpconfig_errorgain_mask)) |
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0133-OMAP3-VP-create-VP-helper-function-for-updating-erro.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0133-OMAP3-VP-create-VP-helper-function-for-updating-erro.patch
deleted file mode 100644
index 2c1ce2c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0133-OMAP3-VP-create-VP-helper-function-for-updating-erro.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 0a3d1d2ea5a37d1afe583dd0aee310a979d0445f Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 5 Apr 2011 15:15:31 -0700
-Subject: [PATCH 133/149] OMAP3+: VP: create VP helper function for updating error gain
-
-Create new helper function in VP layer for updating VP error gain.
-Currently used during pre-scale for VP force update and VC bypass.
-
-TODO: determine if this can be removed from the pre-scale path and
-moved to VP enable path.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c |   19 ++-----------------
- arch/arm/mach-omap2/vp.c |   19 +++++++++++++++++++
- arch/arm/mach-omap2/vp.h |    2 ++
- 3 files changed, 23 insertions(+), 17 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index f64c826..e855559 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -96,9 +96,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		      u8 *target_vsel, u8 *current_vsel)
- {
- 	struct omap_vc_channel *vc = voltdm->vc;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	struct omap_volt_data *volt_data;
--	u32 vc_cmdval, vp_errgain_val;
-+	u32 vc_cmdval;
- 
- 	/* Check if sufficient pmic info is available for this vdd */
- 	if (!voltdm->pmic) {
-@@ -120,11 +118,6 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 		return -EINVAL;
- 	}
- 
--	/* Get volt_data corresponding to target_volt */
--	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
--	if (IS_ERR(volt_data))
--		volt_data = NULL;
--
- 	*target_vsel = voltdm->pmic->uv_to_vsel(target_volt);
- 	*current_vsel = voltdm->pmic->uv_to_vsel(vdd->curr_volt);
- 
-@@ -134,15 +127,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift);
- 	voltdm->write(vc_cmdval, vc->cmdval_reg);
- 
--	/* Setting vp errorgain based on the voltage */
--	if (volt_data) {
--		vp_errgain_val = voltdm->read(voltdm->vp->vpconfig);
--		vdd->vp_rt_data.vpconfig_errorgain = volt_data->vp_errgain;
--		vp_errgain_val &= voltdm->vp->common->vpconfig_errorgain_mask;
--		vp_errgain_val |= vdd->vp_rt_data.vpconfig_errorgain <<
--			__ffs(voltdm->vp->common->vpconfig_errorgain_mask);
--		voltdm->write(vp_errgain_val, voltdm->vp->vpconfig);
--	}
-+	omap_vp_update_errorgain(voltdm, target_volt);
- 
- 	return 0;
- }
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index ea61a47..f68a6db 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -106,6 +106,25 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 	voltdm->write(vp_val, vp->vlimitto);
- }
- 
-+int omap_vp_update_errorgain(struct voltagedomain *voltdm,
-+			     unsigned long target_volt)
-+{
-+	struct omap_volt_data *volt_data;
-+
-+	/* Get volt_data corresponding to target_volt */
-+	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
-+	if (IS_ERR(volt_data))
-+		return -EINVAL;
-+
-+	/* Setting vp errorgain based on the voltage */
-+	voltdm->rmw(voltdm->vp->common->vpconfig_errorgain_mask,
-+		    volt_data->vp_errgain <<
-+		    __ffs(voltdm->vp->common->vpconfig_errorgain_mask),
-+		    voltdm->vp->vpconfig);
-+
-+	return 0;
-+}
-+
- /* VP force update method of voltage scaling */
- int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			      unsigned long target_volt)
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 2afe11d..71ac738 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -148,5 +148,7 @@ void omap_vp_disable(struct voltagedomain *voltdm);
- unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm);
- int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			      unsigned long target_volt);
-+int omap_vp_update_errorgain(struct voltagedomain *voltdm,
-+			     unsigned long target_volt);
- 
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0134-OMAP3-VP-remove-omap_vp_runtime_data.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0134-OMAP3-VP-remove-omap_vp_runtime_data.patch
deleted file mode 100644
index 2308995..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0134-OMAP3-VP-remove-omap_vp_runtime_data.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-From 7b7d6f216a49287479af9526b888df5e6325458b Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 4 Apr 2011 17:58:21 -0700
-Subject: [PATCH 134/149] OMAP3+: VP: remove omap_vp_runtime_data
-
-Remove the "runtime" VP data in favor of direct programming of VP registers.
-The VP is in the PRM, which is in the wakeup powerdomain, so there is no
-need to keep the state dynamically.
-
-Fixes to original version from Nishanth Menon <nm at ti.com>
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.h |    2 -
- arch/arm/mach-omap2/vp.c      |   70 ++++++++++++++++++-----------------------
- arch/arm/mach-omap2/vp.h      |   28 ----------------
- 3 files changed, 31 insertions(+), 69 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index d73c956..5235eec 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -140,13 +140,11 @@ struct omap_voltdm_pmic {
-  *
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-- * @vp_rt_data          : VP data derived at runtime, not predefined
-  * @curr_volt		: current voltage for this vdd.
-  * @volt_scale		: API to scale the voltage of the vdd.
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
--	struct omap_vp_runtime_data vp_rt_data;
- 	u32 curr_volt;
- 
- 	int (*volt_scale) (struct voltagedomain *voltdm,
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index f68a6db..e7d38f6 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -49,8 +49,8 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- void __init omap_vp_init(struct voltagedomain *voltdm)
- {
- 	struct omap_vp_instance *vp = voltdm->vp;
--	struct omap_vdd_info *vdd = voltdm->vdd;
--	u32 vp_val, sys_clk_rate, timeout_val, waittime;
-+	u32 val, sys_clk_rate, timeout, waittime;
-+	u32 vddmin, vddmax, vstepmin, vstepmax;
- 
- 	if (!voltdm->read || !voltdm->write) {
- 		pr_err("%s: No read/write API for accessing vdd_%s regs\n",
-@@ -63,47 +63,39 @@ void __init omap_vp_init(struct voltagedomain *voltdm)
- 	/* Divide to avoid overflow */
- 	sys_clk_rate = voltdm->sys_clk.rate / 1000;
- 
--	vdd->vp_rt_data.vpconfig_erroroffset =
--		(voltdm->pmic->vp_erroroffset <<
--		 __ffs(voltdm->vp->common->vpconfig_erroroffset_mask));
--
--	timeout_val = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
--	vdd->vp_rt_data.vlimitto_timeout = timeout_val;
--	vdd->vp_rt_data.vlimitto_vddmin = voltdm->pmic->vp_vddmin;
--	vdd->vp_rt_data.vlimitto_vddmax = voltdm->pmic->vp_vddmax;
-+	timeout = (sys_clk_rate * voltdm->pmic->vp_timeout_us) / 1000;
-+	vddmin = voltdm->pmic->vp_vddmin;
-+	vddmax = voltdm->pmic->vp_vddmax;
- 
- 	waittime = ((voltdm->pmic->step_size / voltdm->pmic->slew_rate) *
- 		    sys_clk_rate) / 1000;
--	vdd->vp_rt_data.vstepmin_smpswaittimemin = waittime;
--	vdd->vp_rt_data.vstepmax_smpswaittimemax = waittime;
--	vdd->vp_rt_data.vstepmin_stepmin = voltdm->pmic->vp_vstepmin;
--	vdd->vp_rt_data.vstepmax_stepmax = voltdm->pmic->vp_vstepmax;
--
--	vp_val = vdd->vp_rt_data.vpconfig_erroroffset |
--		(vdd->vp_rt_data.vpconfig_errorgain <<
--		 __ffs(vp->common->vpconfig_errorgain_mask)) |
-+	vstepmin = voltdm->pmic->vp_vstepmin;
-+	vstepmax = voltdm->pmic->vp_vstepmax;
-+
-+	/*
-+	 * VP_CONFIG: error gain is not set here, it will be updated
-+	 * on each scale, based on OPP.
-+	 */
-+	val = (voltdm->pmic->vp_erroroffset <<
-+	       __ffs(voltdm->vp->common->vpconfig_erroroffset_mask)) |
- 		vp->common->vpconfig_timeouten;
--	voltdm->write(vp_val, vp->vpconfig);
--
--	vp_val = ((vdd->vp_rt_data.vstepmin_smpswaittimemin <<
--		   vp->common->vstepmin_smpswaittimemin_shift) |
--		  (vdd->vp_rt_data.vstepmin_stepmin <<
--		   vp->common->vstepmin_stepmin_shift));
--	voltdm->write(vp_val, vp->vstepmin);
--
--	vp_val = ((vdd->vp_rt_data.vstepmax_smpswaittimemax <<
--		   vp->common->vstepmax_smpswaittimemax_shift) |
--		  (vdd->vp_rt_data.vstepmax_stepmax <<
--		   vp->common->vstepmax_stepmax_shift));
--	voltdm->write(vp_val, vp->vstepmax);
--
--	vp_val = ((vdd->vp_rt_data.vlimitto_vddmax <<
--		   vp->common->vlimitto_vddmax_shift) |
--		  (vdd->vp_rt_data.vlimitto_vddmin <<
--		   vp->common->vlimitto_vddmin_shift) |
--		  (vdd->vp_rt_data.vlimitto_timeout <<
--		   vp->common->vlimitto_timeout_shift));
--	voltdm->write(vp_val, vp->vlimitto);
-+	voltdm->write(val, vp->vpconfig);
-+
-+	/* VSTEPMIN */
-+	val = (waittime << vp->common->vstepmin_smpswaittimemin_shift) |
-+		(vstepmin <<  vp->common->vstepmin_stepmin_shift);
-+	voltdm->write(val, vp->vstepmin);
-+
-+	/* VSTEPMAX */
-+	val = (vstepmax << vp->common->vstepmax_stepmax_shift) |
-+		(waittime << vp->common->vstepmax_smpswaittimemax_shift);
-+	voltdm->write(val, vp->vstepmax);
-+
-+	/* VLIMITTO */
-+	val = (vddmax << vp->common->vlimitto_vddmax_shift) |
-+		(vddmin << vp->common->vlimitto_vddmin_shift) |
-+		(timeout <<  vp->common->vlimitto_timeout_shift);
-+	voltdm->write(val, vp->vlimitto);
- }
- 
- int omap_vp_update_errorgain(struct voltagedomain *voltdm,
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 71ac738..0d63267 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -107,34 +107,6 @@ struct omap_vp_instance {
- 	bool enabled;
- };
- 
--/**
-- * struct omap_vp_runtime_data - VP data populated at runtime by code
-- * @vpconfig_erroroffset: value of ERROROFFSET bitfield in PRM_VP*_CONFIG
-- * @vpconfig_errorgain: value of ERRORGAIN bitfield in PRM_VP*_CONFIG
-- * @vstepmin_smpswaittimemin: value of SMPSWAITTIMEMIN bitfield in PRM_VP*_VSTEPMIN
-- * @vstepmax_smpswaittimemax: value of SMPSWAITTIMEMAX bitfield in PRM_VP*_VSTEPMAX
-- * @vlimitto_timeout: value of TIMEOUT bitfield in PRM_VP*_VLIMITTO
-- * @vstepmin_stepmin: value of VSTEPMIN bitfield in PRM_VP*_VSTEPMIN
-- * @vstepmax_stepmax: value of VSTEPMAX bitfield in PRM_VP*_VSTEPMAX
-- * @vlimitto_vddmin: value of VDDMIN bitfield in PRM_VP*_VLIMITTO
-- * @vlimitto_vddmax: value of VDDMAX bitfield in PRM_VP*_VLIMITTO
-- *
-- * XXX Is this structure really needed?  Why not just program the
-- * device directly?  They are in PRM space, therefore in the WKUP
-- * powerdomain, so register contents should not be lost in off-mode.
-- */
--struct omap_vp_runtime_data {
--	u32 vpconfig_erroroffset;
--	u16 vpconfig_errorgain;
--	u16 vstepmin_smpswaittimemin;
--	u16 vstepmax_smpswaittimemax;
--	u16 vlimitto_timeout;
--	u8 vstepmin_stepmin;
--	u8 vstepmax_stepmax;
--	u8 vlimitto_vddmin;
--	u8 vlimitto_vddmax;
--};
--
- extern struct omap_vp_instance omap3_vp_mpu;
- extern struct omap_vp_instance omap3_vp_core;
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0135-OMAP3-VP-move-voltage-scale-function-pointer-into-st.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0135-OMAP3-VP-move-voltage-scale-function-pointer-into-st.patch
deleted file mode 100644
index efcc75a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0135-OMAP3-VP-move-voltage-scale-function-pointer-into-st.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 31b07224df028a7913f82c38f13c2bd621613756 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Thu, 14 Jul 2011 11:12:32 -0700
-Subject: [PATCH 135/149] OMAP3+: VP: move voltage scale function pointer into struct voltagedomain
-
-Function pointer used for actual voltage scaling (e.g. VP force update
-or VC bypass) is moved from omap_vdd_info into struct voltagedomain,
-resulting in renames s/vdd->volt_scale/voltdm->scale/
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c |   24 +++++++-----------------
- arch/arm/mach-omap2/voltage.h |    8 ++++----
- 2 files changed, 11 insertions(+), 21 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 4a15668..32f0873 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -45,10 +45,8 @@ static LIST_HEAD(voltdm_list);
- 
- static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
- {
--	struct omap_vdd_info *vdd = voltdm->vdd;
--
- 	/* Generic voltage parameters */
--	vdd->volt_scale = omap_vp_forceupdate_scale;
-+	voltdm->scale = omap_vp_forceupdate_scale;
- 
- 	return 0;
- }
-@@ -107,22 +105,18 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
- 		unsigned long target_volt)
- {
--	struct omap_vdd_info *vdd;
--
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return -EINVAL;
- 	}
- 
--	vdd = voltdm->vdd;
--
--	if (!vdd->volt_scale) {
-+	if (!voltdm->scale) {
- 		pr_err("%s: No voltage scale API registered for vdd_%s\n",
- 			__func__, voltdm->name);
- 		return -ENODATA;
- 	}
- 
--	return vdd->volt_scale(voltdm, target_volt);
-+	return voltdm->scale(voltdm, target_volt);
- }
- 
- /**
-@@ -258,23 +252,19 @@ int omap_voltage_register_pmic(struct voltagedomain *voltdm,
-  * defined in voltage.h
-  */
- void omap_change_voltscale_method(struct voltagedomain *voltdm,
--		int voltscale_method)
-+				  int voltscale_method)
- {
--	struct omap_vdd_info *vdd;
--
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return;
- 	}
- 
--	vdd = voltdm->vdd;
--
- 	switch (voltscale_method) {
- 	case VOLTSCALE_VPFORCEUPDATE:
--		vdd->volt_scale = omap_vp_forceupdate_scale;
-+		voltdm->scale = omap_vp_forceupdate_scale;
- 		return;
- 	case VOLTSCALE_VCBYPASS:
--		vdd->volt_scale = omap_vc_bypass_scale;
-+		voltdm->scale = omap_vc_bypass_scale;
- 		return;
- 	default:
- 		pr_warning("%s: Trying to change the method of voltage scaling"
-@@ -315,7 +305,7 @@ int __init omap_voltage_late_init(void)
- 		clk_put(sys_ck);
- 
- 		if (voltdm->vc) {
--			voltdm->vdd->volt_scale = omap_vc_bypass_scale;
-+			voltdm->scale = omap_vc_bypass_scale;
- 			omap_vc_init_channel(voltdm);
- 		}
- 
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 5235eec..d2a0c24 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -60,6 +60,7 @@ struct omap_vfsm_instance {
-  * @pwrdm_node: list_head linking all powerdomains in this voltagedomain
-  * @vdd: to be removed
-  * @pwrdms: powerdomains in this voltagedomain
-+ * @scale: function used to scale the voltage of the voltagedomain
-  */
- struct voltagedomain {
- 	char *name;
-@@ -81,6 +82,9 @@ struct voltagedomain {
- 		u32 rate;
- 	} sys_clk;
- 
-+	int (*scale) (struct voltagedomain *voltdm,
-+		      unsigned long target_volt);
-+
- 	struct omap_vdd_info *vdd;
- };
- 
-@@ -141,14 +145,10 @@ struct omap_voltdm_pmic {
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-  * @curr_volt		: current voltage for this vdd.
-- * @volt_scale		: API to scale the voltage of the vdd.
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
- 	u32 curr_volt;
--
--	int (*volt_scale) (struct voltagedomain *voltdm,
--		unsigned long target_volt);
- };
- 
- int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0136-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0136-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch
deleted file mode 100644
index 0bb557d..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0136-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 6bf9eba8b75c6e8c895f7be294794846c51cc3f1 Mon Sep 17 00:00:00 2001
-From: Todd Poynor <toddpoynor at google.com>
-Date: Fri, 27 May 2011 19:15:59 -0700
-Subject: [PATCH 136/149] OMAP: VP: Explicitly mask VPVOLTAGE field
-
-Reading the VPVOLTAGE field of PRM_VP_*_VOLTAGE registers currently
-relies on a u32 -> u8 conversion to mask off the FORCEUPDATEWAIT field
-in the upper bits.  Make this explicit using the mask symbol
-already defined, added as a new field in struct omap_vp_common.
-
-Signed-off-by: Todd Poynor <toddpoynor at google.com>
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vp.c          |    3 ++-
- arch/arm/mach-omap2/vp.h          |    2 ++
- arch/arm/mach-omap2/vp3xxx_data.c |    2 ++
- arch/arm/mach-omap2/vp44xx_data.c |    1 +
- 4 files changed, 7 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index e7d38f6..3807620 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -227,7 +227,8 @@ unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
- 		return 0;
- 	}
- 
--	curr_vsel = voltdm->read(vp->voltage);
-+	curr_vsel = (voltdm->read(vp->voltage) & vp->common->vpvoltage_mask)
-+		>> __ffs(vp->common->vpvoltage_mask);
- 
- 	if (!voltdm->pmic || !voltdm->pmic->vsel_to_uv) {
- 		pr_warning("%s: PMIC function to convert vsel to voltage"
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index 0d63267..f78752b 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -63,6 +63,7 @@ struct omap_vp_ops {
-  * @vlimitto_vddmin_shift: VDDMIN field shift in PRM_VP*_VLIMITTO reg
-  * @vlimitto_vddmax_shift: VDDMAX field shift in PRM_VP*_VLIMITTO reg
-  * @vlimitto_timeout_shift: TIMEOUT field shift in PRM_VP*_VLIMITTO reg
-+ * @vpvoltage_mask: VPVOLTAGE field mask in PRM_VP*_VOLTAGE reg
-  */
- struct omap_vp_common {
- 	u32 vpconfig_erroroffset_mask;
-@@ -79,6 +80,7 @@ struct omap_vp_common {
- 	u8 vlimitto_vddmin_shift;
- 	u8 vlimitto_vddmax_shift;
- 	u8 vlimitto_timeout_shift;
-+	u8 vpvoltage_mask;
- 
- 	const struct omap_vp_ops *ops;
- };
-diff --git a/arch/arm/mach-omap2/vp3xxx_data.c b/arch/arm/mach-omap2/vp3xxx_data.c
-index d429c44..260c554 100644
---- a/arch/arm/mach-omap2/vp3xxx_data.c
-+++ b/arch/arm/mach-omap2/vp3xxx_data.c
-@@ -51,6 +51,8 @@ static const struct omap_vp_common omap3_vp_common = {
- 	.vlimitto_vddmin_shift = OMAP3430_VDDMIN_SHIFT,
- 	.vlimitto_vddmax_shift = OMAP3430_VDDMAX_SHIFT,
- 	.vlimitto_timeout_shift = OMAP3430_TIMEOUT_SHIFT,
-+	.vpvoltage_mask = OMAP3430_VPVOLTAGE_MASK,
-+
- 	.ops = &omap3_vp_ops,
- };
- 
-diff --git a/arch/arm/mach-omap2/vp44xx_data.c b/arch/arm/mach-omap2/vp44xx_data.c
-index 0daf2a4..b4e7704 100644
---- a/arch/arm/mach-omap2/vp44xx_data.c
-+++ b/arch/arm/mach-omap2/vp44xx_data.c
-@@ -51,6 +51,7 @@ static const struct omap_vp_common omap4_vp_common = {
- 	.vlimitto_vddmin_shift = OMAP4430_VDDMIN_SHIFT,
- 	.vlimitto_vddmax_shift = OMAP4430_VDDMAX_SHIFT,
- 	.vlimitto_timeout_shift = OMAP4430_TIMEOUT_SHIFT,
-+	.vpvoltage_mask = OMAP4430_VPVOLTAGE_MASK,
- 	.ops = &omap4_vp_ops,
- };
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0137-OMAP3-VP-update_errorgain-return-error-if-VP.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0137-OMAP3-VP-update_errorgain-return-error-if-VP.patch
deleted file mode 100644
index b0ca14a..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0137-OMAP3-VP-update_errorgain-return-error-if-VP.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From abe6084b3aea9f55bb9b9127a0a4c58f915e635e Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 18 Jul 2011 15:31:43 -0700
-Subject: [PATCH 137/149] OMAP3+: VP: update_errorgain(): return error if VP
-
-Add check for valid VP in omap_vp_update_errorgain()
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vp.c |    3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 3807620..29698ac 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -103,6 +103,9 @@ int omap_vp_update_errorgain(struct voltagedomain *voltdm,
- {
- 	struct omap_volt_data *volt_data;
- 
-+	if (!voltdm->vp)
-+		return -EINVAL;
-+
- 	/* Get volt_data corresponding to target_volt */
- 	volt_data = omap_voltage_get_voltdata(voltdm, target_volt);
- 	if (IS_ERR(volt_data))
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0138-OMAP3-VP-remove-unused-omap_vp_get_curr_volt.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0138-OMAP3-VP-remove-unused-omap_vp_get_curr_volt.patch
deleted file mode 100644
index 57ba0a2..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0138-OMAP3-VP-remove-unused-omap_vp_get_curr_volt.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 479369a9e78273521a5998af043bcad58ee832f8 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Fri, 15 Jul 2011 16:38:10 -0700
-Subject: [PATCH 138/149] OMAP3+: VP: remove unused omap_vp_get_curr_volt()
-
----
- arch/arm/mach-omap2/vp.c |   34 ----------------------------------
- arch/arm/mach-omap2/vp.h |    1 -
- 2 files changed, 0 insertions(+), 35 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 29698ac..24020ea 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -209,40 +209,6 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- }
- 
- /**
-- * omap_vp_get_curr_volt() - API to get the current vp voltage.
-- * @voltdm:	pointer to the VDD.
-- *
-- * This API returns the current voltage for the specified voltage processor
-- */
--unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm)
--{
--	struct omap_vp_instance *vp = voltdm->vp;
--	u8 curr_vsel;
--
--	if (!voltdm || IS_ERR(voltdm)) {
--		pr_warning("%s: VDD specified does not exist!\n", __func__);
--		return 0;
--	}
--
--	if (!voltdm->read) {
--		pr_err("%s: No read API for reading vdd_%s regs\n",
--			__func__, voltdm->name);
--		return 0;
--	}
--
--	curr_vsel = (voltdm->read(vp->voltage) & vp->common->vpvoltage_mask)
--		>> __ffs(vp->common->vpvoltage_mask);
--
--	if (!voltdm->pmic || !voltdm->pmic->vsel_to_uv) {
--		pr_warning("%s: PMIC function to convert vsel to voltage"
--			"in uV not registerd\n", __func__);
--		return 0;
--	}
--
--	return voltdm->pmic->vsel_to_uv(curr_vsel);
--}
--
--/**
-  * omap_vp_enable() - API to enable a particular VP
-  * @voltdm:	pointer to the VDD whose VP is to be enabled.
-  *
-diff --git a/arch/arm/mach-omap2/vp.h b/arch/arm/mach-omap2/vp.h
-index f78752b..d9bc4f1 100644
---- a/arch/arm/mach-omap2/vp.h
-+++ b/arch/arm/mach-omap2/vp.h
-@@ -119,7 +119,6 @@ extern struct omap_vp_instance omap4_vp_core;
- void omap_vp_init(struct voltagedomain *voltdm);
- void omap_vp_enable(struct voltagedomain *voltdm);
- void omap_vp_disable(struct voltagedomain *voltdm);
--unsigned long omap_vp_get_curr_volt(struct voltagedomain *voltdm);
- int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			      unsigned long target_volt);
- int omap_vp_update_errorgain(struct voltagedomain *voltdm,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0139-OMAP3-VP-combine-setting-init-voltage-into-common-fu.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0139-OMAP3-VP-combine-setting-init-voltage-into-common-fu.patch
deleted file mode 100644
index 484ae55..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0139-OMAP3-VP-combine-setting-init-voltage-into-common-fu.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 562b12a6336f94d9e5957c68b7181a9f36931e7a Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Fri, 15 Jul 2011 17:05:48 -0700
-Subject: [PATCH 139/149] OMAP3+: VP: combine setting init voltage into common function
-
-combine VPCONFIG init voltage setup into common function and use from
-both vp_enable and from vp_forceupdate_scale().
-
-NOTE: this patch changes the sequence of when the initVDD bit is
-cleared.  The bit is now cleared immediately after it was written.
-Since only the rising edge of this bit has any affect according to the
-TRM, the exact timing of clearing of this bit should not have any
-effect.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vp.c |   58 +++++++++++++++-------------------------------
- 1 files changed, 19 insertions(+), 39 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vp.c b/arch/arm/mach-omap2/vp.c
-index 24020ea..66bd700 100644
---- a/arch/arm/mach-omap2/vp.c
-+++ b/arch/arm/mach-omap2/vp.c
-@@ -9,31 +9,18 @@
- #include "prm-regbits-44xx.h"
- #include "prm44xx.h"
- 
--static void vp_latch_vsel(struct voltagedomain *voltdm)
-+static u32 _vp_set_init_voltage(struct voltagedomain *voltdm, u32 volt)
- {
- 	struct omap_vp_instance *vp = voltdm->vp;
- 	u32 vpconfig;
--	unsigned long uvdc;
- 	char vsel;
- 
--	uvdc = omap_voltage_get_nom_volt(voltdm);
--	if (!uvdc) {
--		pr_warning("%s: unable to find current voltage for vdd_%s\n",
--			__func__, voltdm->name);
--		return;
--	}
--
--	if (!voltdm->pmic || !voltdm->pmic->uv_to_vsel) {
--		pr_warning("%s: PMIC function to convert voltage in uV to"
--			" vsel not registered\n", __func__);
--		return;
--	}
--
--	vsel = voltdm->pmic->uv_to_vsel(uvdc);
-+	vsel = voltdm->pmic->uv_to_vsel(volt);
- 
- 	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig &= ~(vp->common->vpconfig_initvoltage_mask |
--			vp->common->vpconfig_initvdd);
-+		      vp->common->vpconfig_forceupdate |
-+		      vp->common->vpconfig_initvdd);
- 	vpconfig |= vsel << __ffs(vp->common->vpconfig_initvoltage_mask);
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
-@@ -43,6 +30,8 @@ static void vp_latch_vsel(struct voltagedomain *voltdm)
- 
- 	/* Clear initVDD copy trigger bit */
- 	voltdm->write(vpconfig, vp->vpconfig);
-+
-+	return vpconfig;
- }
- 
- /* Generic voltage init functions */
-@@ -149,22 +138,11 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 		return -ETIMEDOUT;
- 	}
- 
--	/* Configure for VP-Force Update */
--	vpconfig = voltdm->read(vp->vpconfig);
--	vpconfig &= ~(vp->common->vpconfig_initvdd |
--			vp->common->vpconfig_forceupdate |
--			vp->common->vpconfig_initvoltage_mask);
--	vpconfig |= ((target_vsel <<
--		      __ffs(vp->common->vpconfig_initvoltage_mask)));
--	voltdm->write(vpconfig, vp->vpconfig);
--
--	/* Trigger initVDD value copy to voltage processor */
--	vpconfig |= vp->common->vpconfig_initvdd;
--	voltdm->write(vpconfig, vp->vpconfig);
-+	vpconfig = _vp_set_init_voltage(voltdm, target_volt);
- 
- 	/* Force update of voltage */
--	vpconfig |= vp->common->vpconfig_forceupdate;
--	voltdm->write(vpconfig, vp->vpconfig);
-+	voltdm->write(vpconfig | vp->common->vpconfig_forceupdate,
-+		      voltdm->vp->vpconfig);
- 
- 	/*
- 	 * Wait for TransactionDone. Typical latency is <200us.
-@@ -197,12 +175,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- 			"to clear the TRANXDONE status\n",
- 			__func__, voltdm->name);
- 
--	vpconfig = voltdm->read(vp->vpconfig);
--	/* Clear initVDD copy trigger bit */
--	vpconfig &= ~vp->common->vpconfig_initvdd;
--	voltdm->write(vpconfig, vp->vpconfig);
- 	/* Clear force bit */
--	vpconfig &= ~vp->common->vpconfig_forceupdate;
- 	voltdm->write(vpconfig, vp->vpconfig);
- 
- 	return 0;
-@@ -218,7 +191,7 @@ int omap_vp_forceupdate_scale(struct voltagedomain *voltdm,
- void omap_vp_enable(struct voltagedomain *voltdm)
- {
- 	struct omap_vp_instance *vp;
--	u32 vpconfig;
-+	u32 vpconfig, volt;
- 
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
-@@ -236,12 +209,19 @@ void omap_vp_enable(struct voltagedomain *voltdm)
- 	if (vp->enabled)
- 		return;
- 
--	vp_latch_vsel(voltdm);
-+	volt = voltdm_get_voltage(voltdm);
-+	if (!volt) {
-+		pr_warning("%s: unable to find current voltage for %s\n",
-+			   __func__, voltdm->name);
-+		return;
-+	}
-+
-+	vpconfig = _vp_set_init_voltage(voltdm, volt);
- 
- 	/* Enable VP */
--	vpconfig = voltdm->read(vp->vpconfig);
- 	vpconfig |= vp->common->vpconfig_vpenable;
- 	voltdm->write(vpconfig, vp->vpconfig);
-+
- 	vp->enabled = true;
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0140-OMAP3-voltage-rename-scale-and-reset-functions-using.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0140-OMAP3-voltage-rename-scale-and-reset-functions-using.patch
deleted file mode 100644
index 00a2b86..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0140-OMAP3-voltage-rename-scale-and-reset-functions-using.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From dfebda78f9517dcf20fae5f5cbbdb3c1bebe4e17 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 5 Apr 2011 16:27:21 -0700
-Subject: [PATCH 140/149] OMAP3+: voltage: rename scale and reset functions using voltdm_ prefix
-
-Rename voltage scaling related functions to use voltdm_ prefix intead
-of omap_voltage_, and cleanup kerneldoc comments in the process.
-
-s/omap_voltage_scale_vdd/voltdm_scale/
-s/omap_voltage_reset/voltdm_reset/
-
-Also, in voltdm_reset() s/target_uvdc/target_volt/ to be consistent with
-naming throughout the file.
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/pm.c                 |    2 +-
- arch/arm/mach-omap2/smartreflex-class3.c |    2 +-
- arch/arm/mach-omap2/voltage.c            |   29 ++++++++++++++---------------
- arch/arm/mach-omap2/voltage.h            |    5 ++---
- 4 files changed, 18 insertions(+), 20 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c
-index f81340e..659e400 100644
---- a/arch/arm/mach-omap2/pm.c
-+++ b/arch/arm/mach-omap2/pm.c
-@@ -214,7 +214,7 @@ static int __init omap2_set_init_voltage(char *vdd_name, char *clk_name,
- 		goto exit;
- 	}
- 
--	omap_voltage_scale_vdd(voltdm, bootup_volt);
-+	voltdm_scale(voltdm, bootup_volt);
- 	return 0;
- 
- exit:
-diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c
-index f438cf4..4eac1bc 100644
---- a/arch/arm/mach-omap2/smartreflex-class3.c
-+++ b/arch/arm/mach-omap2/smartreflex-class3.c
-@@ -32,7 +32,7 @@ static int sr_class3_disable(struct voltagedomain *voltdm, int is_volt_reset)
- 	omap_vp_disable(voltdm);
- 	sr_disable(voltdm);
- 	if (is_volt_reset)
--		omap_voltage_reset(voltdm);
-+		voltdm_reset(voltdm);
- 
- 	return 0;
- }
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 32f0873..7588480 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -94,16 +94,15 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- }
- 
- /**
-- * omap_voltage_scale_vdd() - API to scale voltage of a particular
-- *				voltage domain.
-- * @voltdm:	pointer to the VDD which is to be scaled.
-- * @target_volt:	The target voltage of the voltage domain
-+ * voltdm_scale() - API to scale voltage of a particular voltage domain.
-+ * @voltdm: pointer to the voltage domain which is to be scaled.
-+ * @target_volt: The target voltage of the voltage domain
-  *
-  * This API should be called by the kernel to do the voltage scaling
-- * for a particular voltage domain during dvfs or any other situation.
-+ * for a particular voltage domain during DVFS.
-  */
--int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
--		unsigned long target_volt)
-+int voltdm_scale(struct voltagedomain *voltdm,
-+		 unsigned long target_volt)
- {
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
-@@ -120,31 +119,31 @@ int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
- }
- 
- /**
-- * omap_voltage_reset() - Resets the voltage of a particular voltage domain
-- *			to that of the current OPP.
-- * @voltdm:	pointer to the VDD whose voltage is to be reset.
-+ * voltdm_reset() - Resets the voltage of a particular voltage domain
-+ * 	            to that of the current OPP.
-+ * @voltdm: pointer to the voltage domain whose voltage is to be reset.
-  *
-  * This API finds out the correct voltage the voltage domain is supposed
-  * to be at and resets the voltage to that level. Should be used especially
-  * while disabling any voltage compensation modules.
-  */
--void omap_voltage_reset(struct voltagedomain *voltdm)
-+void voltdm_reset(struct voltagedomain *voltdm)
- {
--	unsigned long target_uvdc;
-+	unsigned long target_volt;
- 
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return;
- 	}
- 
--	target_uvdc = omap_voltage_get_nom_volt(voltdm);
--	if (!target_uvdc) {
-+	target_volt = omap_voltage_get_nom_volt(voltdm);
-+	if (!target_volt) {
- 		pr_err("%s: unable to find current voltage for vdd_%s\n",
- 			__func__, voltdm->name);
- 		return;
- 	}
- 
--	omap_voltage_scale_vdd(voltdm, target_uvdc);
-+	voltdm_scale(voltdm, target_volt);
- }
- 
- /**
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index d2a0c24..e3efbf9 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -151,9 +151,6 @@ struct omap_vdd_info {
- 	u32 curr_volt;
- };
- 
--int omap_voltage_scale_vdd(struct voltagedomain *voltdm,
--		unsigned long target_volt);
--void omap_voltage_reset(struct voltagedomain *voltdm);
- void omap_voltage_get_volttable(struct voltagedomain *voltdm,
- 		struct omap_volt_data **volt_data);
- struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
-@@ -191,4 +188,6 @@ int voltdm_for_each(int (*fn)(struct voltagedomain *voltdm, void *user),
- int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
- 			  int (*fn)(struct voltagedomain *voltdm,
- 				    struct powerdomain *pwrdm));
-+int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
-+void voltdm_reset(struct voltagedomain *voltdm);
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0141-OMAP3-voltage-move-rename-curr_volt-from-vdd_info-in.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0141-OMAP3-voltage-move-rename-curr_volt-from-vdd_info-in.patch
deleted file mode 100644
index c9c483c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0141-OMAP3-voltage-move-rename-curr_volt-from-vdd_info-in.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 20a2c2c2dcf15d7e66d70b5e6724597dd697b4a7 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Tue, 5 Apr 2011 16:55:22 -0700
-Subject: [PATCH 141/149] OMAP3+: voltage: move/rename curr_volt from vdd_info into struct voltagedomain
-
-Track current nominal voltage as part of struct voltagedomain instead
-of omap_vdd_info, which will soon be removed.
-
-Also renames field from curr_volt to nominal_volt.
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c      |    5 ++---
- arch/arm/mach-omap2/voltage.c |    6 +-----
- arch/arm/mach-omap2/voltage.h |    4 ++--
- 3 files changed, 5 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index e855559..3233c69 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -119,7 +119,7 @@ int omap_vc_pre_scale(struct voltagedomain *voltdm,
- 	}
- 
- 	*target_vsel = voltdm->pmic->uv_to_vsel(target_volt);
--	*current_vsel = voltdm->pmic->uv_to_vsel(vdd->curr_volt);
-+	*current_vsel = voltdm->pmic->uv_to_vsel(voltdm->nominal_volt);
- 
- 	/* Setting the ON voltage to the new target voltage */
- 	vc_cmdval = voltdm->read(vc->cmdval_reg);
-@@ -136,7 +136,6 @@ void omap_vc_post_scale(struct voltagedomain *voltdm,
- 			unsigned long target_volt,
- 			u8 target_vsel, u8 current_vsel)
- {
--	struct omap_vdd_info *vdd = voltdm->vdd;
- 	u32 smps_steps = 0, smps_delay = 0;
- 
- 	smps_steps = abs(target_vsel - current_vsel);
-@@ -145,7 +144,7 @@ void omap_vc_post_scale(struct voltagedomain *voltdm,
- 			voltdm->pmic->slew_rate) + 2;
- 	udelay(smps_delay);
- 
--	vdd->curr_volt = target_volt;
-+	voltdm->nominal_volt = target_volt;
- }
- 
- /* vc_bypass_scale - VC bypass method of voltage scaling */
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 7588480..29ab389 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -81,16 +81,12 @@ ovdc_out:
-  */
- unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- {
--	struct omap_vdd_info *vdd;
--
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return 0;
- 	}
- 
--	vdd = voltdm->vdd;
--
--	return vdd->curr_volt;
-+	return voltdm->nominal_volt;
- }
- 
- /**
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index e3efbf9..3e32eda 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -61,6 +61,7 @@ struct omap_vfsm_instance {
-  * @vdd: to be removed
-  * @pwrdms: powerdomains in this voltagedomain
-  * @scale: function used to scale the voltage of the voltagedomain
-+ * @nominal_volt: current nominal voltage for this voltage domain
-  */
- struct voltagedomain {
- 	char *name;
-@@ -84,6 +85,7 @@ struct voltagedomain {
- 
- 	int (*scale) (struct voltagedomain *voltdm,
- 		      unsigned long target_volt);
-+	u32 nominal_volt;
- 
- 	struct omap_vdd_info *vdd;
- };
-@@ -144,11 +146,9 @@ struct omap_voltdm_pmic {
-  *
-  * @volt_data		: voltage table having the distinct voltages supported
-  *			  by the domain and other associated per voltage data.
-- * @curr_volt		: current voltage for this vdd.
-  */
- struct omap_vdd_info {
- 	struct omap_volt_data *volt_data;
--	u32 curr_volt;
- };
- 
- void omap_voltage_get_volttable(struct voltagedomain *voltdm,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0142-OMAP3-voltdm-final-removal-of-omap_vdd_info.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0142-OMAP3-voltdm-final-removal-of-omap_vdd_info.patch
deleted file mode 100644
index e191c6f..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0142-OMAP3-voltdm-final-removal-of-omap_vdd_info.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From e4cf1f9419b8613017296ee163acedb79dc2967b Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Thu, 14 Jul 2011 11:29:06 -0700
-Subject: [PATCH 142/149] OMAP3+: voltdm: final removal of omap_vdd_info
-
-Remove last remaining member (volt_data) from omap_vdd_info into
-struct voltagedomain and removal remaining usage and reference to
-omap_vdd_info.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/voltage.c                 |   54 ++++--------------------
- arch/arm/mach-omap2/voltage.h                 |   16 +------
- arch/arm/mach-omap2/voltagedomains3xxx_data.c |   14 ++-----
- arch/arm/mach-omap2/voltagedomains44xx_data.c |   15 +-----
- 4 files changed, 18 insertions(+), 81 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 29ab389..2e5528f 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -43,34 +43,6 @@
- 
- static LIST_HEAD(voltdm_list);
- 
--static int __init _config_common_vdd_data(struct voltagedomain *voltdm)
--{
--	/* Generic voltage parameters */
--	voltdm->scale = omap_vp_forceupdate_scale;
--
--	return 0;
--}
--
--static int __init omap_vdd_data_configure(struct voltagedomain *voltdm)
--{
--	int ret = -EINVAL;
--
--	if (!voltdm->pmic) {
--		pr_err("%s: PMIC info requried to configure vdd_%s not"
--			"populated.Hence cannot initialize vdd_%s\n",
--			__func__, voltdm->name, voltdm->name);
--		goto ovdc_out;
--	}
--
--	if (IS_ERR_VALUE(_config_common_vdd_data(voltdm)))
--		goto ovdc_out;
--
--	ret = 0;
--
--ovdc_out:
--	return ret;
--}
--
- /* Public functions */
- /**
-  * omap_voltage_get_nom_volt() - Gets the current non-auto-compensated voltage
-@@ -155,18 +127,14 @@ void voltdm_reset(struct voltagedomain *voltdm)
-  *
-  */
- void omap_voltage_get_volttable(struct voltagedomain *voltdm,
--		struct omap_volt_data **volt_data)
-+				struct omap_volt_data **volt_data)
- {
--	struct omap_vdd_info *vdd;
--
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return;
- 	}
- 
--	vdd = voltdm->vdd;
--
--	*volt_data = vdd->volt_data;
-+	*volt_data = voltdm->volt_data;
- }
- 
- /**
-@@ -185,9 +153,8 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
-  * domain or if there is no matching entry.
-  */
- struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
--		unsigned long volt)
-+						 unsigned long volt)
- {
--	struct omap_vdd_info *vdd;
- 	int i;
- 
- 	if (!voltdm || IS_ERR(voltdm)) {
-@@ -195,17 +162,15 @@ struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		return ERR_PTR(-EINVAL);
- 	}
- 
--	vdd = voltdm->vdd;
--
--	if (!vdd->volt_data) {
-+	if (!voltdm->volt_data) {
- 		pr_warning("%s: voltage table does not exist for vdd_%s\n",
- 			__func__, voltdm->name);
- 		return ERR_PTR(-ENODATA);
- 	}
- 
--	for (i = 0; vdd->volt_data[i].volt_nominal != 0; i++) {
--		if (vdd->volt_data[i].volt_nominal == volt)
--			return &vdd->volt_data[i];
-+	for (i = 0; voltdm->volt_data[i].volt_nominal != 0; i++) {
-+		if (voltdm->volt_data[i].volt_nominal == volt)
-+			return &voltdm->volt_data[i];
- 	}
- 
- 	pr_notice("%s: Unable to match the current voltage with the voltage"
-@@ -304,9 +269,8 @@ int __init omap_voltage_late_init(void)
- 			omap_vc_init_channel(voltdm);
- 		}
- 
--		if (voltdm->vdd) {
--			if (omap_vdd_data_configure(voltdm))
--				continue;
-+		if (voltdm->vp) {
-+			voltdm->scale = omap_vp_forceupdate_scale;
- 			omap_vp_init(voltdm);
- 		}
- 	}
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 3e32eda..68b1ed5 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -33,8 +33,6 @@ struct powerdomain;
- #define OMAP3_VOLTOFFSET	0xff
- #define OMAP3_VOLTSETUP2	0xff
- 
--struct omap_vdd_info;
--
- /**
-  * struct omap_vfsm_instance - per-voltage manager FSM register/bitfield
-  * data
-@@ -85,9 +83,9 @@ struct voltagedomain {
- 
- 	int (*scale) (struct voltagedomain *voltdm,
- 		      unsigned long target_volt);
--	u32 nominal_volt;
- 
--	struct omap_vdd_info *vdd;
-+	u32 nominal_volt;
-+	struct omap_volt_data *volt_data;
- };
- 
- /**
-@@ -141,16 +139,6 @@ struct omap_voltdm_pmic {
- 	u8 (*uv_to_vsel) (unsigned long uV);
- };
- 
--/**
-- * omap_vdd_info - Per Voltage Domain info
-- *
-- * @volt_data		: voltage table having the distinct voltages supported
-- *			  by the domain and other associated per voltage data.
-- */
--struct omap_vdd_info {
--	struct omap_volt_data *volt_data;
--};
--
- void omap_voltage_get_volttable(struct voltagedomain *voltdm,
- 		struct omap_volt_data **volt_data);
- struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
-diff --git a/arch/arm/mach-omap2/voltagedomains3xxx_data.c b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-index e7a0be1..b0d0ae1 100644
---- a/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains3xxx_data.c
-@@ -37,16 +37,12 @@ static const struct omap_vfsm_instance omap3_vdd1_vfsm = {
- 	.voltsetup_mask = OMAP3430_SETUP_TIME1_MASK,
- };
- 
--static struct omap_vdd_info omap3_vdd1_info;
--
- static const struct omap_vfsm_instance omap3_vdd2_vfsm = {
- 	.voltsetup_reg = OMAP3_PRM_VOLTSETUP1_OFFSET,
- 	.voltsetup_shift = OMAP3430_SETUP_TIME2_SHIFT,
- 	.voltsetup_mask = OMAP3430_SETUP_TIME2_MASK,
- };
- 
--static struct omap_vdd_info omap3_vdd2_info;
--
- static struct voltagedomain omap3_voltdm_mpu = {
- 	.name = "mpu_iva",
- 	.scalable = true,
-@@ -56,7 +52,6 @@ static struct voltagedomain omap3_voltdm_mpu = {
- 	.vc = &omap3_vc_mpu,
- 	.vfsm = &omap3_vdd1_vfsm,
- 	.vp = &omap3_vp_mpu,
--	.vdd = &omap3_vdd1_info,
- };
- 
- static struct voltagedomain omap3_voltdm_core = {
-@@ -68,7 +63,6 @@ static struct voltagedomain omap3_voltdm_core = {
- 	.vc = &omap3_vc_core,
- 	.vfsm = &omap3_vdd2_vfsm,
- 	.vp = &omap3_vp_core,
--	.vdd = &omap3_vdd2_info,
- };
- 
- static struct voltagedomain omap3_voltdm_wkup = {
-@@ -94,11 +88,11 @@ void __init omap3xxx_voltagedomains_init(void)
- 	 * for the currently-running IC
- 	 */
- 	if (cpu_is_omap3630()) {
--		omap3_vdd1_info.volt_data = omap36xx_vddmpu_volt_data;
--		omap3_vdd2_info.volt_data = omap36xx_vddcore_volt_data;
-+		omap3_voltdm_mpu.volt_data = omap36xx_vddmpu_volt_data;
-+		omap3_voltdm_core.volt_data = omap36xx_vddcore_volt_data;
- 	} else {
--		omap3_vdd1_info.volt_data = omap34xx_vddmpu_volt_data;
--		omap3_vdd2_info.volt_data = omap34xx_vddcore_volt_data;
-+		omap3_voltdm_mpu.volt_data = omap34xx_vddmpu_volt_data;
-+		omap3_voltdm_core.volt_data = omap34xx_vddcore_volt_data;
- 	}
- 
- 	for (i = 0; voltdm = voltagedomains_omap3[i], voltdm; i++)
-diff --git a/arch/arm/mach-omap2/voltagedomains44xx_data.c b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-index 9c20fbb..c4584e9 100644
---- a/arch/arm/mach-omap2/voltagedomains44xx_data.c
-+++ b/arch/arm/mach-omap2/voltagedomains44xx_data.c
-@@ -36,20 +36,14 @@ static const struct omap_vfsm_instance omap4_vdd_mpu_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_MPU_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_mpu_info;
--
- static const struct omap_vfsm_instance omap4_vdd_iva_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_IVA_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_iva_info;
--
- static const struct omap_vfsm_instance omap4_vdd_core_vfsm = {
- 	.voltsetup_reg = OMAP4_PRM_VOLTSETUP_CORE_RET_SLEEP_OFFSET,
- };
- 
--static struct omap_vdd_info omap4_vdd_core_info;
--
- static struct voltagedomain omap4_voltdm_mpu = {
- 	.name = "mpu",
- 	.scalable = true,
-@@ -59,7 +53,6 @@ static struct voltagedomain omap4_voltdm_mpu = {
- 	.vc = &omap4_vc_mpu,
- 	.vfsm = &omap4_vdd_mpu_vfsm,
- 	.vp = &omap4_vp_mpu,
--	.vdd = &omap4_vdd_mpu_info,
- };
- 
- static struct voltagedomain omap4_voltdm_iva = {
-@@ -71,7 +64,6 @@ static struct voltagedomain omap4_voltdm_iva = {
- 	.vc = &omap4_vc_iva,
- 	.vfsm = &omap4_vdd_iva_vfsm,
- 	.vp = &omap4_vp_iva,
--	.vdd = &omap4_vdd_iva_info,
- };
- 
- static struct voltagedomain omap4_voltdm_core = {
-@@ -83,7 +75,6 @@ static struct voltagedomain omap4_voltdm_core = {
- 	.vc = &omap4_vc_core,
- 	.vfsm = &omap4_vdd_core_vfsm,
- 	.vp = &omap4_vp_core,
--	.vdd = &omap4_vdd_core_info,
- };
- 
- static struct voltagedomain omap4_voltdm_wkup = {
-@@ -109,9 +100,9 @@ void __init omap44xx_voltagedomains_init(void)
- 	 * XXX Will depend on the process, validation, and binning
- 	 * for the currently-running IC
- 	 */
--	omap4_vdd_mpu_info.volt_data = omap44xx_vdd_mpu_volt_data;
--	omap4_vdd_iva_info.volt_data = omap44xx_vdd_iva_volt_data;
--	omap4_vdd_core_info.volt_data = omap44xx_vdd_core_volt_data;
-+	omap4_voltdm_mpu.volt_data = omap44xx_vdd_mpu_volt_data;
-+	omap4_voltdm_iva.volt_data = omap44xx_vdd_iva_volt_data;
-+	omap4_voltdm_core.volt_data = omap44xx_vdd_core_volt_data;
- 
- 	for (i = 0; voltdm = voltagedomains_omap4[i], voltdm; i++)
- 		voltdm->sys_clk.name = sys_clk_name;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0143-OMAP3-voltage-rename-omap_voltage_get_nom_volt-voltd.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0143-OMAP3-voltage-rename-omap_voltage_get_nom_volt-voltd.patch
deleted file mode 100644
index c65ead9..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0143-OMAP3-voltage-rename-omap_voltage_get_nom_volt-voltd.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From da00ff6be37578f4c1adbe5c7dd28844073f7873 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Fri, 15 Jul 2011 16:05:12 -0700
-Subject: [PATCH 143/149] OMAP3+: voltage: rename omap_voltage_get_nom_volt -> voltdm_get_voltage
-
-Use preferred voltdm_ naming for getting current nominal voltage.
-
-No functional changes.
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/smartreflex-class3.c |    2 +-
- arch/arm/mach-omap2/voltage.c            |   14 ++++++++------
- arch/arm/mach-omap2/voltage.h            |    2 +-
- 3 files changed, 10 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/smartreflex-class3.c b/arch/arm/mach-omap2/smartreflex-class3.c
-index 4eac1bc..53d9d0a 100644
---- a/arch/arm/mach-omap2/smartreflex-class3.c
-+++ b/arch/arm/mach-omap2/smartreflex-class3.c
-@@ -15,7 +15,7 @@
- 
- static int sr_class3_enable(struct voltagedomain *voltdm)
- {
--	unsigned long volt = omap_voltage_get_nom_volt(voltdm);
-+	unsigned long volt = voltdm_get_voltage(voltdm);
- 
- 	if (!volt) {
- 		pr_warning("%s: Curr voltage unknown. Cannot enable sr_%s\n",
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 2e5528f..031f6bf 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -45,13 +45,13 @@ static LIST_HEAD(voltdm_list);
- 
- /* Public functions */
- /**
-- * omap_voltage_get_nom_volt() - Gets the current non-auto-compensated voltage
-- * @voltdm:	pointer to the VDD for which current voltage info is needed
-+ * voltdm_get_voltage() - Gets the current non-auto-compensated voltage
-+ * @voltdm:	pointer to the voltdm for which current voltage info is needed
-  *
-- * API to get the current non-auto-compensated voltage for a VDD.
-- * Returns 0 in case of error else returns the current voltage for the VDD.
-+ * API to get the current non-auto-compensated voltage for a voltage domain.
-+ * Returns 0 in case of error else returns the current voltage.
-  */
--unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
-+unsigned long voltdm_get_voltage(struct voltagedomain *voltdm)
- {
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
-@@ -72,6 +72,8 @@ unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm)
- int voltdm_scale(struct voltagedomain *voltdm,
- 		 unsigned long target_volt)
- {
-+	int ret;
-+
- 	if (!voltdm || IS_ERR(voltdm)) {
- 		pr_warning("%s: VDD specified does not exist!\n", __func__);
- 		return -EINVAL;
-@@ -104,7 +106,7 @@ void voltdm_reset(struct voltagedomain *voltdm)
- 		return;
- 	}
- 
--	target_volt = omap_voltage_get_nom_volt(voltdm);
-+	target_volt = voltdm_get_voltage(voltdm);
- 	if (!target_volt) {
- 		pr_err("%s: unable to find current voltage for vdd_%s\n",
- 			__func__, voltdm->name);
-diff --git a/arch/arm/mach-omap2/voltage.h b/arch/arm/mach-omap2/voltage.h
-index 68b1ed5..b4c6259 100644
---- a/arch/arm/mach-omap2/voltage.h
-+++ b/arch/arm/mach-omap2/voltage.h
-@@ -143,7 +143,6 @@ void omap_voltage_get_volttable(struct voltagedomain *voltdm,
- 		struct omap_volt_data **volt_data);
- struct omap_volt_data *omap_voltage_get_voltdata(struct voltagedomain *voltdm,
- 		unsigned long volt);
--unsigned long omap_voltage_get_nom_volt(struct voltagedomain *voltdm);
- #ifdef CONFIG_PM
- int omap_voltage_register_pmic(struct voltagedomain *voltdm,
- 			       struct omap_voltdm_pmic *pmic);
-@@ -178,4 +177,5 @@ int voltdm_for_each_pwrdm(struct voltagedomain *voltdm,
- 				    struct powerdomain *pwrdm));
- int voltdm_scale(struct voltagedomain *voltdm, unsigned long target_volt);
- void voltdm_reset(struct voltagedomain *voltdm);
-+unsigned long voltdm_get_voltage(struct voltagedomain *voltdm);
- #endif
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0144-OMAP3-voltage-update-nominal-voltage-in-voltdm_scale.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0144-OMAP3-voltage-update-nominal-voltage-in-voltdm_scale.patch
deleted file mode 100644
index 63ecb27..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0144-OMAP3-voltage-update-nominal-voltage-in-voltdm_scale.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 5bd4a2cb8354937390805ed248235670cf229935 Mon Sep 17 00:00:00 2001
-From: Kevin Hilman <khilman at ti.com>
-Date: Mon, 18 Jul 2011 16:24:17 -0700
-Subject: [PATCH 144/149] OMAP3+: voltage: update nominal voltage in voltdm_scale() not VC post-scale
-
-Currently, the nominal voltage is updated in the VC post-scale function
-which is common to both scaling methods.  However, this has readabiliy
-problems as this update is not where it might be expected.  Instead, move
-the updated into voltdm_scale() upon a successful return of voltdm->scale()
-
-Signed-off-by: Kevin Hilman <khilman at ti.com>
----
- arch/arm/mach-omap2/vc.c      |    2 --
- arch/arm/mach-omap2/voltage.c |    6 +++++-
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/vc.c b/arch/arm/mach-omap2/vc.c
-index 3233c69..16fa912 100644
---- a/arch/arm/mach-omap2/vc.c
-+++ b/arch/arm/mach-omap2/vc.c
-@@ -143,8 +143,6 @@ void omap_vc_post_scale(struct voltagedomain *voltdm,
- 	smps_delay = ((smps_steps * voltdm->pmic->step_size) /
- 			voltdm->pmic->slew_rate) + 2;
- 	udelay(smps_delay);
--
--	voltdm->nominal_volt = target_volt;
- }
- 
- /* vc_bypass_scale - VC bypass method of voltage scaling */
-diff --git a/arch/arm/mach-omap2/voltage.c b/arch/arm/mach-omap2/voltage.c
-index 031f6bf..cebc8b1 100644
---- a/arch/arm/mach-omap2/voltage.c
-+++ b/arch/arm/mach-omap2/voltage.c
-@@ -85,7 +85,11 @@ int voltdm_scale(struct voltagedomain *voltdm,
- 		return -ENODATA;
- 	}
- 
--	return voltdm->scale(voltdm, target_volt);
-+	ret = voltdm->scale(voltdm, target_volt);
-+	if (!ret)
-+		voltdm->nominal_volt = target_volt;
-+
-+	return ret;
- }
- 
- /**
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0145-OMAP4-PM-TWL6030-fix-voltage-conversion-formula.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0145-OMAP4-PM-TWL6030-fix-voltage-conversion-formula.patch
deleted file mode 100644
index e114b6c..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0145-OMAP4-PM-TWL6030-fix-voltage-conversion-formula.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 8ec7a1410e7ad5a4027deabc8025b5c7291c7579 Mon Sep 17 00:00:00 2001
-From: Patrick Titiano <p-titiano at ti.com>
-Date: Wed, 18 May 2011 00:17:30 -0500
-Subject: [PATCH 145/149] OMAP4: PM: TWL6030: fix voltage conversion formula
-
-omap_twl_vsel_to_uv() and omap_twl_uv_to_vsel() functions used to convert
-voltages to TWL6030 SMPS commands (a.k.a "vsel") implement incorrect conversion
-formula.
-It uses legacy OMAP3 formula, but OMAP4 Power IC has different offset and
-voltage step:
- - Voltage Step is now 12.66mV (instead of 12.5mV)
- - Offset is either 607.7mV or 709mV depending on TWL6030 chip revision
-   (instead of 600mV)
-This leads to setting voltages potentially higher than expected, and so
-potentially some (limited) power overconsumption.
-
-For reference, see formula and tables in section 8.5.2.3
-"Output Voltage Selection (Standard Mode / Extended Mode with or without offset)"
- in TWL6030 functional specifications document.
-
-[nm at ti.com: ported to voltdm_c]
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Patrick Titiano <p-titiano at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |   14 +++++++-------
- 1 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 6b247d1..a66bf6b 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -106,9 +106,9 @@ static unsigned long twl6030_vsel_to_uv(const u8 vsel)
- 		return 1350000;
- 
- 	if (smps_offset & 0x8)
--		return ((((vsel - 1) * 125) + 7000)) * 100;
-+		return ((((vsel - 1) * 1266) + 70900)) * 10;
- 	else
--		return ((((vsel - 1) * 125) + 6000)) * 100;
-+		return ((((vsel - 1) * 1266) + 60770)) * 10;
- }
- 
- static u8 twl6030_uv_to_vsel(unsigned long uv)
-@@ -138,9 +138,9 @@ static u8 twl6030_uv_to_vsel(unsigned long uv)
- 		return 0x3A;
- 
- 	if (smps_offset & 0x8)
--		return DIV_ROUND_UP(uv - 700000, 12500) + 1;
-+		return DIV_ROUND_UP(uv - 709000, 12660) + 1;
- 	else
--		return DIV_ROUND_UP(uv - 600000, 12500) + 1;
-+		return DIV_ROUND_UP(uv - 607700, 12660) + 1;
- }
- 
- static struct omap_voltdm_pmic omap3_mpu_pmic = {
-@@ -187,7 +187,7 @@ static struct omap_voltdm_pmic omap3_core_pmic = {
- 
- static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 	.slew_rate		= 4000,
--	.step_size		= 12500,
-+	.step_size		= 12660,
- 	.on_volt		= 1350000,
- 	.onlp_volt		= 1350000,
- 	.ret_volt		= 837500,
-@@ -208,7 +208,7 @@ static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 
- static struct omap_voltdm_pmic omap4_iva_pmic = {
- 	.slew_rate		= 4000,
--	.step_size		= 12500,
-+	.step_size		= 12660,
- 	.on_volt		= 1100000,
- 	.onlp_volt		= 1100000,
- 	.ret_volt		= 837500,
-@@ -229,7 +229,7 @@ static struct omap_voltdm_pmic omap4_iva_pmic = {
- 
- static struct omap_voltdm_pmic omap4_core_pmic = {
- 	.slew_rate		= 4000,
--	.step_size		= 12500,
-+	.step_size		= 12660,
- 	.on_volt		= 1100000,
- 	.onlp_volt		= 1100000,
- 	.ret_volt		= 837500,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0146-OMAP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0146-OMAP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch
deleted file mode 100644
index 4f3851e..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0146-OMAP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From bfc31f950af6d9e8eb59ffeb80b3ba39ef98a943 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 18 May 2011 00:17:31 -0500
-Subject: [PATCH 146/149] OMAP4: PM: TWL6030: fix uv to voltage for >0x39
-
-using 1.35V as a check is not correct, we know that beyond 0x39,
-voltages are non linear - hence use the conversion iff uV greater
-than that for 0x39. For example, with  709mV as the smps offset,
-the max linear is actually 1.41V(0x39vsel)!
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |    7 ++++++-
- 1 files changed, 6 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index a66bf6b..5def7c2 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -134,8 +134,13 @@ static u8 twl6030_uv_to_vsel(unsigned long uv)
- 	 * hardcoding only for 1.35 V which is used for 1GH OPP for
- 	 * OMAP4430.
- 	 */
--	if (uv == 1350000)
-+	if (uv > twl6030_vsel_to_uv(0x39)) {
-+		if (uv == 1350000)
-+			return 0x3A;
-+		pr_err("%s:OUT OF RANGE! non mapped vsel for %ld Vs max %ld\n",
-+			__func__, uv, twl6030_vsel_to_uv(0x39));
- 		return 0x3A;
-+	}
- 
- 	if (smps_offset & 0x8)
- 		return DIV_ROUND_UP(uv - 709000, 12660) + 1;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0147-OMAP4-PM-TWL6030-address-0V-conversions.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0147-OMAP4-PM-TWL6030-address-0V-conversions.patch
deleted file mode 100644
index 5456fee..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0147-OMAP4-PM-TWL6030-address-0V-conversions.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ccac5e6430353118ac7b9c46493e8cdf12114bf1 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 18 May 2011 00:17:32 -0500
-Subject: [PATCH 147/149] OMAP4: PM: TWL6030: address 0V conversions
-
-0V conversions should be mapped to 0 as it is meant to denote
-off voltages.
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 5def7c2..b30adf3 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -95,6 +95,8 @@ static unsigned long twl6030_vsel_to_uv(const u8 vsel)
- 		is_offset_valid = true;
- 	}
- 
-+	if (!vsel)
-+		return 0;
- 	/*
- 	 * There is no specific formula for voltage to vsel
- 	 * conversion above 1.3V. There are special hardcoded
-@@ -127,6 +129,8 @@ static u8 twl6030_uv_to_vsel(unsigned long uv)
- 		is_offset_valid = true;
- 	}
- 
-+	if (!uv)
-+		return 0x00;
- 	/*
- 	 * There is no specific formula for voltage to vsel
- 	 * conversion above 1.3V. There are special hardcoded
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0148-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0148-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch
deleted file mode 100644
index 64dd7cb..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0148-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 884d61bd127d9e46f6b31c24c5109ba9bc7a3730 Mon Sep 17 00:00:00 2001
-From: Patrick Titiano <p-titiano at ti.com>
-Date: Wed, 18 May 2011 00:17:33 -0500
-Subject: [PATCH 148/149] OMAP4: PM: TWL6030: fix ON/RET/OFF voltages
-
-According to latest OMAP4430 Data Manual v0.4 dated March 2011:
- - Retention voltage shall be set to 0.83V. See tables 2.2, 2.4 and 2.6 in DM.
-   This allows saving a little more power in retention states.
- - OPP100 IVA nominal voltage is 1.188V. See table 2.4 in DM.
-   This allows saving a little power when CPU wakes up until Smart-Reflex is
-   not yet resumed.
-
-[nm at ti.com: ported to voltdm_c]
-Signed-off-by: Nishanth Menon <nm at ti.com>
-Signed-off-by: Patrick Titiano <p-titiano at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |   24 ++++++++++++------------
- 1 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index b30adf3..4bc99fb 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -197,10 +197,10 @@ static struct omap_voltdm_pmic omap3_core_pmic = {
- static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12660,
--	.on_volt		= 1350000,
--	.onlp_volt		= 1350000,
--	.ret_volt		= 837500,
--	.off_volt		= 600000,
-+	.on_volt		= 1375000,
-+	.onlp_volt		= 1375000,
-+	.ret_volt		= 830000,
-+	.off_volt		= 0,
- 	.volt_setup_time	= 0,
- 	.vp_erroroffset		= OMAP4_VP_CONFIG_ERROROFFSET,
- 	.vp_vstepmin		= OMAP4_VP_VSTEPMIN_VSTEPMIN,
-@@ -218,10 +218,10 @@ static struct omap_voltdm_pmic omap4_mpu_pmic = {
- static struct omap_voltdm_pmic omap4_iva_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12660,
--	.on_volt		= 1100000,
--	.onlp_volt		= 1100000,
--	.ret_volt		= 837500,
--	.off_volt		= 600000,
-+	.on_volt		= 1188000,
-+	.onlp_volt		= 1188000,
-+	.ret_volt		= 830000,
-+	.off_volt		= 0,
- 	.volt_setup_time	= 0,
- 	.vp_erroroffset		= OMAP4_VP_CONFIG_ERROROFFSET,
- 	.vp_vstepmin		= OMAP4_VP_VSTEPMIN_VSTEPMIN,
-@@ -239,10 +239,10 @@ static struct omap_voltdm_pmic omap4_iva_pmic = {
- static struct omap_voltdm_pmic omap4_core_pmic = {
- 	.slew_rate		= 4000,
- 	.step_size		= 12660,
--	.on_volt		= 1100000,
--	.onlp_volt		= 1100000,
--	.ret_volt		= 837500,
--	.off_volt		= 600000,
-+	.on_volt		= 1200000,
-+	.onlp_volt		= 1200000,
-+	.ret_volt		= 830000,
-+	.off_volt		= 0,
- 	.volt_setup_time	= 0,
- 	.vp_erroroffset		= OMAP4_VP_CONFIG_ERROROFFSET,
- 	.vp_vstepmin		= OMAP4_VP_VSTEPMIN_VSTEPMIN,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0149-OMAP4-PM-TWL6030-add-cmd-register.patch b/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0149-OMAP4-PM-TWL6030-add-cmd-register.patch
deleted file mode 100644
index 78829a6..0000000
--- a/recipes-kernel/linux/linux-3.0/pm-wip/voltdm/0149-OMAP4-PM-TWL6030-add-cmd-register.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 478e5300d4eb33cdebd393d634304a83833bc4d4 Mon Sep 17 00:00:00 2001
-From: Nishanth Menon <nm at ti.com>
-Date: Wed, 18 May 2011 00:17:34 -0500
-Subject: [PATCH 149/149] OMAP4: PM: TWL6030: add cmd register
-
-Without the command register, ON/ONLP/RET/OFF voltages are
-useless. and TWL will be unable to use these
-
-Signed-off-by: Nishanth Menon <nm at ti.com>
----
- arch/arm/mach-omap2/omap_twl.c |    6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/omap_twl.c b/arch/arm/mach-omap2/omap_twl.c
-index 4bc99fb..f515a1a 100644
---- a/arch/arm/mach-omap2/omap_twl.c
-+++ b/arch/arm/mach-omap2/omap_twl.c
-@@ -42,8 +42,11 @@
- 
- #define OMAP4_SRI2C_SLAVE_ADDR		0x12
- #define OMAP4_VDD_MPU_SR_VOLT_REG	0x55
-+#define OMAP4_VDD_MPU_SR_CMD_REG	0x56
- #define OMAP4_VDD_IVA_SR_VOLT_REG	0x5B
-+#define OMAP4_VDD_IVA_SR_CMD_REG	0x5C
- #define OMAP4_VDD_CORE_SR_VOLT_REG	0x61
-+#define OMAP4_VDD_CORE_SR_CMD_REG	0x62
- 
- #define OMAP4_VP_CONFIG_ERROROFFSET	0x00
- #define OMAP4_VP_VSTEPMIN_VSTEPMIN	0x01
-@@ -210,6 +213,7 @@ static struct omap_voltdm_pmic omap4_mpu_pmic = {
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP4_VDD_MPU_SR_VOLT_REG,
-+	.cmd_reg_addr		= OMAP4_VDD_MPU_SR_CMD_REG,
- 	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
-@@ -231,6 +235,7 @@ static struct omap_voltdm_pmic omap4_iva_pmic = {
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP4_VDD_IVA_SR_VOLT_REG,
-+	.cmd_reg_addr		= OMAP4_VDD_IVA_SR_CMD_REG,
- 	.i2c_high_speed		= true,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
-@@ -252,6 +257,7 @@ static struct omap_voltdm_pmic omap4_core_pmic = {
- 	.vp_timeout_us		= OMAP4_VP_VLIMITTO_TIMEOUT_US,
- 	.i2c_slave_addr		= OMAP4_SRI2C_SLAVE_ADDR,
- 	.volt_reg_addr		= OMAP4_VDD_CORE_SR_VOLT_REG,
-+	.cmd_reg_addr		= OMAP4_VDD_CORE_SR_CMD_REG,
- 	.vsel_to_uv		= twl6030_vsel_to_uv,
- 	.uv_to_vsel		= twl6030_uv_to_vsel,
- };
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch b/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch
deleted file mode 100644
index 8c1faba..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From cc8c276d530520ce822a1d0e8d748f7b9e54a2d5 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Mon, 4 Jan 2010 19:20:25 -0800
-Subject: [PATCH 01/14] mmc: don't display single block read console messages
-
-mmc: don't display single block read console messages
----
- drivers/mmc/card/block.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
-index f85e422..0025735 100644
---- a/drivers/mmc/card/block.c
-+++ b/drivers/mmc/card/block.c
-@@ -812,8 +812,8 @@ static int mmc_blk_issue_rw_rq(struct mmc_queue *mq, struct request *req)
- 		    brq.data.error || brq.stop.error) {
- 			if (brq.data.blocks > 1 && rq_data_dir(req) == READ) {
- 				/* Redo read one sector at a time */
--				printk(KERN_WARNING "%s: retrying using single "
--				       "block read\n", req->rq_disk->disk_name);
-+				/* printk(KERN_WARNING "%s: retrying using single "
-+				       "block read\n", req->rq_disk->disk_name); */
- 				disable_multi = 1;
- 				continue;
- 			}
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch b/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch
deleted file mode 100644
index 54305bd..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From a2e59d4041e8c42e21d90c0696ea8437a0cfc866 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Mon, 23 May 2011 12:16:50 -0700
-Subject: [PATCH 02/14] omap: Change omap_device activate/dectivate latency messages from pr_warning to pr_debug
-
-Messages can be safely ignored, so reduce console noise
-
-Signed-off-by: Steve Sakoman <steve at sakoman.com>
----
- arch/arm/plat-omap/omap_device.c |    8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
-index be45147..e3d9520 100644
---- a/arch/arm/plat-omap/omap_device.c
-+++ b/arch/arm/plat-omap/omap_device.c
-@@ -146,12 +146,12 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
- 			odpl->activate_lat_worst = act_lat;
- 			if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
- 				odpl->activate_lat = act_lat;
--				pr_warning("omap_device: %s.%d: new worst case "
-+				pr_debug("omap_device: %s.%d: new worst case "
- 					   "activate latency %d: %llu\n",
- 					   od->pdev.name, od->pdev.id,
- 					   od->pm_lat_level, act_lat);
- 			} else
--				pr_warning("omap_device: %s.%d: activate "
-+				pr_debug("omap_device: %s.%d: activate "
- 					   "latency %d higher than exptected. "
- 					   "(%llu > %d)\n",
- 					   od->pdev.name, od->pdev.id,
-@@ -214,12 +214,12 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
- 			odpl->deactivate_lat_worst = deact_lat;
- 			if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
- 				odpl->deactivate_lat = deact_lat;
--				pr_warning("omap_device: %s.%d: new worst case "
-+				pr_debug("omap_device: %s.%d: new worst case "
- 					   "deactivate latency %d: %llu\n",
- 					   od->pdev.name, od->pdev.id,
- 					   od->pm_lat_level, deact_lat);
- 			} else
--				pr_warning("omap_device: %s.%d: deactivate "
-+				pr_debug("omap_device: %s.%d: deactivate "
- 					   "latency %d higher than exptected. "
- 					   "(%llu > %d)\n",
- 					   od->pdev.name, od->pdev.id,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch b/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
deleted file mode 100644
index 4356287..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 630557c2785955cc0abbe4bf29b22f703a404e02 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Tue, 19 Jan 2010 21:19:15 -0800
-Subject: [PATCH 03/14] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output
-
-also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp
----
- drivers/video/omap2/dss/venc.c           |   22 ++++++++++++++++++++++
- drivers/video/omap2/omapfb/omapfb-main.c |   10 +++++++++-
- 2 files changed, 31 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
-index 980f919..4fb594d 100644
---- a/drivers/video/omap2/dss/venc.c
-+++ b/drivers/video/omap2/dss/venc.c
-@@ -85,6 +85,11 @@
- #define VENC_OUTPUT_TEST			0xC8
- #define VENC_DAC_B__DAC_C			0xC8
- 
-+static char *tv_connection;
-+
-+module_param_named(tvcable, tv_connection, charp, 0);
-+MODULE_PARM_DESC(tvcable, "TV connection type (svideo, composite)");
-+
- struct venc_config {
- 	u32 f_control;
- 	u32 vidout_ctrl;
-@@ -461,6 +466,23 @@ static int venc_panel_probe(struct omap_dss_device *dssdev)
- {
- 	dssdev->panel.timings = omap_dss_pal_timings;
- 
-+	/* Allow the TV output to be overriden */
-+	if (tv_connection) {
-+		if (strcmp(tv_connection, "svideo") == 0) {
-+			printk(KERN_INFO
-+				"omapdss: tv output is svideo.\n");
-+			dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO;
-+		} else if (strcmp(tv_connection, "composite") == 0) {
-+			printk(KERN_INFO
-+				"omapdss: tv output is composite.\n");
-+			dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE;
-+		} else {
-+			printk(KERN_INFO
-+				"omapdss: unsupported output type'%s'.\n",
-+				tv_connection);
-+		}
-+	}
-+
- 	return 0;
- }
- 
-diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
-index 505bc12..c35c1f8 100644
---- a/drivers/video/omap2/omapfb/omapfb-main.c
-+++ b/drivers/video/omap2/omapfb/omapfb-main.c
-@@ -2002,7 +2002,15 @@ static int omapfb_mode_to_timings(const char *mode_str,
- 	int r;
- 
- #ifdef CONFIG_OMAP2_DSS_VENC
--	if (strcmp(mode_str, "pal") == 0) {
-+	if (strcmp(mode_str, "pal-16") == 0) {
-+		*timings = omap_dss_pal_timings;
-+		*bpp = 16;
-+		return 0;
-+	} else if (strcmp(mode_str, "ntsc-16") == 0) {
-+		*timings = omap_dss_ntsc_timings;
-+		*bpp = 16;
-+		return 0;
-+	} else if (strcmp(mode_str, "pal") == 0) {
- 		*timings = omap_dss_pal_timings;
- 		*bpp = 24;
- 		return 0;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch b/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch
deleted file mode 100644
index 94d629b..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From bf974dd3f24e623f04422b8013d047d78d430f0e Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Fri, 1 Jul 2011 10:00:03 -0700
-Subject: [PATCH 04/14] mtd: nand: Eliminate noisey "uncorrectable error" messages
-
-Other layers of the stack give more informative messages when __nand_correct_data() fails
-
-Signed-off-by: Steve Sakoman <steve at sakoman.com>
----
- drivers/mtd/nand/nand_ecc.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/mtd/nand/nand_ecc.c b/drivers/mtd/nand/nand_ecc.c
-index 271b8e7..ad55e55 100644
---- a/drivers/mtd/nand/nand_ecc.c
-+++ b/drivers/mtd/nand/nand_ecc.c
-@@ -507,7 +507,7 @@ int __nand_correct_data(unsigned char *buf,
- 	if ((bitsperbyte[b0] + bitsperbyte[b1] + bitsperbyte[b2]) == 1)
- 		return 1;	/* error in ecc data; no action needed */
- 
--	printk(KERN_ERR "uncorrectable error : ");
-+	// printk(KERN_ERR "uncorrectable error : ");
- 	return -1;
- }
- EXPORT_SYMBOL(__nand_correct_data);
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch b/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch
deleted file mode 100644
index 2b474d6..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0005-video-add-timings-for-hd720.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From fbc33b30b663ec8c0d4374ba08f0608a7cc4b977 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Sat, 19 Dec 2009 06:52:43 -0800
-Subject: [PATCH 05/14] video: add timings for hd720
-
----
- drivers/video/modedb.c |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c
-index cb175fe..9baead4 100644
---- a/drivers/video/modedb.c
-+++ b/drivers/video/modedb.c
-@@ -103,6 +103,10 @@ static const struct fb_videomode modedb[] = {
- 	{ NULL, 70, 1024, 768, 13333, 144, 24, 29, 3, 136, 6, 0,
- 		FB_VMODE_NONINTERLACED },
- 
-+	/* 1280x720 @ 60 Hz, 45 kHz hsync, CEA 681-E Format 4 */
-+	{ "hd720", 60, 1280, 720, 13468, 220, 110, 20, 5, 40, 5, 0,
-+		FB_VMODE_NONINTERLACED },
-+
- 	/* 1280x1024 @ 87 Hz interlaced, 51 kHz hsync */
- 	{ NULL, 87, 1280, 1024, 12500, 56, 16, 128, 1, 216, 12,	0,
- 		FB_VMODE_INTERLACED },
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch b/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
deleted file mode 100644
index b8fdba2..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 948bbae38457af6a11232375f9d95fc69641e9f4 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <sakoman at gmail.com>
-Date: Tue, 15 Dec 2009 15:17:44 -0800
-Subject: [PATCH 06/14] drivers: net: smsc911x: return ENODEV if device is not found
-
-Signed-off-by: Steve Sakoman <sakoman at gmail.com>
----
- drivers/net/smsc911x.c |    4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
-index c6d47d1..0c7c4a2 100644
---- a/drivers/net/smsc911x.c
-+++ b/drivers/net/smsc911x.c
-@@ -2169,8 +2169,10 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
- 		pdata->ops = &shifted_smsc911x_ops;
- 
- 	retval = smsc911x_init(dev);
--	if (retval < 0)
-+	if (retval < 0) {
-+		retval = -ENODEV;
- 		goto out_unmap_io_3;
-+	}
- 
- 	/* configure irq polarity and type before connecting isr */
- 	if (pdata->config.irq_polarity == SMSC911X_IRQ_POLARITY_ACTIVE_HIGH)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch b/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
deleted file mode 100644
index 158c0ad..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 34f40fe736113c2066bf86ca163a4aff8b6d061f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <sakoman at gmail.com>
-Date: Tue, 15 Dec 2009 15:24:10 -0800
-Subject: [PATCH 07/14] drivers: input: touchscreen: ads7846: return ENODEV if device is not found
-
-Signed-off-by: Steve Sakoman <sakoman at gmail.com>
----
- drivers/input/touchscreen/ads7846.c |   13 ++++++++++---
- 1 files changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
-index 5196861..b0bd1ba 100644
---- a/drivers/input/touchscreen/ads7846.c
-+++ b/drivers/input/touchscreen/ads7846.c
-@@ -1349,9 +1349,16 @@ static int __devinit ads7846_probe(struct spi_device *spi)
- 	 * the touchscreen, in case it's not connected.
- 	 */
- 	if (ts->model == 7845)
--		ads7845_read12_ser(&spi->dev, PWRDOWN);
-+		err = ads7845_read12_ser(&spi->dev, PWRDOWN);
- 	else
--		(void) ads7846_read12_ser(&spi->dev, READ_12BIT_SER(vaux));
-+		err = ads7846_read12_ser(&spi->dev, READ_12BIT_SER(vaux));
-+
-+	/* if sample is all 0's or all 1's then there is no device on spi */
-+	if ( (err == 0x000) || (err == 0xfff)) {
-+		dev_info(&spi->dev, "no device detected, test read result was 0x%08X\n", err);
-+		err = -ENODEV;
-+		goto err_free_irq;
-+	}
- 
- 	err = sysfs_create_group(&spi->dev.kobj, &ads784x_attr_group);
- 	if (err)
-@@ -1376,7 +1383,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
-  err_put_regulator:
- 	regulator_put(ts->reg);
-  err_free_gpio:
--	if (!ts->get_pendown_state)
-+	if (!ts->get_pendown_state && ts->gpio_pendown != -1)
- 		gpio_free(ts->gpio_pendown);
-  err_cleanup_filter:
- 	if (ts->filter_cleanup)
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch b/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch
deleted file mode 100644
index 8058b5c..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From baf40f002836b7c0fe9aeeba92ba483f6e9d2384 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Thu, 3 Mar 2011 13:29:30 -0800
-Subject: [PATCH 08/14] Revert "omap2_mcspi: Flush posted writes"
-
-This reverts commit a330ce2001b290c59fe98c37e981683ef0a75fdf.
-
-The above commit breaks the ads7846 driver
----
- drivers/spi/omap2_mcspi.c |    1 -
- 1 files changed, 0 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
-index 969cdd2..da981ee 100644
---- a/drivers/spi/omap2_mcspi.c
-+++ b/drivers/spi/omap2_mcspi.c
-@@ -195,7 +195,6 @@ static inline void mcspi_write_chconf0(const struct spi_device *spi, u32 val)
- 
- 	cs->chconf0 = val;
- 	mcspi_write_cs_reg(spi, OMAP2_MCSPI_CHCONF0, val);
--	mcspi_read_cs_reg(spi, OMAP2_MCSPI_CHCONF0);
- }
- 
- static void omap2_mcspi_set_dma_req(const struct spi_device *spi,
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch b/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch
deleted file mode 100644
index 220f974..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 3532a9ceb9eb81147eab751b8c124b59acc87374 Mon Sep 17 00:00:00 2001
-From: Todd Poynor <toddpoynor at google.com>
-Date: Wed, 27 Jul 2011 07:07:20 +0000
-Subject: [PATCH 09/14] rtc: twl: Use threaded IRQ, remove IRQ enable in interrupt handler
-
-IRQs disabled on entry to twl_rtc_interrupt is not a consequence
-of LOCKDEP; both twl6030 and twl4030 explicitly disable IRQs
-before calling the module IRQ handlers.
-
-The ISR should not be enabling IRQs; use a threaded IRQ handler
-instead.
-
-Also fixes warnings:
-
-  WARNING: at kernel/irq/handle.c:130 handle_irq_event_percpu+nnn
-  irq nnn handler twl_rtc_interrupt+nnn enabled interrupts
-
-Signed-off-by: Todd Poynor <toddpoynor at google.com>
----
- drivers/rtc/rtc-twl.c |   14 +++-----------
- 1 files changed, 3 insertions(+), 11 deletions(-)
-
-diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c
-index f9a2799..3fee95e 100644
---- a/drivers/rtc/rtc-twl.c
-+++ b/drivers/rtc/rtc-twl.c
-@@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int irq, void *rtc)
- 	int res;
- 	u8 rd_reg;
- 
--#ifdef CONFIG_LOCKDEP
--	/* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which
--	 * we don't want and can't tolerate.  Although it might be
--	 * friendlier not to borrow this thread context...
--	 */
--	local_irq_enable();
--#endif
--
- 	res = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
- 	if (res)
- 		goto out;
-@@ -462,9 +454,9 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev)
- 	if (ret < 0)
- 		goto out1;
- 
--	ret = request_irq(irq, twl_rtc_interrupt,
--				IRQF_TRIGGER_RISING,
--				dev_name(&rtc->dev), rtc);
-+	ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
-+				   IRQF_TRIGGER_RISING,
-+				   dev_name(&rtc->dev), rtc);
- 	if (ret < 0) {
- 		dev_err(&pdev->dev, "IRQ is not free.\n");
- 		goto out1;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch b/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch
deleted file mode 100644
index d710643..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 2cc62887b37d504df009d7241e6cebc3c65c32a5 Mon Sep 17 00:00:00 2001
-From: Todd Poynor <toddpoynor at google.com>
-Date: Wed, 27 Jul 2011 07:07:21 +0000
-Subject: [PATCH 10/14] rtc: twl: Fix registration vs. init order
-
-Only register as an RTC device after the hardware has been
-successfully initialized.  The RTC class driver will call
-back to this driver to read a pending alarm, and other
-drivers watching for new devices on the RTC class may
-read the RTC time upon registration.  Such access might
-occur while the RTC is stopped, prior to clearing
-pending alarms, etc.
-
-The new ordering also avoids leaving the platform
-device drvdata set to an unregistered struct rtc_device *
-on probe errors.
-
-Signed-off-by: Todd Poynor <toddpoynor at google.com>
----
- drivers/rtc/rtc-twl.c |   52 ++++++++++++++++++++++--------------------------
- 1 files changed, 24 insertions(+), 28 deletions(-)
-
-diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c
-index 3fee95e..a64494e 100644
---- a/drivers/rtc/rtc-twl.c
-+++ b/drivers/rtc/rtc-twl.c
-@@ -420,24 +420,12 @@ static struct rtc_class_ops twl_rtc_ops = {
- static int __devinit twl_rtc_probe(struct platform_device *pdev)
- {
- 	struct rtc_device *rtc;
--	int ret = 0;
-+	int ret = -EINVAL;
- 	int irq = platform_get_irq(pdev, 0);
- 	u8 rd_reg;
- 
- 	if (irq <= 0)
--		return -EINVAL;
--
--	rtc = rtc_device_register(pdev->name,
--				  &pdev->dev, &twl_rtc_ops, THIS_MODULE);
--	if (IS_ERR(rtc)) {
--		ret = PTR_ERR(rtc);
--		dev_err(&pdev->dev, "can't register RTC device, err %ld\n",
--			PTR_ERR(rtc));
--		goto out0;
--
--	}
--
--	platform_set_drvdata(pdev, rtc);
-+		goto out1;
- 
- 	ret = twl_rtc_read_u8(&rd_reg, REG_RTC_STATUS_REG);
- 	if (ret < 0)
-@@ -454,14 +442,6 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev)
- 	if (ret < 0)
- 		goto out1;
- 
--	ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
--				   IRQF_TRIGGER_RISING,
--				   dev_name(&rtc->dev), rtc);
--	if (ret < 0) {
--		dev_err(&pdev->dev, "IRQ is not free.\n");
--		goto out1;
--	}
--
- 	if (twl_class_is_6030()) {
- 		twl6030_interrupt_unmask(TWL6030_RTC_INT_MASK,
- 			REG_INT_MSK_LINE_A);
-@@ -472,28 +452,44 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev)
- 	/* Check RTC module status, Enable if it is off */
- 	ret = twl_rtc_read_u8(&rd_reg, REG_RTC_CTRL_REG);
- 	if (ret < 0)
--		goto out2;
-+		goto out1;
- 
- 	if (!(rd_reg & BIT_RTC_CTRL_REG_STOP_RTC_M)) {
- 		dev_info(&pdev->dev, "Enabling TWL-RTC.\n");
- 		rd_reg = BIT_RTC_CTRL_REG_STOP_RTC_M;
- 		ret = twl_rtc_write_u8(rd_reg, REG_RTC_CTRL_REG);
- 		if (ret < 0)
--			goto out2;
-+			goto out1;
- 	}
- 
- 	/* init cached IRQ enable bits */
- 	ret = twl_rtc_read_u8(&rtc_irq_bits, REG_RTC_INTERRUPTS_REG);
- 	if (ret < 0)
-+		goto out1;
-+
-+	rtc = rtc_device_register(pdev->name,
-+				  &pdev->dev, &twl_rtc_ops, THIS_MODULE);
-+	if (IS_ERR(rtc)) {
-+		ret = PTR_ERR(rtc);
-+		dev_err(&pdev->dev, "can't register RTC device, err %ld\n",
-+			PTR_ERR(rtc));
-+		goto out1;
-+	}
-+
-+	ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt,
-+				   IRQF_TRIGGER_RISING,
-+				   dev_name(&rtc->dev), rtc);
-+	if (ret < 0) {
-+		dev_err(&pdev->dev, "IRQ is not free.\n");
- 		goto out2;
-+	}
- 
--	return ret;
-+	platform_set_drvdata(pdev, rtc);
-+	return 0;
- 
- out2:
--	free_irq(irq, rtc);
--out1:
- 	rtc_device_unregister(rtc);
--out0:
-+out1:
- 	return ret;
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch b/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
deleted file mode 100644
index 4a903b2..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 76ab79b5491dd823477cd181b57795aa6b55f53c Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Thu, 17 Dec 2009 12:45:20 -0800
-Subject: [PATCH 11/14] soc: codecs: Enable audio capture by default for twl4030
-
----
- sound/soc/codecs/twl4030.c |    4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
-index bec788b..158ea04 100644
---- a/sound/soc/codecs/twl4030.c
-+++ b/sound/soc/codecs/twl4030.c
-@@ -55,8 +55,8 @@ static const u8 twl4030_reg[TWL4030_CACHEREGNUM] = {
- 	0x00, /* REG_OPTION		(0x2)	*/
- 	0x00, /* REG_UNKNOWN		(0x3)	*/
- 	0x00, /* REG_MICBIAS_CTL	(0x4)	*/
--	0x00, /* REG_ANAMICL		(0x5)	*/
--	0x00, /* REG_ANAMICR		(0x6)	*/
-+	0x34, /* REG_ANAMICL		(0x5)	*/
-+	0x14, /* REG_ANAMICR		(0x6)	*/
- 	0x00, /* REG_AVADC_CTL		(0x7)	*/
- 	0x00, /* REG_ADCMICSEL		(0x8)	*/
- 	0x00, /* REG_DIGMIXING		(0x9)	*/
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch b/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
deleted file mode 100644
index 199a0f0..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 31ec83c7092588f41b69e024f0ddd585c1981094 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Wed, 29 Dec 2010 11:39:16 -0800
-Subject: [PATCH 12/14] soc: codecs: twl4030: Turn on mic bias by default
-
----
- sound/soc/codecs/twl4030.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
-index 158ea04..9bbf301 100644
---- a/sound/soc/codecs/twl4030.c
-+++ b/sound/soc/codecs/twl4030.c
-@@ -54,7 +54,7 @@ static const u8 twl4030_reg[TWL4030_CACHEREGNUM] = {
- 	0x00, /* REG_CODEC_MODE		(0x1)	*/
- 	0x00, /* REG_OPTION		(0x2)	*/
- 	0x00, /* REG_UNKNOWN		(0x3)	*/
--	0x00, /* REG_MICBIAS_CTL	(0x4)	*/
-+	0x03, /* REG_MICBIAS_CTL	(0x4)	*/
- 	0x34, /* REG_ANAMICL		(0x5)	*/
- 	0x14, /* REG_ANAMICR		(0x6)	*/
- 	0x00, /* REG_AVADC_CTL		(0x7)	*/
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch b/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch
deleted file mode 100644
index 016323d..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 23d7e04b5d71feafdd920f4bf4b735cc452fef59 Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Sun, 24 Jan 2010 09:33:56 -0800
-Subject: [PATCH 13/14] omap: mmc-twl4030: move clock input selection prior to vcc test
-
-otherwise it is not executed on systems that use non-twl regulators
----
- arch/arm/mach-omap2/hsmmc.c |   14 ++++++--------
- 1 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c
-index 66868c5..48a6cfb 100644
---- a/arch/arm/mach-omap2/hsmmc.c
-+++ b/arch/arm/mach-omap2/hsmmc.c
-@@ -192,15 +192,13 @@ static void hsmmc23_before_set_reg(struct device *dev, int slot,
- 	if (mmc->slots[0].remux)
- 		mmc->slots[0].remux(dev, slot, power_on);
- 
--	if (power_on) {
--		/* Only MMC2 supports a CLKIN */
--		if (mmc->slots[0].internal_clock) {
--			u32 reg;
-+	/* Only MMC2 supports a CLKIN */
-+	if (mmc->slots[0].internal_clock) {
-+		u32 reg;
- 
--			reg = omap_ctrl_readl(control_devconf1_offset);
--			reg |= OMAP2_MMCSDIO2ADPCLKISEL;
--			omap_ctrl_writel(reg, control_devconf1_offset);
--		}
-+		reg = omap_ctrl_readl(control_devconf1_offset);
-+		reg |= OMAP2_MMCSDIO2ADPCLKISEL;
-+		omap_ctrl_writel(reg, control_devconf1_offset);
- 	}
- }
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch b/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch
deleted file mode 100644
index f44b3d0..0000000
--- a/recipes-kernel/linux/linux-3.0/sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 55f8fd15557b03c2b336c8214d44de9753d0ba5f Mon Sep 17 00:00:00 2001
-From: Steve Sakoman <steve at sakoman.com>
-Date: Thu, 4 Feb 2010 12:26:22 -0800
-Subject: [PATCH 14/14] rtc-twl: add support for backup battery recharge
-
----
- drivers/rtc/rtc-twl.c |   27 ++++++++++++++++++++++++++-
- 1 files changed, 26 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/rtc/rtc-twl.c b/drivers/rtc/rtc-twl.c
-index a64494e..552446b 100644
---- a/drivers/rtc/rtc-twl.c
-+++ b/drivers/rtc/rtc-twl.c
-@@ -30,7 +30,24 @@
- 
- #include <linux/i2c/twl.h>
- 
--
-+/*
-+ * PM_RECEIVER block register offsets (use TWL4030_MODULE_PM_RECEIVER)
-+ */
-+#define REG_BB_CFG	0x12
-+
-+/* PM_RECEIVER  BB_CFG bitfields */
-+#define BIT_PM_RECEIVER_BB_CFG_BBCHEN           0x10
-+#define BIT_PM_RECEIVER_BB_CFG_BBSEL            0x0C
-+#define BIT_PM_RECEIVER_BB_CFG_BBSEL_2V5        0x00
-+#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3V0        0x04
-+#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3V1        0x08
-+#define BIT_PM_RECEIVER_BB_CFG_BBSEL_3v2        0x0c
-+#define BIT_PM_RECEIVER_BB_CFG_BBISEL           0x03
-+#define BIT_PM_RECEIVER_BB_CFG_BBISEL_25UA      0x00
-+#define BIT_PM_RECEIVER_BB_CFG_BBISEL_150UA     0x01
-+#define BIT_PM_RECEIVER_BB_CFG_BBISEL_500UA     0x02
-+#define BIT_PM_RECEIVER_BB_CFG_BBISEL_1MA       0x03
-+ 
- /*
-  * RTC block register offsets (use TWL_MODULE_RTC)
-  */
-@@ -484,6 +501,14 @@ static int __devinit twl_rtc_probe(struct platform_device *pdev)
- 		goto out2;
- 	}
- 
-+	/* enable backup battery charging */
-+	/* use a conservative 25uA @ 3.1V */
-+	ret = twl_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+		BIT_PM_RECEIVER_BB_CFG_BBCHEN |
-+		BIT_PM_RECEIVER_BB_CFG_BBSEL_3V1 |
-+		BIT_PM_RECEIVER_BB_CFG_BBISEL_25UA,
-+		REG_BB_CFG);
-+
- 	platform_set_drvdata(pdev, rtc);
- 	return 0;
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch b/recipes-kernel/linux/linux-3.0/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
deleted file mode 100644
index 62217d2..0000000
--- a/recipes-kernel/linux/linux-3.0/sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 867025d0468dedea5303d1088b292ace4d01c047 Mon Sep 17 00:00:00 2001
-From: Vikram Pandita <vikram.pandita at ti.com>
-Date: Tue, 31 May 2011 09:24:58 +0100
-Subject: [PATCH] ARM: L2: Add and export outer_clean_all
-
-The Errata 588369 and 539766 demands that clean all operation be done
-as clean each way at a time
-
-This patch also raps the implementation under the CONFIG errata
-macro so that for non-errata version silicon it can be disabled
-
-Signed-off-by: Vikram Pandita <vikram.pandita at ti.com>
-Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
-Cc: Woodruff, Richard <r-woodruff2 at ti.com>
----
- arch/arm/include/asm/outercache.h |    8 ++++++++
- arch/arm/mm/cache-l2x0.c          |    1 +
- 2 files changed, 9 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
-index d838743..fa8cbd8 100644
---- a/arch/arm/include/asm/outercache.h
-+++ b/arch/arm/include/asm/outercache.h
-@@ -28,6 +28,7 @@ struct outer_cache_fns {
- 	void (*clean_range)(unsigned long, unsigned long);
- 	void (*flush_range)(unsigned long, unsigned long);
- 	void (*flush_all)(void);
-+	void (*clean_all)(void);
- 	void (*inv_all)(void);
- 	void (*disable)(void);
- #ifdef CONFIG_OUTER_CACHE_SYNC
-@@ -61,6 +62,11 @@ static inline void outer_flush_all(void)
- 	if (outer_cache.flush_all)
- 		outer_cache.flush_all();
- }
-+static inline void outer_clean_all(void)
-+{
-+	if (outer_cache.clean_all)
-+		outer_cache.clean_all();
-+}
- 
- static inline void outer_inv_all(void)
- {
-@@ -97,6 +103,8 @@ static inline void outer_sync(void)
- #else
- static inline void outer_sync(void)
- { }
-+static inline void outer_clean_all(void)
-+{ }
- #endif
- 
- #endif	/* __ASM_OUTERCACHE_H */
-diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
-index 44c0867..10b79d6 100644
---- a/arch/arm/mm/cache-l2x0.c
-+++ b/arch/arm/mm/cache-l2x0.c
-@@ -346,6 +346,7 @@ void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)
- 	outer_cache.inv_all = l2x0_inv_all;
- 	outer_cache.disable = l2x0_disable;
- 	outer_cache.set_debug = l2x0_set_debug;
-+	outer_cache.clean_all = l2x0_clean_all;
- 
- 	printk(KERN_INFO "%s cache controller enabled\n", type);
- 	printk(KERN_INFO "l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d B\n",
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch b/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
deleted file mode 100644
index 44bb6b8..0000000
--- a/recipes-kernel/linux/linux-3.0/ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9e3cacdf6fb8c5d704c9fb98f744eddbb25e3cda Mon Sep 17 00:00:00 2001
-From: archit taneja <archit at ti.com>
-Date: Fri, 5 Aug 2011 07:19:21 +0000
-Subject: [PATCH 1/4] OMAP_VOUT: Fix build break caused by update_mode removal in DSS2
-
-The DSS2 driver does not support the configuration of the update_mode of a
-panel anymore. Remove the setting of update_mode done in omap_vout_probe().
-Ignore configuration of TE since omap_vout driver doesn't support manual update
-displays anyway.
-
-Signed-off-by: Archit Taneja <archit at ti.com>
-Tested-by: Koen Kooi <koen at dominion.thruhere.net>
-Signed-off-by: Vaibhav Hiremath <hvaibhav at ti.com>
----
- drivers/media/video/omap/omap_vout.c |   13 -------------
- 1 files changed, 0 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/media/video/omap/omap_vout.c b/drivers/media/video/omap/omap_vout.c
-index 4d07c58..d17d6b6 100644
---- a/drivers/media/video/omap/omap_vout.c
-+++ b/drivers/media/video/omap/omap_vout.c
-@@ -2557,19 +2557,6 @@ static int __init omap_vout_probe(struct platform_device *pdev)
- 					"'%s' Display already enabled\n",
- 					def_display->name);
- 			}
--			/* set the update mode */
--			if (def_display->caps &
--					OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
--				if (dssdrv->enable_te)
--					dssdrv->enable_te(def_display, 0);
--				if (dssdrv->set_update_mode)
--					dssdrv->set_update_mode(def_display,
--							OMAP_DSS_UPDATE_MANUAL);
--			} else {
--				if (dssdrv->set_update_mode)
--					dssdrv->set_update_mode(def_display,
--							OMAP_DSS_UPDATE_AUTO);
--			}
- 		}
- 	}
- 
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch b/recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch
deleted file mode 100644
index 1b3d1ff..0000000
--- a/recipes-kernel/linux/linux-3.0/ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From ba0b157d461f6b8fe61e232e92ea7ee656ad5ecb Mon Sep 17 00:00:00 2001
-From: Jason Kridner <jdk at ti.com>
-Date: Mon, 12 Sep 2011 10:28:14 -0400
-Subject: [PATCH 2/4] WIP: omap: beagleboard: add bbtoys ulcd-lite support
-
-Added support for the BeagleBoardToys ULCD-Lite.
-* Added ThreeFiveCorp s9700rtwv35tr-01b panel to
-  panel-generic-dpi driver.
-* Added TSC2007 and LCD panel to board file.
-
-Relied heavily on the TSC2007 integration work done by
-John Weber and panel timings from Roger Monk.
-
-Signed-off-by: Jason Kridner <jdk at ti.com>
-Cc: John Weber <rjohnweber at gmail.com>
-Cc: Roger Monk <r-monk at ti.com>
-Cc: Joel A Fernandes <agnel.joel at gmail.com>
-Cc: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c          |  112 ++++++++++++++++++++++
- drivers/video/omap2/displays/panel-generic-dpi.c |   25 +++++
- 2 files changed, 137 insertions(+), 0 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 0124060..8b30b4c 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -35,6 +35,7 @@
- #include <linux/i2c/twl.h>
- #include <linux/netdevice.h>
- #include <linux/if_ether.h>
-+#include <linux/i2c/tsc2007.h>
- 
- #include <mach/hardware.h>
- #include <asm/mach-types.h>
-@@ -87,11 +88,15 @@ static struct {
- 	int usb_pwr_level;
- 	int reset_gpio;
- 	int usr_button_gpio;
-+	char *lcd_driver_name;
-+	int lcd_pwren;
- } beagle_config = {
- 	.mmc1_gpio_wp = -EINVAL,
- 	.usb_pwr_level = GPIOF_OUT_INIT_LOW,
- 	.reset_gpio = 129,
- 	.usr_button_gpio = 4,
-+	.lcd_driver_name = "",
-+	.lcd_pwren = 156
- };
- 
- /*
-@@ -471,9 +476,53 @@ static struct omap_dss_device beagle_tv_device = {
- 	.phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
- };
- 
-+static int beagle_enable_lcd(struct omap_dss_device *dssdev)
-+{
-+       if (gpio_is_valid(beagle_config.lcd_pwren)) {
-+               printk(KERN_INFO "%s: Enabling LCD\n", __FUNCTION__);
-+               gpio_set_value(beagle_config.lcd_pwren, 0);
-+       } else {
-+               printk(KERN_INFO "%s: Invalid LCD enable GPIO: %d\n",
-+                       __FUNCTION__, beagle_config.lcd_pwren);
-+       }
-+
-+       return 0;
-+}
-+
-+static void beagle_disable_lcd(struct omap_dss_device *dssdev)
-+{
-+       if (gpio_is_valid(beagle_config.lcd_pwren)) {
-+               printk(KERN_INFO "%s: Disabling LCD\n", __FUNCTION__);
-+               gpio_set_value(beagle_config.lcd_pwren, 1);
-+       } else {
-+               printk(KERN_INFO "%s: Invalid LCD enable GPIO: %d\n",
-+                       __FUNCTION__, beagle_config.lcd_pwren);
-+       }
-+
-+       return;
-+}
-+
-+static struct panel_generic_dpi_data lcd_panel = {
-+	.name = "tfc_s9700rtwv35tr-01b",
-+	.platform_enable = beagle_enable_lcd,
-+	.platform_disable = beagle_disable_lcd,
-+};
-+
-+static struct omap_dss_device beagle_lcd_device = {
-+	.type                   = OMAP_DISPLAY_TYPE_DPI,
-+	.name                   = "lcd",
-+	.driver_name		= "generic_dpi_panel",
-+	.phy.dpi.data_lines     = 24,
-+	.platform_enable        = beagle_enable_lcd,
-+	.platform_disable       = beagle_disable_lcd,
-+	.reset_gpio 		= -EINVAL,
-+	.data			= &lcd_panel,
-+};
-+
- static struct omap_dss_device *beagle_dss_devices[] = {
- 	&beagle_dvi_device,
- 	&beagle_tv_device,
-+	&beagle_lcd_device,
- };
- 
- static struct omap_dss_board_info beagle_dss_data = {
-@@ -490,6 +539,11 @@ static void __init beagle_display_init(void)
- 			     "DVI reset");
- 	if (r < 0)
- 		printk(KERN_ERR "Unable to get DVI reset GPIO\n");
-+
-+       r = gpio_request_one(beagle_config.lcd_pwren, GPIOF_OUT_INIT_LOW,
-+                            "LCD power");
-+       if (r < 0)
-+               printk(KERN_ERR "Unable to get LCD power enable GPIO\n");
- }
- 
- #include "sdram-micron-mt46h32m32lf-6.h"
-@@ -648,6 +702,53 @@ static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {
- static struct i2c_board_info __initdata beagle_i2c2_zippy[] = {};
- #endif
- 
-+#if defined(CONFIG_INPUT_TOUCHSCREEN) && \
-+	defined(CONFIG_TOUCHSCREEN_TSC2007)
-+/* Touchscreen */
-+#define OMAP3BEAGLE_TSC2007_GPIO 157
-+static int omap3beagle_tsc2007_get_pendown_state(void)
-+{
-+	return !gpio_get_value(OMAP3BEAGLE_TSC2007_GPIO);
-+}
-+
-+static int omap3beagle_tsc2007_init(void)
-+{
-+	int gpio = OMAP3BEAGLE_TSC2007_GPIO;
-+	int ret = 0;
-+	printk(KERN_WARNING "TSC2007_init started");
-+	ret = gpio_request(gpio, "tsc2007_pen_down");
-+	if (ret < 0) {
-+		printk(KERN_ERR "Failed to request GPIO %d for "
-+		"tsc2007 pen down IRQ\n", gpio);
-+		return ret;
-+	}
-+
-+	omap_mux_init_gpio(OMAP3BEAGLE_TSC2007_GPIO, OMAP_PIN_INPUT_PULLUP);
-+	gpio_direction_input(gpio);
-+
-+	irq_set_irq_type(OMAP_GPIO_IRQ(OMAP3BEAGLE_TSC2007_GPIO), IRQ_TYPE_EDGE_FALLING);
-+
-+	return ret;
-+}
-+
-+static struct tsc2007_platform_data tsc2007_info = {
-+	.model = 2007,
-+	.x_plate_ohms = 180,
-+	.get_pendown_state = omap3beagle_tsc2007_get_pendown_state,
-+	.init_platform_hw = omap3beagle_tsc2007_init,
-+};
-+
-+static struct i2c_board_info __initdata beagle_i2c2_bbtoys_ulcd[] = {
-+	{
-+		I2C_BOARD_INFO("tsc2007", 0x48),
-+		.irq = OMAP_GPIO_IRQ(OMAP3BEAGLE_TSC2007_GPIO),
-+		.platform_data = &tsc2007_info,
-+	},
-+};
-+#else
-+static struct i2c_board_info __initdata beagle_i2c2_bbtoys_ulcd[] = {};
-+#endif
-+
- static int __init omap3_beagle_i2c_init(void)
- {
- 	omap3_pmic_get_config(&beagle_twldata,
-@@ -817,6 +918,10 @@ static void __init omap3_beagle_init(void)
- 
- 	gpio_buttons[0].gpio = beagle_config.usr_button_gpio;
- 
-+	/* TODO: set lcd_driver_name by command line or device tree */
-+	beagle_config.lcd_driver_name = "tfc_s9700rtwv35tr-01b",
-+	lcd_panel.name = beagle_config.lcd_driver_name;
-+
- 	platform_add_devices(omap3_beagle_devices,
- 			ARRAY_SIZE(omap3_beagle_devices));
- 	omap_display_init(&beagle_dss_data);
-@@ -892,6 +997,13 @@ static void __init omap3_beagle_init(void)
- 		platform_device_register(&omap_vwlan_device);
- 	}
- 
-+	if(!strcmp(expansionboard_name, "bbtoys-ulcd"))
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: registering bbtoys-ulcd\n");
-+		omap_register_i2c_bus(2, 400,  beagle_i2c2_bbtoys_ulcd,
-+							ARRAY_SIZE(beagle_i2c2_bbtoys_ulcd));
-+	}
-+
- 	usb_musb_init(NULL);
- 	usbhs_init(&usbhs_bdata);
- 	omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
-diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
-index 9c90f75..82c1ac3 100644
---- a/drivers/video/omap2/displays/panel-generic-dpi.c
-+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
-@@ -232,6 +232,31 @@ static struct panel_config generic_dpi_panels[] = {
- 		.power_off_delay	= 0,
- 		.name			= "powertip_ph480272t",
- 	},
-+
-+	/* ThreeFiveCorp S9700RTWV35TR-01B */
-+	{
-+		{
-+			.x_res		= 800,
-+			.y_res		= 480,
-+
-+			.pixel_clock	= 30000,
-+
-+			.hsw		= 49,
-+			.hfp		= 41,
-+			.hbp		= 40,
-+
-+			.vsw		= 4,
-+			.vfp		= 14,
-+			.vbp		= 29,
-+		},
-+		.acbi			= 0x0,
-+		.acb			= 0x0,
-+		.config			= OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-+					  OMAP_DSS_LCD_IHS, // | OMAP_DSS_LCD_IEO; - TODO check this - doesn't work with this enabled
-+		.power_on_delay		= 50,
-+		.power_off_delay	= 100,
-+		.name			= "tfc_s9700rtwv35tr-01b",
-+	},
- };
- 
- struct panel_drv_data {
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0003-ARM-OMAP2-beagleboard-add-support-for-loopthrough-ex.patch b/recipes-kernel/linux/linux-3.0/ulcd/0003-ARM-OMAP2-beagleboard-add-support-for-loopthrough-ex.patch
deleted file mode 100644
index 46cb432..0000000
--- a/recipes-kernel/linux/linux-3.0/ulcd/0003-ARM-OMAP2-beagleboard-add-support-for-loopthrough-ex.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From eea23f28cacdb525471ecf4dc8a2366ccef5a28b Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Tue, 11 Oct 2011 13:13:35 +0200
-Subject: [PATCH 3/4] ARM: OMAP2: beagleboard: add support for loopthrough expansionboard, make uLCD use it
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |   15 +++++++++++++--
- 1 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 8b30b4c..47bc79b 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -253,6 +253,7 @@ static void __init omap3_beagle_init_rev(void)
- }
- 
- char expansionboard_name[16];
-+char expansionboard2_name[16];
- 
- #if defined(CONFIG_WL12XX) || defined(CONFIG_WL12XX_MODULE)
- #include <linux/regulator/fixed.h>
-@@ -862,6 +863,15 @@ static int __init expansionboard_setup(char *str)
- 	return 0;
- }
- 
-+static int __init expansionboard2_setup(char *str)
-+{
-+	if (!str)
-+		return -EINVAL;
-+	strncpy(expansionboard2_name, str, 16);
-+	printk(KERN_INFO "Beagle second expansionboard: %s\n", expansionboard2_name);
-+	return 0;
-+}
-+
- static void __init beagle_opp_init(void)
- {
- 	int r = 0;
-@@ -997,9 +1007,9 @@ static void __init omap3_beagle_init(void)
- 		platform_device_register(&omap_vwlan_device);
- 	}
- 
--	if(!strcmp(expansionboard_name, "bbtoys-ulcd"))
-+	if(!strcmp(expansionboard2_name, "bbtoys-ulcd"))
- 	{
--		printk(KERN_INFO "Beagle expansionboard: registering bbtoys-ulcd\n");
-+		printk(KERN_INFO "Beagle second expansionboard: registering bbtoys-ulcd\n");
- 		omap_register_i2c_bus(2, 400,  beagle_i2c2_bbtoys_ulcd,
- 							ARRAY_SIZE(beagle_i2c2_bbtoys_ulcd));
- 	}
-@@ -1021,6 +1031,7 @@ static void __init omap3_beagle_init(void)
- }
- 
- early_param("buddy", expansionboard_setup);
-+early_param("buddy2", expansionboard2_setup);
- 
- MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
- 	/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/ulcd/0004-LEDS-add-initial-support-for-WS2801-controller.patch b/recipes-kernel/linux/linux-3.0/ulcd/0004-LEDS-add-initial-support-for-WS2801-controller.patch
deleted file mode 100644
index b81d125..0000000
--- a/recipes-kernel/linux/linux-3.0/ulcd/0004-LEDS-add-initial-support-for-WS2801-controller.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-From e707458df28487c2fb0bf620cb3eff22466e2c6c Mon Sep 17 00:00:00 2001
-From: Koen Kooi <koen at dominion.thruhere.net>
-Date: Thu, 20 Oct 2011 16:13:16 +0200
-Subject: [PATCH 4/4] LEDS: add initial support for WS2801 controller
-
-This adds initial support for the WS2801 RGB LED controller.
-
-Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
----
- arch/arm/mach-omap2/board-omap3beagle.c |   11 ++
- drivers/leds/Kconfig                    |    6 +
- drivers/leds/Makefile                   |    1 +
- drivers/leds/leds-ws2801.c              |  159 +++++++++++++++++++++++++++++++
- 4 files changed, 177 insertions(+), 0 deletions(-)
- create mode 100644 drivers/leds/leds-ws2801.c
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 47bc79b..016d0985 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -796,6 +796,11 @@ static struct platform_device leds_gpio = {
- 	},
- };
- 
-+static struct platform_device ws2801_leds = {
-+	.name	= "ws2801-leds",
-+	.id	= -1,
-+};
-+
- static struct gpio_keys_button gpio_buttons[] = {
- 	{
- 		.code			= BTN_EXTRA,
-@@ -1014,6 +1019,12 @@ static void __init omap3_beagle_init(void)
- 							ARRAY_SIZE(beagle_i2c2_bbtoys_ulcd));
- 	}
- 
-+	if(!strcmp(expansionboard_name, "beacon"))
-+	{
-+		printk(KERN_INFO "Beagle expansionboard: registering TinCanTools Beacon LED driver\n");
-+		platform_device_register(&ws2801_leds);
-+	}
-+
- 	usb_musb_init(NULL);
- 	usbhs_init(&usbhs_bdata);
- 	omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions,
-diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
-index 713d43b..fd2c4b3 100644
---- a/drivers/leds/Kconfig
-+++ b/drivers/leds/Kconfig
-@@ -323,6 +323,12 @@ config LEDS_BD2802
- 	  This option enables support for BD2802GU RGB LED driver chips
- 	  accessed via the I2C bus.
- 
-+config LEDS_WS2801
-+	tristate "LED driver for WS2801 RGB LED"
-+	depends on LEDS_CLASS
-+	help
-+	  This option enables support for WS2801 RGB LED driver chips.
-+
- config LEDS_INTEL_SS4200
- 	tristate "LED driver for Intel NAS SS4200 series"
- 	depends on LEDS_CLASS
-diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
-index bbfd2e3..14f849e 100644
---- a/drivers/leds/Makefile
-+++ b/drivers/leds/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_LEDS_MC13783)		+= leds-mc13783.o
- obj-$(CONFIG_LEDS_NS2)			+= leds-ns2.o
- obj-$(CONFIG_LEDS_NETXBIG)		+= leds-netxbig.o
- obj-$(CONFIG_LEDS_ASIC3)		+= leds-asic3.o
-+obj-$(CONFIG_LEDS_WS2801)		+= leds-ws2801.o
- 
- # LED SPI Drivers
- obj-$(CONFIG_LEDS_DAC124S085)		+= leds-dac124s085.o
-diff --git a/drivers/leds/leds-ws2801.c b/drivers/leds/leds-ws2801.c
-new file mode 100644
-index 0000000..9526a84
---- /dev/null
-+++ b/drivers/leds/leds-ws2801.c
-@@ -0,0 +1,159 @@
-+/*
-+ * LEDs driver for WS2801 RGB Controller
-+ *
-+ * Copyright (C) 2006 Kristian Kielhofner <kris at krisk.org>
-+ *
-+ * Based on leds-net48xx.c
-+ *
-+ * 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/init.h>
-+#include <linux/platform_device.h>
-+#include <linux/leds.h>
-+#include <linux/err.h>
-+#include <linux/gpio.h>
-+#include <linux/io.h>
-+
-+#define DRVNAME "ws2801-leds"
-+#define WS2801_LED_CLOCK_GPIO	159
-+#define WS2801_LED_DATA_GPIO	158
-+
-+static unsigned long rgb_color;
-+
-+static struct platform_device *pdev;
-+
-+static void ws2801_set_rgb(void)
-+{
-+	int count;
-+	int color_bit;
-+
-+	for (count = 23; count >= 0 ; count--) {
-+		color_bit = (rgb_color>>count) & (1<<0);
-+		gpio_set_value(WS2801_LED_DATA_GPIO, color_bit);
-+		gpio_set_value(WS2801_LED_CLOCK_GPIO, 1);
-+		gpio_set_value(WS2801_LED_CLOCK_GPIO, 0);
-+	}
-+
-+}
-+
-+static void ws2801_red_led_set(struct led_classdev *led_cdev,
-+		enum led_brightness value)
-+{
-+	rgb_color &= ((0x00<<16)|(0xff<<8)|(0xff<<0));
-+	rgb_color |= (value<<16);
-+	ws2801_set_rgb();
-+}
-+
-+static void ws2801_green_led_set(struct led_classdev *led_cdev,
-+		enum led_brightness value)
-+{
-+	rgb_color &= ((0xff<<16)|(0x00<<8)|(0xff<<0));
-+	rgb_color |= (value<<8);
-+	ws2801_set_rgb();
-+}
-+
-+static void ws2801_blue_led_set(struct led_classdev *led_cdev,
-+		enum led_brightness value)
-+{
-+	rgb_color &= ((0xff<<16)|(0xff<<8)|(0x00<<0));
-+	rgb_color |= (value<<0);
-+	ws2801_set_rgb();
-+}
-+
-+static struct led_classdev ws2801_red_led = {
-+	.name			= "ws2801-red",
-+	.brightness_set		= ws2801_red_led_set,
-+	.flags			= LED_CORE_SUSPENDRESUME,
-+};
-+
-+static struct led_classdev ws2801_green_led = {
-+	.name		= "ws2801-green",
-+	.brightness_set	= ws2801_green_led_set,
-+	.flags			= LED_CORE_SUSPENDRESUME,
-+};
-+
-+static struct led_classdev ws2801_blue_led = {
-+	.name           = "ws2801-blue",
-+	.brightness_set = ws2801_blue_led_set,
-+	.flags			= LED_CORE_SUSPENDRESUME,
-+};
-+
-+static int ws2801_led_probe(struct platform_device *pdev)
-+{
-+	int ret;
-+
-+	ret = led_classdev_register(&pdev->dev, &ws2801_red_led);
-+	if (ret < 0)
-+		return ret;
-+
-+	ret = led_classdev_register(&pdev->dev, &ws2801_green_led);
-+	if (ret < 0)
-+		goto err1;
-+
-+	ret = led_classdev_register(&pdev->dev, &ws2801_blue_led);
-+	if (ret < 0)
-+		goto err2;
-+
-+	gpio_request_one(WS2801_LED_DATA_GPIO,
-+		GPIOF_OUT_INIT_LOW, "ws2801_data");
-+
-+	gpio_request_one(WS2801_LED_CLOCK_GPIO,
-+		GPIOF_OUT_INIT_LOW, "ws2801_clock");
-+
-+	ws2801_set_rgb();
-+	return ret;
-+
-+err2:
-+	led_classdev_unregister(&ws2801_green_led);
-+err1:
-+	led_classdev_unregister(&ws2801_red_led);
-+
-+	return ret;
-+}
-+
-+static int ws2801_led_remove(struct platform_device *pdev)
-+{
-+	led_classdev_unregister(&ws2801_red_led);
-+	led_classdev_unregister(&ws2801_green_led);
-+	led_classdev_unregister(&ws2801_blue_led);
-+	return 0;
-+}
-+
-+static struct platform_driver ws2801_led_driver = {
-+	.probe		= ws2801_led_probe,
-+	.remove		= ws2801_led_remove,
-+	.driver		= {
-+		.name		= DRVNAME,
-+		.owner		= THIS_MODULE,
-+	},
-+};
-+
-+static int __init ws2801_led_init(void)
-+{
-+	int ret;
-+
-+	ret = platform_driver_register(&ws2801_led_driver);
-+	if (ret < 0)
-+		goto out;
-+
-+out:
-+	return ret;
-+}
-+
-+static void __exit ws2801_led_exit(void)
-+{
-+	platform_device_unregister(pdev);
-+	platform_driver_unregister(&ws2801_led_driver);
-+}
-+
-+module_init(ws2801_led_init);
-+module_exit(ws2801_led_exit);
-+
-+MODULE_AUTHOR("David Anders <danders at tincantools.com>");
-+MODULE_DESCRIPTION("WS2801 RGB LED driver");
-+MODULE_LICENSE("GPL");
-+
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux-3.0/usb/0001-Fix-sprz319-erratum-2.1.patch b/recipes-kernel/linux/linux-3.0/usb/0001-Fix-sprz319-erratum-2.1.patch
deleted file mode 100644
index 8d65b5f..0000000
--- a/recipes-kernel/linux/linux-3.0/usb/0001-Fix-sprz319-erratum-2.1.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From cf5db5477d8d43f02f4511f3835ab4bec0dcc27c Mon Sep 17 00:00:00 2001
-From: Richard Watts <rrw at kynesim.co.uk>
-Date: Mon, 20 Feb 2012 17:58:26 +0000
-Subject: [PATCH] Fix sprz319 erratum 2.1
-
-There is an erratum in DM3730 which results in the
-EHCI USB PLL (DPLL5) not updating sufficiently frequently; this
-leads to USB PHY clock drift and once the clock has drifted far
-enough, the PHY's ULPI interface stops responding and USB
-drops out. This is manifested on a Beagle xM by having the attached
-SMSC9514 report 'Cannot enable port 2. Maybe the USB cable is bad?'
-or similar.
-
-The fix is to carefully adjust your DPLL5 settings so as to
-keep the PHY clock as close as possible to 120MHz over the long
-term; TI SPRZ319e gives a table of such settings and this patch
-applies that table to systems with a 13MHz or a 26MHz clock,
-thus fixing the issue (inasfar as it can be fixed) on Beagle xM
-and Overo Firestorm.
-
-Signed-off-by: Richard Watts <rrw at kynesim.co.uk>
----
- arch/arm/mach-omap2/clkt_clksel.c    |   15 ++++++++
- arch/arm/mach-omap2/clock.h          |    7 ++++
- arch/arm/mach-omap2/clock3xxx.c      |   65 +++++++++++++++++++++++++++++----
- arch/arm/mach-omap2/clock3xxx.h      |    1 +
- arch/arm/mach-omap2/clock3xxx_data.c |    2 +-
- arch/arm/mach-omap2/dpll3xxx.c       |    2 +-
- 6 files changed, 82 insertions(+), 10 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clkt_clksel.c b/arch/arm/mach-omap2/clkt_clksel.c
-index e25364d..e378fe7 100644
---- a/arch/arm/mach-omap2/clkt_clksel.c
-+++ b/arch/arm/mach-omap2/clkt_clksel.c
-@@ -460,6 +460,21 @@ int omap2_clksel_set_rate(struct clk *clk, unsigned long rate)
- 	return 0;
- }
- 
-+int omap2_clksel_force_divisor(struct clk *clk, int new_div)
-+{
-+	u32 field_val;
-+
-+	field_val = _divisor_to_clksel(clk, new_div);
-+	if (field_val == ~0)
-+		return -EINVAL;
-+
-+	_write_clksel_reg(clk, field_val);
-+
-+	clk->rate = clk->parent->rate / new_div;
-+
-+	return 0;
-+}
-+
- /*
-  * Clksel parent setting function - not passed in struct clk function
-  * pointer - instead, the OMAP clock code currently assumes that any
-diff --git a/arch/arm/mach-omap2/clock.h b/arch/arm/mach-omap2/clock.h
-index 8bad1c6..ac3d367 100644
---- a/arch/arm/mach-omap2/clock.h
-+++ b/arch/arm/mach-omap2/clock.h
-@@ -61,6 +61,12 @@ void omap3_dpll_allow_idle(struct clk *clk);
- void omap3_dpll_deny_idle(struct clk *clk);
- u32 omap3_dpll_autoidle_read(struct clk *clk);
- int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate);
-+#if CONFIG_ARCH_OMAP3
-+int omap3_noncore_dpll_program(struct clk *clk, u16 m, u8 n, u16 freqsel);
-+/* If you are using this function and not on OMAP3, you are
-+ * Doing It Wrong(tm), so there is no stub.
-+ */
-+#endif
- int omap3_noncore_dpll_enable(struct clk *clk);
- void omap3_noncore_dpll_disable(struct clk *clk);
- int omap4_dpllmx_gatectrl_read(struct clk *clk);
-@@ -84,6 +90,7 @@ unsigned long omap2_clksel_recalc(struct clk *clk);
- long omap2_clksel_round_rate(struct clk *clk, unsigned long target_rate);
- int omap2_clksel_set_rate(struct clk *clk, unsigned long rate);
- int omap2_clksel_set_parent(struct clk *clk, struct clk *new_parent);
-+int omap2_clksel_force_divisor(struct clk *clk, int new_div);
- 
- /* clkt_iclk.c public functions */
- extern void omap2_clkt_iclk_allow_idle(struct clk *clk);
-diff --git a/arch/arm/mach-omap2/clock3xxx.c b/arch/arm/mach-omap2/clock3xxx.c
-index 952c3e0..d5be086 100644
---- a/arch/arm/mach-omap2/clock3xxx.c
-+++ b/arch/arm/mach-omap2/clock3xxx.c
-@@ -40,6 +40,60 @@
- /* needed by omap3_core_dpll_m2_set_rate() */
- struct clk *sdrc_ick_p, *arm_fck_p;
- 
-+struct dpll_settings {
-+	int rate, m, n, f;
-+};
-+
-+
-+static int omap3_dpll5_apply_erratum21(struct clk *clk, struct clk *dpll5_m2)
-+{
-+	struct clk *sys_clk;
-+	int i, rv;
-+	static const struct dpll_settings precomputed[] = {
-+		/* From DM3730 errata (sprz319e), table 36
-+		* +1 is because the values in the table are register values;
-+		* dpll_program() will subtract one from what we give it,
-+		* so ...
-+		*/
-+		{ 13000000, 443+1, 5+1, 8 },
-+		{ 26000000, 443+1, 11+1, 8 }
-+	};
-+
-+	sys_clk = clk_get(NULL, "sys_ck");
-+
-+	for (i = 0 ; i < (sizeof(precomputed)/sizeof(struct dpll_settings)) ;
-+		++i) {
-+		const struct dpll_settings *d = &precomputed[i];
-+		if (sys_clk->rate == d->rate) {
-+			rv =  omap3_noncore_dpll_program(clk, d->m , d->n, 0);
-+			if (rv)
-+				return 1;
-+			rv =  omap2_clksel_force_divisor(dpll5_m2 , d->f);
-+			return 1;
-+		}
-+	}
-+	return 0;
-+}
-+
-+int omap3_dpll5_set_rate(struct clk *clk, unsigned long rate)
-+{
-+	struct clk *dpll5_m2;
-+	int rv;
-+	dpll5_m2 = clk_get(NULL, "dpll5_m2_ck");
-+
-+	if (cpu_is_omap3630() && rate == DPLL5_FREQ_FOR_USBHOST &&
-+		omap3_dpll5_apply_erratum21(clk, dpll5_m2)) {
-+		return 1;
-+	}
-+	rv = omap3_noncore_dpll_set_rate(clk, rate);
-+	if (rv)
-+		goto out;
-+	rv = clk_set_rate(dpll5_m2, rate);
-+
-+out:
-+	return rv;
-+}
-+
- int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate)
- {
- 	/*
-@@ -59,19 +113,14 @@ int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate)
- void __init omap3_clk_lock_dpll5(void)
- {
- 	struct clk *dpll5_clk;
--	struct clk *dpll5_m2_clk;
- 
- 	dpll5_clk = clk_get(NULL, "dpll5_ck");
- 	clk_set_rate(dpll5_clk, DPLL5_FREQ_FOR_USBHOST);
--	clk_enable(dpll5_clk);
- 
--	/* Program dpll5_m2_clk divider for no division */
--	dpll5_m2_clk = clk_get(NULL, "dpll5_m2_ck");
--	clk_enable(dpll5_m2_clk);
--	clk_set_rate(dpll5_m2_clk, DPLL5_FREQ_FOR_USBHOST);
-+	/* dpll5_m2_ck is now (grottily!) handled by dpll5_clk's set routine,
-+	 * to cope with an erratum on DM3730
-+	 */
- 
--	clk_disable(dpll5_m2_clk);
--	clk_disable(dpll5_clk);
- 	return;
- }
- 
-diff --git a/arch/arm/mach-omap2/clock3xxx.h b/arch/arm/mach-omap2/clock3xxx.h
-index 8bbeeaf..0ede513 100644
---- a/arch/arm/mach-omap2/clock3xxx.h
-+++ b/arch/arm/mach-omap2/clock3xxx.h
-@@ -10,6 +10,7 @@
- 
- int omap3xxx_clk_init(void);
- int omap3_dpll4_set_rate(struct clk *clk, unsigned long rate);
-+int omap3_dpll5_set_rate(struct clk *clk, unsigned long rate);
- int omap3_core_dpll_m2_set_rate(struct clk *clk, unsigned long rate);
- void omap3_clk_lock_dpll5(void);
- 
-diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
-index ffd55b1..dcd7bdc 100644
---- a/arch/arm/mach-omap2/clock3xxx_data.c
-+++ b/arch/arm/mach-omap2/clock3xxx_data.c
-@@ -942,7 +942,7 @@ static struct clk dpll5_ck = {
- 	.parent		= &sys_ck,
- 	.dpll_data	= &dpll5_dd,
- 	.round_rate	= &omap2_dpll_round_rate,
--	.set_rate	= &omap3_noncore_dpll_set_rate,
-+	.set_rate	= &omap3_dpll5_set_rate,
- 	.clkdm_name	= "dpll5_clkdm",
- 	.recalc		= &omap3_dpll_recalc,
- };
-diff --git a/arch/arm/mach-omap2/dpll3xxx.c b/arch/arm/mach-omap2/dpll3xxx.c
-index f77022b..1909cd0 100644
---- a/arch/arm/mach-omap2/dpll3xxx.c
-+++ b/arch/arm/mach-omap2/dpll3xxx.c
-@@ -291,7 +291,7 @@ static void _lookup_sddiv(struct clk *clk, u8 *sd_div, u16 m, u8 n)
-  * Program the DPLL with the supplied M, N values, and wait for the DPLL to
-  * lock..  Returns -EINVAL upon error, or 0 upon success.
-  */
--static int omap3_noncore_dpll_program(struct clk *clk, u16 m, u8 n, u16 freqsel)
-+int omap3_noncore_dpll_program(struct clk *clk, u16 m, u8 n, u16 freqsel)
- {
- 	struct dpll_data *dd = clk->dpll_data;
- 	u8 dco, sd_div;
--- 
-1.7.2.5
-
diff --git a/recipes-kernel/linux/linux_3.0.bb b/recipes-kernel/linux/linux_3.0.bb
deleted file mode 100644
index 3aae2ca..0000000
--- a/recipes-kernel/linux/linux_3.0.bb
+++ /dev/null
@@ -1,234 +0,0 @@
-require linux.inc
-
-DESCRIPTION = "Linux kernel for TI processors"
-
-COMPATIBLE_MACHINE = "(beagleboard)"
-
-PV = "3.0.28"
-# v3.0.28 tag
-SRCREV_pn-${PN} = "0527fde0639955203ad48a9fd83bd6fc35e82e07"
-
-# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
-MACHINE_KERNEL_PR_append = "a"
-
-FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:"
-
-SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;branch=linux-3.0.y;protocol=git \
-            file://pm-wip/voltdm/0001-cleanup-regulator-supply-definitions-in-mach-omap2.patch \
-            file://pm-wip/voltdm/0002-Remove-old-style-supply.dev-assignments-common-in-hs.patch \
-            file://pm-wip/voltdm/0003-omap-Use-separate-init_irq-functions-to-avoid-cpu_is.patch \
-            file://pm-wip/voltdm/0004-omap-Set-separate-timer-init-functions-to-avoid-cpu_.patch \
-            file://pm-wip/voltdm/0005-omap-Move-dmtimer-defines-to-dmtimer.h.patch \
-            file://pm-wip/voltdm/0006-omap-Make-a-subset-of-dmtimer-functions-into-inline-.patch \
-            file://pm-wip/voltdm/0007-omap2-Use-dmtimer-macros-for-clockevent.patch \
-            file://pm-wip/voltdm/0008-omap2-Remove-gptimer_wakeup-for-now.patch \
-            file://pm-wip/voltdm/0009-OMAP3-SR-make-notify-independent-of-class.patch \
-            file://pm-wip/voltdm/0010-OMAP3-SR-disable-interrupt-by-default.patch \
-            file://pm-wip/voltdm/0011-OMAP3-SR-enable-disable-SR-only-on-need.patch \
-            file://pm-wip/voltdm/0012-OMAP3-SR-fix-cosmetic-indentation.patch \
-            file://pm-wip/voltdm/0013-omap2-Reserve-clocksource-and-timesource-and-initial.patch \
-            file://pm-wip/voltdm/0014-omap2-Use-dmtimer-macros-for-clocksource.patch \
-            file://pm-wip/voltdm/0015-omap2-Remove-omap2_gp_clockevent_set_gptimer.patch \
-            file://pm-wip/voltdm/0016-omap2-Rename-timer-gp.c-into-timer.c-to-combine-time.patch \
-            file://pm-wip/voltdm/0017-omap-cleanup-NAND-platform-data.patch \
-            file://pm-wip/voltdm/0018-omap-board-omap3evm-Fix-compilation-error.patch \
-            file://pm-wip/voltdm/0019-omap-mcbsp-Drop-SPI-mode-support.patch \
-            file://pm-wip/voltdm/0020-omap-mcbsp-Drop-in-driver-transfer-support.patch \
-            file://pm-wip/voltdm/0021-omap2-fix-build-regression.patch \
-            file://pm-wip/voltdm/0022-OMAP-New-twl-common-for-common-TWL-configuration.patch \
-            file://pm-wip/voltdm/0023-OMAP4-Move-common-twl6030-configuration-to-twl-commo.patch \
-            file://pm-wip/voltdm/0024-OMAP3-Move-common-twl-configuration-to-twl-common.patch \
-            file://pm-wip/voltdm/0025-OMAP3-Move-common-regulator-configuration-to-twl-com.patch \
-            file://pm-wip/voltdm/0026-omap-mcbsp-Remove-rx_-tx_word_length-variables.patch \
-            file://pm-wip/voltdm/0027-omap-mcbsp-Remove-port-number-enums.patch \
-            file://pm-wip/voltdm/0028-OMAP-dmtimer-add-missing-include.patch \
-            file://pm-wip/voltdm/0029-OMAP2-hwmod-Fix-smart-standby-wakeup-support.patch \
-            file://pm-wip/voltdm/0030-OMAP4-hwmod-data-Add-MSTANDBY_SMART_WKUP-flag.patch \
-            file://pm-wip/voltdm/0031-OMAP2-hwmod-Enable-module-in-shutdown-to-access-sysc.patch \
-            file://pm-wip/voltdm/0032-OMAP2-hwmod-Do-not-write-the-enawakeup-bit-if-SYSC_H.patch \
-            file://pm-wip/voltdm/0033-OMAP2-hwmod-Remove-_populate_mpu_rt_base-warning.patch \
-            file://pm-wip/voltdm/0034-OMAP2-hwmod-Fix-the-HW-reset-management.patch \
-            file://pm-wip/voltdm/0035-OMAP-hwmod-Add-warnings-if-enable-failed.patch \
-            file://pm-wip/voltdm/0036-OMAP-hwmod-Move-pr_debug-to-improve-the-readability.patch \
-            file://pm-wip/voltdm/0037-omap_hwmod-use-a-null-structure-record-to-terminate-.patch \
-            file://pm-wip/voltdm/0038-omap_hwmod-share-identical-omap_hwmod_addr_space-arr.patch \
-            file://pm-wip/voltdm/0039-omap_hwmod-use-a-terminator-record-with-omap_hwmod_m.patch \
-            file://pm-wip/voltdm/0040-omap_hwmod-share-identical-omap_hwmod_mpu_irqs-array.patch \
-            file://pm-wip/voltdm/0041-omap_hwmod-use-a-terminator-record-with-omap_hwmod_d.patch \
-            file://pm-wip/voltdm/0042-omap_hwmod-share-identical-omap_hwmod_dma_info-array.patch \
-            file://pm-wip/voltdm/0043-omap_hwmod-share-identical-omap_hwmod_class-omap_hwm.patch \
-            file://pm-wip/voltdm/0044-OMAP4-hwmod-data-Fix-L3-interconnect-data-order-and-.patch \
-            file://pm-wip/voltdm/0045-OMAP4-hwmod-data-Remove-un-needed-parens.patch \
-            file://pm-wip/voltdm/0046-OMAP4-hwmod-data-Fix-bad-alignement.patch \
-            file://pm-wip/voltdm/0047-OMAP4-hwmod-data-Align-interconnect-format-with-regu.patch \
-            file://pm-wip/voltdm/0048-OMAP4-clock-data-Add-sddiv-to-USB-DPLL.patch \
-            file://pm-wip/voltdm/0049-OMAP4-clock-data-Remove-usb_host_fs-clkdev-with-NULL.patch \
-            file://pm-wip/voltdm/0050-OMAP4-clock-data-Re-order-some-clock-nodes-and-struc.patch \
-            file://pm-wip/voltdm/0051-OMAP4-clock-data-Fix-max-mult-and-div-for-USB-DPLL.patch \
-            file://pm-wip/voltdm/0052-OMAP4-prcm-Fix-errors-in-few-defines-name.patch \
-            file://pm-wip/voltdm/0053-OMAP4-prm-Remove-wrong-clockdomain-offsets.patch \
-            file://pm-wip/voltdm/0054-OMAP4-powerdomain-data-Fix-indentation.patch \
-            file://pm-wip/voltdm/0055-OMAP4-cm-Remove-RESTORE-macros-to-avoid-access-from-.patch \
-            file://pm-wip/voltdm/0056-OMAP4-prcm_mpu-Fix-indent-in-few-macros.patch \
-            file://pm-wip/voltdm/0057-OMAP4-clockdomain-data-Fix-data-order-and-wrong-name.patch \
-            file://pm-wip/voltdm/0058-OMAP-omap_device-replace-_find_by_pdev-with-to_omap_.patch \
-            file://pm-wip/voltdm/0059-OMAP-PM-remove-OMAP_PM_NONE-config-option.patch \
-            file://pm-wip/voltdm/0060-OMAP4-clock-data-Remove-McASP2-McASP3-and-MMC6-clock.patch \
-            file://pm-wip/voltdm/0061-OMAP4-clock-data-Remove-UNIPRO-clock-nodes.patch \
-            file://pm-wip/voltdm/0062-OMAP4-hwmod-data-Modify-DSS-opt-clocks.patch \
-            file://pm-wip/voltdm/0063-OMAP2-PM-Initialise-sleep_switch-to-a-non-valid-valu.patch \
-            file://pm-wip/voltdm/0064-OMAP4-powerdomain-data-Fix-core-mem-states-and-missi.patch \
-            file://pm-wip/voltdm/0065-OMAP4-clock-data-Keep-GPMC-clocks-always-enabled-and.patch \
-            file://pm-wip/voltdm/0066-OMAP4-powerdomain-data-Remove-unsupported-MPU-powerd.patch \
-            file://pm-wip/voltdm/0067-OMAP4-hwmod-data-Change-DSS-main_clk-scheme.patch \
-            file://pm-wip/voltdm/0068-I2C-OMAP2-Set-hwmod-flags-to-only-allow-16-bit-acces.patch \
-            file://pm-wip/voltdm/0069-I2C-OMAP2-increase-omap_i2c_dev_attr-flags-from-u8-t.patch \
-            file://pm-wip/voltdm/0070-I2C-OMAP2-Introduce-I2C-IP-versioning-constants.patch \
-            file://pm-wip/voltdm/0071-I2C-OMAP1-OMAP2-create-omap-I2C-functionality-flags-.patch \
-            file://pm-wip/voltdm/0072-I2C-OMAP2-Tag-all-OMAP2-hwmod-defintions-with-I2C-IP.patch \
-            file://pm-wip/voltdm/0073-I2C-OMAP2-add-correct-functionality-flags-to-all-oma.patch \
-            file://pm-wip/voltdm/0074-OMAP-hwmod-fix-the-i2c-reset-timeout-during-bootup.patch \
-            file://pm-wip/voltdm/0075-OMAP-omap_device-Create-clkdev-entry-for-hwmod-main_.patch \
-            file://pm-wip/voltdm/0076-OMAP4-clock-data-Add-missing-divider-selection-for-a.patch \
-            file://pm-wip/voltdm/0077-OMAP4-hwmod-data-Add-clock-domain-attribute.patch \
-            file://pm-wip/voltdm/0078-OMAP2-hwmod-Init-clkdm-field-at-boot-time.patch \
-            file://pm-wip/voltdm/0079-OMAP4-hwmod-Replace-CLKCTRL-absolute-address-with-of.patch \
-            file://pm-wip/voltdm/0080-OMAP-hwmod-Wait-the-idle-status-to-be-disabled.patch \
-            file://pm-wip/voltdm/0081-OMAP4-hwmod-Replace-RSTCTRL-absolute-address-with-of.patch \
-            file://pm-wip/voltdm/0082-OMAP4-prm-Replace-warm-reset-API-with-the-offset-bas.patch \
-            file://pm-wip/voltdm/0083-OMAP4-prm-Remove-deprecated-functions.patch \
-            file://pm-wip/voltdm/0084-OMAP4-hwmod-data-Add-PRM-context-register-offset.patch \
-            file://pm-wip/voltdm/0085-OMAP4-hwmod-data-Add-modulemode-entry-in-omap_hwmod-.patch \
-            file://pm-wip/voltdm/0086-OMAP4-cm-Add-two-new-APIs-for-modulemode-control.patch \
-            file://pm-wip/voltdm/0087-OMAP4-hwmod-Introduce-the-module-control-in-hwmod-co.patch \
-            file://pm-wip/voltdm/0088-OMAP-clockdomain-Remove-redundant-call-to-pwrdm_wait.patch \
-            file://pm-wip/voltdm/0089-OMAP2-clockdomain-Add-2-APIs-to-control-clockdomain-.patch \
-            file://pm-wip/voltdm/0090-OMAP2-clockdomain-add-clkdm_in_hwsup.patch \
-            file://pm-wip/voltdm/0091-OMAP2-PM-idle-clkdms-only-if-already-in-idle.patch \
-            file://pm-wip/voltdm/0092-OMAP2-clockdomain-Add-per-clkdm-lock-to-prevent-conc.patch \
-            file://pm-wip/voltdm/0093-OMAP2-clock-allow-per-SoC-clock-init-code-to-prevent.patch \
-            file://pm-wip/voltdm/0094-OMAP2-hwmod-Follow-the-recommended-PRCM-module-enabl.patch \
-            file://pm-wip/voltdm/0095-OMAP-Add-debugfs-node-to-show-the-summary-of-all-clo.patch \
-            file://pm-wip/voltdm/0096-OMAP2-hwmod-remove-unused-voltagedomain-pointer.patch \
-            file://pm-wip/voltdm/0097-OMAP2-voltage-move-PRCM-mod-offets-into-VC-VP-struct.patch \
-            file://pm-wip/voltdm/0098-OMAP2-voltage-move-prm_irqst_reg-from-VP-into-voltag.patch \
-            file://pm-wip/voltdm/0099-OMAP2-voltage-start-towards-a-new-voltagedomain-laye.patch \
-            file://pm-wip/voltdm/0100-OMAP3-voltage-rename-mpu-voltagedomain-to-mpu_iva.patch \
-            file://pm-wip/voltdm/0101-OMAP3-voltagedomain-data-add-wakeup-domain.patch \
-            file://pm-wip/voltdm/0102-OMAP3-voltage-add-scalable-flag-to-voltagedomain.patch \
-            file://pm-wip/voltdm/0103-OMAP2-powerdomain-add-voltagedomain-to-struct-powerd.patch \
-            file://pm-wip/voltdm/0104-OMAP2-add-voltage-domains-and-connect-to-powerdomain.patch \
-            file://pm-wip/voltdm/0105-OMAP3-powerdomain-data-add-voltage-domains.patch \
-            file://pm-wip/voltdm/0106-OMAP4-powerdomain-data-add-voltage-domains.patch \
-            file://pm-wip/voltdm/0107-OMAP2-powerdomain-add-voltage-domain-lookup-during-r.patch \
-            file://pm-wip/voltdm/0108-OMAP2-voltage-keep-track-of-powerdomains-in-each-vol.patch \
-            file://pm-wip/voltdm/0109-OMAP2-voltage-split-voltage-controller-VC-code-into-.patch \
-            file://pm-wip/voltdm/0110-OMAP2-voltage-move-VC-into-struct-voltagedomain-misc.patch \
-            file://pm-wip/voltdm/0111-OMAP2-voltage-enable-VC-bypass-scale-method-when-VC-.patch \
-            file://pm-wip/voltdm/0112-OMAP2-voltage-split-out-voltage-processor-VP-code-in.patch \
-            file://pm-wip/voltdm/0113-OMAP2-VC-support-PMICs-with-separate-voltage-and-com.patch \
-            file://pm-wip/voltdm/0114-OMAP2-add-PRM-VP-functions-for-checking-clearing-VP-.patch \
-            file://pm-wip/voltdm/0115-OMAP3-VP-replace-transaction-done-check-clear-with-V.patch \
-            file://pm-wip/voltdm/0116-OMAP2-PRM-add-register-access-functions-for-VC-VP.patch \
-            file://pm-wip/voltdm/0117-OMAP3-voltage-convert-to-PRM-register-access-functio.patch \
-            file://pm-wip/voltdm/0118-OMAP3-VC-cleanup-i2c-slave-address-configuration.patch \
-            file://pm-wip/voltdm/0119-OMAP3-VC-cleanup-PMIC-register-address-configuration.patch \
-            file://pm-wip/voltdm/0120-OMAP3-VC-bypass-use-fields-from-VC-struct-instead-of.patch \
-            file://pm-wip/voltdm/0121-OMAP3-VC-cleanup-voltage-setup-time-configuration.patch \
-            file://pm-wip/voltdm/0122-OMAP3-VC-move-on-onlp-ret-off-command-configuration-.patch \
-            file://pm-wip/voltdm/0123-OMAP3-VC-abstract-out-channel-configuration.patch \
-            file://pm-wip/voltdm/0124-OMAP3-voltage-domain-move-PMIC-struct-from-vdd_info-.patch \
-            file://pm-wip/voltdm/0125-OMAP3-VC-make-I2C-config-programmable-with-PMIC-spec.patch \
-            file://pm-wip/voltdm/0126-OMAP3-PM-VC-handle-mutant-channel-config-for-OMAP4-M.patch \
-            file://pm-wip/voltdm/0127-OMAP3-VC-use-last-nominal-voltage-setting-to-get-cur.patch \
-            file://pm-wip/voltdm/0128-OMAP3-VP-cleanup-move-VP-instance-into-voltdm-misc.-.patch \
-            file://pm-wip/voltdm/0129-OMAP3-voltage-remove-unneeded-debugfs-interface.patch \
-            file://pm-wip/voltdm/0130-OMAP3-VP-struct-omap_vp_common-replace-shift-with-__.patch \
-            file://pm-wip/voltdm/0131-OMAP3-VP-move-SoC-specific-sys-clock-rate-retreival-.patch \
-            file://pm-wip/voltdm/0132-OMAP3-VP-move-timing-calculation-config-into-VP-init.patch \
-            file://pm-wip/voltdm/0133-OMAP3-VP-create-VP-helper-function-for-updating-erro.patch \
-            file://pm-wip/voltdm/0134-OMAP3-VP-remove-omap_vp_runtime_data.patch \
-            file://pm-wip/voltdm/0135-OMAP3-VP-move-voltage-scale-function-pointer-into-st.patch \
-            file://pm-wip/voltdm/0136-OMAP-VP-Explicitly-mask-VPVOLTAGE-field.patch \
-            file://pm-wip/voltdm/0137-OMAP3-VP-update_errorgain-return-error-if-VP.patch \
-            file://pm-wip/voltdm/0138-OMAP3-VP-remove-unused-omap_vp_get_curr_volt.patch \
-            file://pm-wip/voltdm/0139-OMAP3-VP-combine-setting-init-voltage-into-common-fu.patch \
-            file://pm-wip/voltdm/0140-OMAP3-voltage-rename-scale-and-reset-functions-using.patch \
-            file://pm-wip/voltdm/0141-OMAP3-voltage-move-rename-curr_volt-from-vdd_info-in.patch \
-            file://pm-wip/voltdm/0142-OMAP3-voltdm-final-removal-of-omap_vdd_info.patch \
-            file://pm-wip/voltdm/0143-OMAP3-voltage-rename-omap_voltage_get_nom_volt-voltd.patch \
-            file://pm-wip/voltdm/0144-OMAP3-voltage-update-nominal-voltage-in-voltdm_scale.patch \
-            file://pm-wip/voltdm/0145-OMAP4-PM-TWL6030-fix-voltage-conversion-formula.patch \
-            file://pm-wip/voltdm/0146-OMAP4-PM-TWL6030-fix-uv-to-voltage-for-0x39.patch \
-            file://pm-wip/voltdm/0147-OMAP4-PM-TWL6030-address-0V-conversions.patch \
-            file://pm-wip/voltdm/0148-OMAP4-PM-TWL6030-fix-ON-RET-OFF-voltages.patch \
-            file://pm-wip/voltdm/0149-OMAP4-PM-TWL6030-add-cmd-register.patch \
-            file://pm-wip/cpufreq/0001-PM-OPP-introduce-function-to-free-cpufreq-table.patch \
-            file://pm-wip/cpufreq/0002-OMAP-CPUfreq-ensure-driver-initializes-after-cpufreq.patch \
-            file://pm-wip/cpufreq/0003-OMAP-CPUfreq-ensure-policy-is-fully-initialized.patch \
-            file://pm-wip/cpufreq/0004-OMAP3-PM-CPUFreq-driver-for-OMAP3.patch \
-            file://pm-wip/cpufreq/0005-OMAP-PM-CPUFREQ-Fix-conditional-compilation.patch \
-            file://pm-wip/cpufreq/0006-cpufreq-fixup-after-new-OPP-layer-merged.patch \
-            file://pm-wip/cpufreq/0007-OMAP-cpufreq-Split-OMAP1-and-OMAP2PLUS-CPUfreq-drive.patch \
-            file://pm-wip/cpufreq/0008-OMAP2PLUS-cpufreq-Add-SMP-support-to-cater-OMAP4430.patch \
-            file://pm-wip/cpufreq/0009-OMAP2PLUS-cpufreq-Fix-typo-when-attempting-to-set-mp.patch \
-            file://pm-wip/cpufreq/0010-OMAP2-cpufreq-move-clk-name-decision-to-init.patch \
-            file://pm-wip/cpufreq/0011-OMAP2-cpufreq-deny-initialization-if-no-mpudev.patch \
-            file://pm-wip/cpufreq/0012-OMAP2-cpufreq-dont-support-freq_table.patch \
-            file://pm-wip/cpufreq/0013-OMAP2-cpufreq-only-supports-OPP-library.patch \
-            file://pm-wip/cpufreq/0014-OMAP2-cpufreq-put-clk-if-cpu_init-failed.patch \
-            file://pm-wip/cpufreq/0015-OMAP2-cpufreq-fix-freq_table-leak.patch \
-            file://pm-wip/cpufreq/0016-OMAP2-CPUfreq-Remove-superfluous-check-in-target-for.patch \
-            file://pm-wip/cpufreq/0017-OMAP2-cpufreq-notify-even-with-bad-boot-frequency.patch \
-            file://pm-wip/cpufreq/0018-OMAP2-cpufreq-Enable-all-CPUs-in-shared-policy-mask.patch \
-            file://pm-wip/cpufreq/0019-OMAP2-CPUfreq-update-lpj-with-reference-value-to-avo.patch \
-            \
-            file://beagle/0001-OMAP3-beagle-add-support-for-beagleboard-xM-revision.patch \
-            file://beagle/0002-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch \
-            file://beagle/0003-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch \
-            file://beagle/0004-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch \
-            file://beagle/0005-omap3-Add-basic-support-for-720MHz-part.patch \
-            file://beagle/0006-ARM-OMAP2-beagleboard-make-wilink-init-look-more-lik.patch \
-            file://beagle/0007-omap_hsmmc-Set-dto-to-max-value-of-14-to-avoid-SD-Ca.patch \
-            file://beagle/0008-OMAP2-add-cpu-id-register-to-MAC-address-helper.patch \
-            file://beagle/0009-HACK-OMAP2-BeagleBoard-Fix-up-random-or-missing-MAC-.patch \
-            file://beagle/0010-ARM-OMAP2-beagleboard-fix-mmc-write-protect-pin-when.patch \
-            file://beagle/0011-beagleboard-reinstate-usage-of-hi-speed-PLL-divider.patch \
-            file://madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch \
-            file://madc/0002-mfd-twl-core-enable-madc-clock.patch \
-            \
-            file://sakoman/0001-mmc-don-t-display-single-block-read-console-messages.patch \
-            file://sakoman/0002-omap-Change-omap_device-activate-dectivate-latency-m.patch \
-            file://sakoman/0003-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch \
-            file://sakoman/0004-mtd-nand-Eliminate-noisey-uncorrectable-error-messag.patch \
-            file://sakoman/0005-video-add-timings-for-hd720.patch \
-            file://sakoman/0006-drivers-net-smsc911x-return-ENODEV-if-device-is-not-.patch \
-            file://sakoman/0007-drivers-input-touchscreen-ads7846-return-ENODEV-if-d.patch \
-            file://sakoman/0008-Revert-omap2_mcspi-Flush-posted-writes.patch \
-            file://sakoman/0009-rtc-twl-Use-threaded-IRQ-remove-IRQ-enable-in-interr.patch \
-            file://sakoman/0010-rtc-twl-Fix-registration-vs.-init-order.patch \
-            file://sakoman/0011-soc-codecs-Enable-audio-capture-by-default-for-twl40.patch \
-            file://sakoman/0012-soc-codecs-twl4030-Turn-on-mic-bias-by-default.patch \
-            file://sakoman/0013-omap-mmc-twl4030-move-clock-input-selection-prior-to.patch \
-            file://sakoman/0014-rtc-twl-add-support-for-backup-battery-recharge.patch \
-            \
-            file://sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch \
-            \
-            file://ulcd/0001-OMAP_VOUT-Fix-build-break-caused-by-update_mode-remo.patch \
-            file://ulcd/0002-WIP-omap-beagleboard-add-bbtoys-ulcd-lite-support.patch \
-            file://ulcd/0003-ARM-OMAP2-beagleboard-add-support-for-loopthrough-ex.patch \
-            file://ulcd/0004-LEDS-add-initial-support-for-WS2801-controller.patch \
-            \
-            file://omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch \
-            \
-            file://misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch \
-            \
-            file://usb/0001-Fix-sprz319-erratum-2.1.patch \
-            \
-            file://defconfig"
-
-SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
-"
-
-S = "${WORKDIR}/git"
-
diff --git a/recipes-kernel/linux/linux_3.1.bb b/recipes-kernel/linux/linux_3.1.bb
deleted file mode 100644
index 110d26c..0000000
--- a/recipes-kernel/linux/linux_3.1.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-require linux.inc
-
-COMPATIBLE_MACHINE = "beagleboard"
-
-DESCRIPTION = "Linux kernel for TI processors"
-
-DEFAULT_PREFERENCE = "-99"
-
-PV = "3.0+3.1rc"
-SRCREV_pn-${PN} = "9e79e3e9dd9672b37ac9412e9a926714306551fe"
-
-# The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
-MACHINE_KERNEL_PR_append = "e"
-
-SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git \
-            file://beagle/0001-UNFINISHED-OMAP3-beagle-add-support-for-expansionboa.patch \
-            file://beagle/0002-HACK-OMAP3-beagle-switch-to-GPTIMER1.patch \
-            file://madc/0001-Enabling-Hwmon-driver-for-twl4030-madc.patch \
-            file://madc/0002-mfd-twl-core-enable-madc-clock.patch \
-            file://sgx/0001-ARM-L2-Add-and-export-outer_clean_all.patch \
-            file://fixes/vout.patch \
-            file://defconfig"
-
-# Needs refresh:
-#            file://beagle/0003-OMAP3-beagle-HACK-add-in-1GHz-OPP.patch \
-#
-
-
-SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
-"
-
-S = "${WORKDIR}/git"
-
-- 
1.8.3.2




More information about the meta-ti mailing list