diff options
42 files changed, 403 insertions, 132 deletions
diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig index 893cd267e075..032b49bad91f 100644 --- a/arch/arm/configs/cm_t35_defconfig +++ b/arch/arm/configs/cm_t35_defconfig | |||
| @@ -358,7 +358,7 @@ CONFIG_PM_SLEEP=y | |||
| 358 | CONFIG_SUSPEND=y | 358 | CONFIG_SUSPEND=y |
| 359 | CONFIG_SUSPEND_FREEZER=y | 359 | CONFIG_SUSPEND_FREEZER=y |
| 360 | # CONFIG_APM_EMULATION is not set | 360 | # CONFIG_APM_EMULATION is not set |
| 361 | # CONFIG_PM_RUNTIME is not set | 361 | CONFIG_PM_RUNTIME=y |
| 362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 362 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 363 | CONFIG_NET=y | 363 | CONFIG_NET=y |
| 364 | 364 | ||
diff --git a/arch/arm/configs/n770_defconfig b/arch/arm/configs/n770_defconfig index 75cae18fbcb6..de0c28aa43e7 100644 --- a/arch/arm/configs/n770_defconfig +++ b/arch/arm/configs/n770_defconfig | |||
| @@ -308,6 +308,7 @@ CONFIG_PM_SLEEP=y | |||
| 308 | CONFIG_SUSPEND_UP_POSSIBLE=y | 308 | CONFIG_SUSPEND_UP_POSSIBLE=y |
| 309 | CONFIG_SUSPEND=y | 309 | CONFIG_SUSPEND=y |
| 310 | # CONFIG_APM_EMULATION is not set | 310 | # CONFIG_APM_EMULATION is not set |
| 311 | CONFIG_PM_RUNTIME=y | ||
| 311 | 312 | ||
| 312 | # | 313 | # |
| 313 | # Networking | 314 | # Networking |
diff --git a/arch/arm/configs/n8x0_defconfig b/arch/arm/configs/n8x0_defconfig index e6f667c5e58a..216ad00948af 100644 --- a/arch/arm/configs/n8x0_defconfig +++ b/arch/arm/configs/n8x0_defconfig | |||
| @@ -191,6 +191,7 @@ CONFIG_ARCH_OMAP=y | |||
| 191 | # | 191 | # |
| 192 | CONFIG_ARCH_OMAP_OTG=y | 192 | CONFIG_ARCH_OMAP_OTG=y |
| 193 | # CONFIG_ARCH_OMAP1 is not set | 193 | # CONFIG_ARCH_OMAP1 is not set |
| 194 | CONFIG_ARCH_OMAP2PLUS=y | ||
| 194 | CONFIG_ARCH_OMAP2=y | 195 | CONFIG_ARCH_OMAP2=y |
| 195 | # CONFIG_ARCH_OMAP3 is not set | 196 | # CONFIG_ARCH_OMAP3 is not set |
| 196 | # CONFIG_ARCH_OMAP4 is not set | 197 | # CONFIG_ARCH_OMAP4 is not set |
| @@ -198,8 +199,6 @@ CONFIG_ARCH_OMAP2=y | |||
| 198 | # | 199 | # |
| 199 | # OMAP Feature Selections | 200 | # OMAP Feature Selections |
| 200 | # | 201 | # |
| 201 | # CONFIG_OMAP_DEBUG_POWERDOMAIN is not set | ||
| 202 | # CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set | ||
| 203 | CONFIG_OMAP_RESET_CLOCKS=y | 202 | CONFIG_OMAP_RESET_CLOCKS=y |
| 204 | # CONFIG_OMAP_MUX is not set | 203 | # CONFIG_OMAP_MUX is not set |
| 205 | # CONFIG_OMAP_MCBSP is not set | 204 | # CONFIG_OMAP_MCBSP is not set |
| @@ -208,15 +207,13 @@ CONFIG_OMAP_MBOX_FWK=y | |||
| 208 | CONFIG_OMAP_32K_TIMER=y | 207 | CONFIG_OMAP_32K_TIMER=y |
| 209 | CONFIG_OMAP_32K_TIMER_HZ=128 | 208 | CONFIG_OMAP_32K_TIMER_HZ=128 |
| 210 | CONFIG_OMAP_DM_TIMER=y | 209 | CONFIG_OMAP_DM_TIMER=y |
| 211 | # CONFIG_OMAP_LL_DEBUG_UART1 is not set | 210 | # CONFIG_OMAP_PM_NONE is not set |
| 212 | # CONFIG_OMAP_LL_DEBUG_UART2 is not set | 211 | CONFIG_OMAP_PM_NOOP=y |
| 213 | CONFIG_OMAP_LL_DEBUG_UART3=y | ||
| 214 | # CONFIG_MACH_OMAP_GENERIC is not set | 212 | # CONFIG_MACH_OMAP_GENERIC is not set |
| 215 | 213 | ||
| 216 | # | 214 | # |
| 217 | # OMAP Core Type | 215 | # OMAP Core Type |
| 218 | # | 216 | # |
| 219 | CONFIG_ARCH_OMAP24XX=y | ||
| 220 | CONFIG_ARCH_OMAP2420=y | 217 | CONFIG_ARCH_OMAP2420=y |
| 221 | # CONFIG_ARCH_OMAP2430 is not set | 218 | # CONFIG_ARCH_OMAP2430 is not set |
| 222 | 219 | ||
| @@ -227,6 +224,9 @@ CONFIG_MACH_OMAP2_TUSB6010=y | |||
| 227 | # CONFIG_MACH_OMAP_H4 is not set | 224 | # CONFIG_MACH_OMAP_H4 is not set |
| 228 | # CONFIG_MACH_OMAP_APOLLON is not set | 225 | # CONFIG_MACH_OMAP_APOLLON is not set |
| 229 | # CONFIG_MACH_OMAP_2430SDP is not set | 226 | # CONFIG_MACH_OMAP_2430SDP is not set |
| 227 | CONFIG_MACH_NOKIA_N800=y | ||
| 228 | CONFIG_MACH_NOKIA_N810=y | ||
| 229 | CONFIG_MACH_NOKIA_N810_WIMAX=y | ||
| 230 | CONFIG_MACH_NOKIA_N8X0=y | 230 | CONFIG_MACH_NOKIA_N8X0=y |
| 231 | 231 | ||
| 232 | # | 232 | # |
| @@ -303,7 +303,7 @@ CONFIG_ALIGNMENT_TRAP=y | |||
| 303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 | 303 | CONFIG_ZBOOT_ROM_TEXT=0x10C08000 |
| 304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 | 304 | CONFIG_ZBOOT_ROM_BSS=0x10200000 |
| 305 | # CONFIG_ZBOOT_ROM is not set | 305 | # CONFIG_ZBOOT_ROM is not set |
| 306 | CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8" | 306 | CONFIG_CMDLINE="root=/dev/mmcblk0p2 console=ttyS2,115200n8 debug earlyprintk rootwait" |
| 307 | # CONFIG_XIP_KERNEL is not set | 307 | # CONFIG_XIP_KERNEL is not set |
| 308 | # CONFIG_KEXEC is not set | 308 | # CONFIG_KEXEC is not set |
| 309 | 309 | ||
| @@ -337,7 +337,14 @@ CONFIG_HAVE_AOUT=y | |||
| 337 | # | 337 | # |
| 338 | # Power management options | 338 | # Power management options |
| 339 | # | 339 | # |
| 340 | # CONFIG_PM is not set | 340 | CONFIG_PM=y |
| 341 | # CONFIG_PM_DEBUG is not set | ||
| 342 | CONFIG_PM_SLEEP=y | ||
| 343 | CONFIG_SUSPEND=y | ||
| 344 | CONFIG_SUSPEND_FREEZER=y | ||
| 345 | # CONFIG_APM_EMULATION is not set | ||
| 346 | CONFIG_PM_RUNTIME=y | ||
| 347 | CONFIG_PM_OPS=y | ||
| 341 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 348 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 342 | CONFIG_NET=y | 349 | CONFIG_NET=y |
| 343 | 350 | ||
| @@ -617,7 +624,55 @@ CONFIG_UNIX98_PTYS=y | |||
| 617 | # CONFIG_R3964 is not set | 624 | # CONFIG_R3964 is not set |
| 618 | # CONFIG_RAW_DRIVER is not set | 625 | # CONFIG_RAW_DRIVER is not set |
| 619 | # CONFIG_TCG_TPM is not set | 626 | # CONFIG_TCG_TPM is not set |
| 620 | # CONFIG_I2C is not set | 627 | CONFIG_I2C=y |
| 628 | CONFIG_I2C_BOARDINFO=y | ||
| 629 | # CONFIG_I2C_COMPAT is not set | ||
| 630 | # CONFIG_I2C_CHARDEV is not set | ||
| 631 | # CONFIG_I2C_HELPER_AUTO is not set | ||
| 632 | # CONFIG_I2C_SMBUS is not set | ||
| 633 | |||
| 634 | # | ||
| 635 | # I2C Algorithms | ||
| 636 | # | ||
| 637 | # CONFIG_I2C_ALGOBIT is not set | ||
| 638 | # CONFIG_I2C_ALGOPCF is not set | ||
| 639 | # CONFIG_I2C_ALGOPCA is not set | ||
| 640 | |||
| 641 | # | ||
| 642 | # I2C Hardware Bus support | ||
| 643 | # | ||
| 644 | |||
| 645 | # | ||
| 646 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 647 | # | ||
| 648 | # CONFIG_I2C_DESIGNWARE is not set | ||
| 649 | # CONFIG_I2C_GPIO is not set | ||
| 650 | # CONFIG_I2C_OCORES is not set | ||
| 651 | CONFIG_I2C_OMAP=y | ||
| 652 | # CONFIG_I2C_SIMTEC is not set | ||
| 653 | # CONFIG_I2C_XILINX is not set | ||
| 654 | |||
| 655 | # | ||
| 656 | # External I2C/SMBus adapter drivers | ||
| 657 | # | ||
| 658 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 659 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 660 | # CONFIG_I2C_TINY_USB is not set | ||
| 661 | |||
| 662 | # | ||
| 663 | # Other I2C/SMBus bus drivers | ||
| 664 | # | ||
| 665 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 666 | # CONFIG_I2C_STUB is not set | ||
| 667 | |||
| 668 | # | ||
| 669 | # Miscellaneous I2C Chip support | ||
| 670 | # | ||
| 671 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 672 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 673 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 674 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 675 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 621 | CONFIG_SPI=y | 676 | CONFIG_SPI=y |
| 622 | # CONFIG_SPI_DEBUG is not set | 677 | # CONFIG_SPI_DEBUG is not set |
| 623 | CONFIG_SPI_MASTER=y | 678 | CONFIG_SPI_MASTER=y |
| @@ -673,15 +728,44 @@ CONFIG_SSB_POSSIBLE=y | |||
| 673 | # Multifunction device drivers | 728 | # Multifunction device drivers |
| 674 | # | 729 | # |
| 675 | # CONFIG_MFD_CORE is not set | 730 | # CONFIG_MFD_CORE is not set |
| 731 | # CONFIG_MFD_88PM860X is not set | ||
| 676 | # CONFIG_MFD_SM501 is not set | 732 | # CONFIG_MFD_SM501 is not set |
| 677 | # CONFIG_MFD_ASIC3 is not set | 733 | # CONFIG_MFD_ASIC3 is not set |
| 678 | # CONFIG_HTC_EGPIO is not set | 734 | # CONFIG_HTC_EGPIO is not set |
| 679 | # CONFIG_HTC_PASIC3 is not set | 735 | # CONFIG_HTC_PASIC3 is not set |
| 736 | # CONFIG_HTC_I2CPLD is not set | ||
| 737 | # CONFIG_TPS65010 is not set | ||
| 738 | CONFIG_MENELAUS=y | ||
| 739 | # CONFIG_TWL4030_CORE is not set | ||
| 680 | # CONFIG_MFD_TMIO is not set | 740 | # CONFIG_MFD_TMIO is not set |
| 681 | # CONFIG_MFD_T7L66XB is not set | 741 | # CONFIG_MFD_T7L66XB is not set |
| 682 | # CONFIG_MFD_TC6387XB is not set | 742 | # CONFIG_MFD_TC6387XB is not set |
| 683 | # CONFIG_MFD_TC6393XB is not set | 743 | # CONFIG_MFD_TC6393XB is not set |
| 744 | # CONFIG_PMIC_DA903X is not set | ||
| 745 | # CONFIG_PMIC_ADP5520 is not set | ||
| 746 | # CONFIG_MFD_MAX8925 is not set | ||
| 747 | # CONFIG_MFD_WM8400 is not set | ||
| 748 | # CONFIG_MFD_WM831X is not set | ||
| 749 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 750 | # CONFIG_MFD_WM8994 is not set | ||
| 751 | # CONFIG_MFD_PCF50633 is not set | ||
| 752 | # CONFIG_MFD_MC13783 is not set | ||
| 753 | # CONFIG_AB3100_CORE is not set | ||
| 684 | # CONFIG_EZX_PCAP is not set | 754 | # CONFIG_EZX_PCAP is not set |
| 755 | # CONFIG_AB4500_CORE is not set | ||
| 756 | CONFIG_REGULATOR=y | ||
| 757 | # CONFIG_REGULATOR_DEBUG is not set | ||
| 758 | # CONFIG_REGULATOR_DUMMY is not set | ||
| 759 | # CONFIG_REGULATOR_FIXED_VOLTAGE is not set | ||
| 760 | # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set | ||
| 761 | # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set | ||
| 762 | # CONFIG_REGULATOR_BQ24022 is not set | ||
| 763 | # CONFIG_REGULATOR_MAX1586 is not set | ||
| 764 | # CONFIG_REGULATOR_MAX8649 is not set | ||
| 765 | # CONFIG_REGULATOR_MAX8660 is not set | ||
| 766 | # CONFIG_REGULATOR_LP3971 is not set | ||
| 767 | # CONFIG_REGULATOR_TPS65023 is not set | ||
| 768 | # CONFIG_REGULATOR_TPS6507X is not set | ||
| 685 | # CONFIG_MEDIA_SUPPORT is not set | 769 | # CONFIG_MEDIA_SUPPORT is not set |
| 686 | 770 | ||
| 687 | # | 771 | # |
| @@ -718,7 +802,10 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y | |||
| 718 | CONFIG_USB_DEVICEFS=y | 802 | CONFIG_USB_DEVICEFS=y |
| 719 | CONFIG_USB_DEVICE_CLASS=y | 803 | CONFIG_USB_DEVICE_CLASS=y |
| 720 | # CONFIG_USB_DYNAMIC_MINORS is not set | 804 | # CONFIG_USB_DYNAMIC_MINORS is not set |
| 721 | # CONFIG_USB_OTG is not set | 805 | CONFIG_USB_SUSPEND=y |
| 806 | CONFIG_USB_OTG=y | ||
| 807 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 808 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 722 | # CONFIG_USB_MON is not set | 809 | # CONFIG_USB_MON is not set |
| 723 | # CONFIG_USB_WUSB is not set | 810 | # CONFIG_USB_WUSB is not set |
| 724 | # CONFIG_USB_WUSB_CBAF is not set | 811 | # CONFIG_USB_WUSB_CBAF is not set |
| @@ -737,9 +824,10 @@ CONFIG_USB_DEVICE_CLASS=y | |||
| 737 | CONFIG_USB_MUSB_HDRC=y | 824 | CONFIG_USB_MUSB_HDRC=y |
| 738 | CONFIG_USB_TUSB6010=y | 825 | CONFIG_USB_TUSB6010=y |
| 739 | # CONFIG_USB_MUSB_HOST is not set | 826 | # CONFIG_USB_MUSB_HOST is not set |
| 740 | CONFIG_USB_MUSB_PERIPHERAL=y | 827 | # CONFIG_USB_MUSB_PERIPHERAL is not set |
| 741 | # CONFIG_USB_MUSB_OTG is not set | 828 | CONFIG_USB_MUSB_OTG=y |
| 742 | CONFIG_USB_GADGET_MUSB_HDRC=y | 829 | CONFIG_USB_GADGET_MUSB_HDRC=y |
| 830 | CONFIG_USB_MUSB_HDRC_HCD=y | ||
| 743 | # CONFIG_MUSB_PIO_ONLY is not set | 831 | # CONFIG_MUSB_PIO_ONLY is not set |
| 744 | # CONFIG_USB_INVENTRA_DMA is not set | 832 | # CONFIG_USB_INVENTRA_DMA is not set |
| 745 | # CONFIG_USB_TI_CPPI_DMA is not set | 833 | # CONFIG_USB_TI_CPPI_DMA is not set |
| @@ -824,44 +912,77 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
| 824 | # CONFIG_USB_ZERO is not set | 912 | # CONFIG_USB_ZERO is not set |
| 825 | # CONFIG_USB_AUDIO is not set | 913 | # CONFIG_USB_AUDIO is not set |
| 826 | CONFIG_USB_ETH=y | 914 | CONFIG_USB_ETH=y |
| 827 | # CONFIG_USB_ETH_RNDIS is not set | 915 | CONFIG_USB_ETH_RNDIS=y |
| 916 | CONFIG_USB_ETH_EEM=y | ||
| 828 | # CONFIG_USB_GADGETFS is not set | 917 | # CONFIG_USB_GADGETFS is not set |
| 829 | # CONFIG_USB_FILE_STORAGE is not set | 918 | # CONFIG_USB_FILE_STORAGE is not set |
| 919 | # CONFIG_USB_MASS_STORAGE is not set | ||
| 830 | # CONFIG_USB_G_SERIAL is not set | 920 | # CONFIG_USB_G_SERIAL is not set |
| 831 | # CONFIG_USB_MIDI_GADGET is not set | 921 | # CONFIG_USB_MIDI_GADGET is not set |
| 832 | # CONFIG_USB_G_PRINTER is not set | 922 | # CONFIG_USB_G_PRINTER is not set |
| 833 | # CONFIG_USB_CDC_COMPOSITE is not set | 923 | # CONFIG_USB_CDC_COMPOSITE is not set |
| 924 | # CONFIG_USB_G_NOKIA is not set | ||
| 925 | # CONFIG_USB_G_MULTI is not set | ||
| 834 | 926 | ||
| 835 | # | 927 | # |
| 836 | # OTG and related infrastructure | 928 | # OTG and related infrastructure |
| 837 | # | 929 | # |
| 838 | CONFIG_USB_OTG_UTILS=y | 930 | CONFIG_USB_OTG_UTILS=y |
| 839 | # CONFIG_USB_GPIO_VBUS is not set | 931 | # CONFIG_USB_GPIO_VBUS is not set |
| 932 | # CONFIG_ISP1301_OMAP is not set | ||
| 933 | # CONFIG_USB_ULPI is not set | ||
| 840 | CONFIG_NOP_USB_XCEIV=y | 934 | CONFIG_NOP_USB_XCEIV=y |
| 841 | # CONFIG_MMC is not set | 935 | CONFIG_MMC=y |
| 936 | # CONFIG_MMC_DEBUG is not set | ||
| 937 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 938 | |||
| 939 | # | ||
| 940 | # MMC/SD/SDIO Card Drivers | ||
| 941 | # | ||
| 942 | CONFIG_MMC_BLOCK=y | ||
| 943 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 944 | # CONFIG_SDIO_UART is not set | ||
| 945 | # CONFIG_MMC_TEST is not set | ||
| 946 | |||
| 947 | # | ||
| 948 | # MMC/SD/SDIO Host Controller Drivers | ||
| 949 | # | ||
| 950 | # CONFIG_MMC_SDHCI is not set | ||
| 951 | CONFIG_MMC_OMAP=y | ||
| 952 | # CONFIG_MMC_SPI is not set | ||
| 842 | # CONFIG_MEMSTICK is not set | 953 | # CONFIG_MEMSTICK is not set |
| 843 | # CONFIG_ACCESSIBILITY is not set | ||
| 844 | # CONFIG_NEW_LEDS is not set | 954 | # CONFIG_NEW_LEDS is not set |
| 955 | # CONFIG_ACCESSIBILITY is not set | ||
| 845 | CONFIG_RTC_LIB=y | 956 | CONFIG_RTC_LIB=y |
| 846 | # CONFIG_RTC_CLASS is not set | 957 | # CONFIG_RTC_CLASS is not set |
| 847 | # CONFIG_DMADEVICES is not set | 958 | # CONFIG_DMADEVICES is not set |
| 848 | # CONFIG_AUXDISPLAY is not set | 959 | # CONFIG_AUXDISPLAY is not set |
| 849 | # CONFIG_REGULATOR is not set | ||
| 850 | # CONFIG_UIO is not set | 960 | # CONFIG_UIO is not set |
| 961 | |||
| 962 | # | ||
| 963 | # TI VLYNQ | ||
| 964 | # | ||
| 851 | # CONFIG_STAGING is not set | 965 | # CONFIG_STAGING is not set |
| 852 | 966 | ||
| 853 | # | 967 | # |
| 854 | # File systems | 968 | # File systems |
| 855 | # | 969 | # |
| 856 | # CONFIG_EXT2_FS is not set | 970 | # CONFIG_EXT2_FS is not set |
| 857 | # CONFIG_EXT3_FS is not set | 971 | CONFIG_EXT3_FS=y |
| 972 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 973 | CONFIG_EXT3_FS_XATTR=y | ||
| 974 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
| 975 | # CONFIG_EXT3_FS_SECURITY is not set | ||
| 858 | # CONFIG_EXT4_FS is not set | 976 | # CONFIG_EXT4_FS is not set |
| 977 | CONFIG_JBD=y | ||
| 978 | CONFIG_FS_MBCACHE=y | ||
| 859 | # CONFIG_REISERFS_FS is not set | 979 | # CONFIG_REISERFS_FS is not set |
| 860 | # CONFIG_JFS_FS is not set | 980 | # CONFIG_JFS_FS is not set |
| 861 | # CONFIG_FS_POSIX_ACL is not set | 981 | # CONFIG_FS_POSIX_ACL is not set |
| 862 | # CONFIG_XFS_FS is not set | 982 | # CONFIG_XFS_FS is not set |
| 863 | # CONFIG_OCFS2_FS is not set | 983 | # CONFIG_OCFS2_FS is not set |
| 864 | # CONFIG_BTRFS_FS is not set | 984 | # CONFIG_BTRFS_FS is not set |
| 985 | # CONFIG_NILFS2_FS is not set | ||
| 865 | CONFIG_FILE_LOCKING=y | 986 | CONFIG_FILE_LOCKING=y |
| 866 | CONFIG_FSNOTIFY=y | 987 | CONFIG_FSNOTIFY=y |
| 867 | CONFIG_DNOTIFY=y | 988 | CONFIG_DNOTIFY=y |
| @@ -886,8 +1007,11 @@ CONFIG_INOTIFY_USER=y | |||
| 886 | # | 1007 | # |
| 887 | # DOS/FAT/NT Filesystems | 1008 | # DOS/FAT/NT Filesystems |
| 888 | # | 1009 | # |
| 1010 | CONFIG_FAT_FS=y | ||
| 889 | # CONFIG_MSDOS_FS is not set | 1011 | # CONFIG_MSDOS_FS is not set |
| 890 | # CONFIG_VFAT_FS is not set | 1012 | CONFIG_VFAT_FS=y |
| 1013 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 1014 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 891 | # CONFIG_NTFS_FS is not set | 1015 | # CONFIG_NTFS_FS is not set |
| 892 | 1016 | ||
| 893 | # | 1017 | # |
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig index c7999f5b1c9a..5a9e95fa728b 100644 --- a/arch/arm/configs/omap3_beagle_defconfig +++ b/arch/arm/configs/omap3_beagle_defconfig | |||
| @@ -324,6 +324,7 @@ CONFIG_PM_SLEEP=y | |||
| 324 | CONFIG_SUSPEND=y | 324 | CONFIG_SUSPEND=y |
| 325 | CONFIG_SUSPEND_FREEZER=y | 325 | CONFIG_SUSPEND_FREEZER=y |
| 326 | # CONFIG_APM_EMULATION is not set | 326 | # CONFIG_APM_EMULATION is not set |
| 327 | CONFIG_PM_RUNTIME=y | ||
| 327 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 328 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 328 | CONFIG_NET=y | 329 | CONFIG_NET=y |
| 329 | 330 | ||
diff --git a/arch/arm/configs/omap3_defconfig b/arch/arm/configs/omap3_defconfig index 714835e5ebec..d6ad92177324 100644 --- a/arch/arm/configs/omap3_defconfig +++ b/arch/arm/configs/omap3_defconfig | |||
| @@ -450,7 +450,7 @@ CONFIG_SUSPEND=y | |||
| 450 | # CONFIG_PM_TEST_SUSPEND is not set | 450 | # CONFIG_PM_TEST_SUSPEND is not set |
| 451 | CONFIG_SUSPEND_FREEZER=y | 451 | CONFIG_SUSPEND_FREEZER=y |
| 452 | # CONFIG_APM_EMULATION is not set | 452 | # CONFIG_APM_EMULATION is not set |
| 453 | # CONFIG_PM_RUNTIME is not set | 453 | CONFIG_PM_RUNTIME=y |
| 454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 454 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 455 | CONFIG_NET=y | 455 | CONFIG_NET=y |
| 456 | 456 | ||
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig index e2ad859fbec6..a6dd6d1af806 100644 --- a/arch/arm/configs/omap3_evm_defconfig +++ b/arch/arm/configs/omap3_evm_defconfig | |||
| @@ -340,6 +340,7 @@ CONFIG_PM_SLEEP=y | |||
| 340 | CONFIG_SUSPEND=y | 340 | CONFIG_SUSPEND=y |
| 341 | CONFIG_SUSPEND_FREEZER=y | 341 | CONFIG_SUSPEND_FREEZER=y |
| 342 | # CONFIG_APM_EMULATION is not set | 342 | # CONFIG_APM_EMULATION is not set |
| 343 | CONFIG_PM_RUNTIME=y | ||
| 343 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 344 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 344 | CONFIG_NET=y | 345 | CONFIG_NET=y |
| 345 | 346 | ||
diff --git a/arch/arm/configs/omap3_touchbook_defconfig b/arch/arm/configs/omap3_touchbook_defconfig index 74fe6be9c5ec..968fbaa8f04d 100644 --- a/arch/arm/configs/omap3_touchbook_defconfig +++ b/arch/arm/configs/omap3_touchbook_defconfig | |||
| @@ -368,7 +368,7 @@ CONFIG_SUSPEND=y | |||
| 368 | # CONFIG_PM_TEST_SUSPEND is not set | 368 | # CONFIG_PM_TEST_SUSPEND is not set |
| 369 | CONFIG_SUSPEND_FREEZER=y | 369 | CONFIG_SUSPEND_FREEZER=y |
| 370 | # CONFIG_APM_EMULATION is not set | 370 | # CONFIG_APM_EMULATION is not set |
| 371 | # CONFIG_PM_RUNTIME is not set | 371 | CONFIG_PM_RUNTIME=y |
| 372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 372 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 373 | CONFIG_NET=y | 373 | CONFIG_NET=y |
| 374 | 374 | ||
diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig index bb2917e5cb47..ddde429a7d9b 100644 --- a/arch/arm/configs/omap_3430sdp_defconfig +++ b/arch/arm/configs/omap_3430sdp_defconfig | |||
| @@ -363,6 +363,7 @@ CONFIG_PM_SLEEP=y | |||
| 363 | CONFIG_SUSPEND=y | 363 | CONFIG_SUSPEND=y |
| 364 | CONFIG_SUSPEND_FREEZER=y | 364 | CONFIG_SUSPEND_FREEZER=y |
| 365 | # CONFIG_APM_EMULATION is not set | 365 | # CONFIG_APM_EMULATION is not set |
| 366 | CONFIG_PM_RUNTIME=y | ||
| 366 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 367 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 367 | CONFIG_NET=y | 368 | CONFIG_NET=y |
| 368 | 369 | ||
diff --git a/arch/arm/configs/omap_3630sdp_defconfig b/arch/arm/configs/omap_3630sdp_defconfig index d25c3d4424ca..609f348b1055 100644 --- a/arch/arm/configs/omap_3630sdp_defconfig +++ b/arch/arm/configs/omap_3630sdp_defconfig | |||
| @@ -361,7 +361,7 @@ CONFIG_SUSPEND=y | |||
| 361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
| 362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
| 363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
| 364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
| 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
| 367 | 367 | ||
diff --git a/arch/arm/configs/omap_h2_1610_defconfig b/arch/arm/configs/omap_h2_1610_defconfig index 523189586a4b..91ef2ed0f80a 100644 --- a/arch/arm/configs/omap_h2_1610_defconfig +++ b/arch/arm/configs/omap_h2_1610_defconfig | |||
| @@ -331,6 +331,7 @@ CONFIG_PM_SLEEP=y | |||
| 331 | CONFIG_SUSPEND=y | 331 | CONFIG_SUSPEND=y |
| 332 | CONFIG_SUSPEND_FREEZER=y | 332 | CONFIG_SUSPEND_FREEZER=y |
| 333 | # CONFIG_APM_EMULATION is not set | 333 | # CONFIG_APM_EMULATION is not set |
| 334 | CONFIG_PM_RUNTIME=y | ||
| 334 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 335 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 335 | 336 | ||
| 336 | # | 337 | # |
diff --git a/arch/arm/configs/omap_zoom2_defconfig b/arch/arm/configs/omap_zoom2_defconfig index a82e81332a03..f5c6e11cf189 100644 --- a/arch/arm/configs/omap_zoom2_defconfig +++ b/arch/arm/configs/omap_zoom2_defconfig | |||
| @@ -343,6 +343,7 @@ CONFIG_SUSPEND=y | |||
| 343 | # CONFIG_PM_TEST_SUSPEND is not set | 343 | # CONFIG_PM_TEST_SUSPEND is not set |
| 344 | CONFIG_SUSPEND_FREEZER=y | 344 | CONFIG_SUSPEND_FREEZER=y |
| 345 | # CONFIG_APM_EMULATION is not set | 345 | # CONFIG_APM_EMULATION is not set |
| 346 | CONFIG_PM_RUNTIME=y | ||
| 346 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 347 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 347 | CONFIG_NET=y | 348 | CONFIG_NET=y |
| 348 | 349 | ||
diff --git a/arch/arm/configs/omap_zoom3_defconfig b/arch/arm/configs/omap_zoom3_defconfig index ff8ac3dcc31d..ea9a5012d332 100644 --- a/arch/arm/configs/omap_zoom3_defconfig +++ b/arch/arm/configs/omap_zoom3_defconfig | |||
| @@ -361,7 +361,7 @@ CONFIG_SUSPEND=y | |||
| 361 | # CONFIG_PM_TEST_SUSPEND is not set | 361 | # CONFIG_PM_TEST_SUSPEND is not set |
| 362 | CONFIG_SUSPEND_FREEZER=y | 362 | CONFIG_SUSPEND_FREEZER=y |
| 363 | # CONFIG_APM_EMULATION is not set | 363 | # CONFIG_APM_EMULATION is not set |
| 364 | # CONFIG_PM_RUNTIME is not set | 364 | CONFIG_PM_RUNTIME=y |
| 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 365 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 366 | CONFIG_NET=y | 366 | CONFIG_NET=y |
| 367 | 367 | ||
diff --git a/arch/arm/configs/rx51_defconfig b/arch/arm/configs/rx51_defconfig index 193bd334fbbf..45135ffadc57 100644 --- a/arch/arm/configs/rx51_defconfig +++ b/arch/arm/configs/rx51_defconfig | |||
| @@ -322,6 +322,7 @@ CONFIG_PM_SLEEP=y | |||
| 322 | CONFIG_SUSPEND=y | 322 | CONFIG_SUSPEND=y |
| 323 | CONFIG_SUSPEND_FREEZER=y | 323 | CONFIG_SUSPEND_FREEZER=y |
| 324 | # CONFIG_APM_EMULATION is not set | 324 | # CONFIG_APM_EMULATION is not set |
| 325 | CONFIG_PM_RUNTIME=y | ||
| 325 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 326 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
| 326 | CONFIG_NET=y | 327 | CONFIG_NET=y |
| 327 | 328 | ||
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index 2069fb33baaa..4b9fc57770db 100644 --- a/arch/arm/mach-omap2/Makefile +++ b/arch/arm/mach-omap2/Makefile | |||
| @@ -22,6 +22,9 @@ obj-$(CONFIG_OMAP_MCBSP) += mcbsp.o | |||
| 22 | # SMP support ONLY available for OMAP4 | 22 | # SMP support ONLY available for OMAP4 |
| 23 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o | 23 | obj-$(CONFIG_SMP) += omap-smp.o omap-headsmp.o |
| 24 | obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o | 24 | obj-$(CONFIG_LOCAL_TIMERS) += timer-mpu.o |
| 25 | obj-$(CONFIG_ARCH_OMAP4) += omap44xx-smc.o | ||
| 26 | |||
| 27 | AFLAGS_omap44xx-smc.o :=-Wa,-march=armv7-a | ||
| 25 | 28 | ||
| 26 | # Functions loaded to SRAM | 29 | # Functions loaded to SRAM |
| 27 | obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o | 30 | obj-$(CONFIG_ARCH_OMAP2420) += sram242x.o |
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c index a101029ceb6f..5822bcf7b15f 100644 --- a/arch/arm/mach-omap2/board-3430sdp.c +++ b/arch/arm/mach-omap2/board-3430sdp.c | |||
| @@ -648,7 +648,7 @@ static void enable_board_wakeup_source(void) | |||
| 648 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); | 648 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); |
| 649 | } | 649 | } |
| 650 | 650 | ||
| 651 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 651 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 652 | 652 | ||
| 653 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 653 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 654 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 654 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c index 4386d2b4a785..a0a2a113465c 100644 --- a/arch/arm/mach-omap2/board-3630sdp.c +++ b/arch/arm/mach-omap2/board-3630sdp.c | |||
| @@ -54,7 +54,7 @@ static void enable_board_wakeup_source(void) | |||
| 54 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); | 54 | OMAP_WAKEUP_EN | OMAP_PIN_INPUT_PULLUP); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 57 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 58 | 58 | ||
| 59 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 59 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 60 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 60 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 180ac112e527..b88f28c5814b 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
| @@ -50,33 +50,9 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = { | |||
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | #ifdef CONFIG_CACHE_L2X0 | 52 | #ifdef CONFIG_CACHE_L2X0 |
| 53 | noinline void omap_smc1(u32 fn, u32 arg) | ||
| 54 | { | ||
| 55 | register u32 r12 asm("r12") = fn; | ||
| 56 | register u32 r0 asm("r0") = arg; | ||
| 57 | |||
| 58 | /* This is common routine cache secure monitor API used to | ||
| 59 | * modify the PL310 secure registers. | ||
| 60 | * r0 contains the value to be modified and "r12" contains | ||
| 61 | * the monitor API number. It uses few CPU registers | ||
| 62 | * internally and hence they need be backed up including | ||
| 63 | * link register "lr". | ||
| 64 | * Explicitly save r11 and r12 the compiler generated code | ||
| 65 | * won't save it. | ||
| 66 | */ | ||
| 67 | asm volatile( | ||
| 68 | "stmfd r13!, {r11,r12}\n" | ||
| 69 | "dsb\n" | ||
| 70 | "smc\n" | ||
| 71 | "ldmfd r13!, {r11,r12}\n" | ||
| 72 | : "+r" (r0), "+r" (r12) | ||
| 73 | : | ||
| 74 | : "r4", "r5", "r10", "lr", "cc"); | ||
| 75 | } | ||
| 76 | EXPORT_SYMBOL(omap_smc1); | ||
| 77 | |||
| 78 | static int __init omap_l2_cache_init(void) | 53 | static int __init omap_l2_cache_init(void) |
| 79 | { | 54 | { |
| 55 | extern void omap_smc1(u32 fn, u32 arg); | ||
| 80 | void __iomem *l2cache_base; | 56 | void __iomem *l2cache_base; |
| 81 | 57 | ||
| 82 | /* To avoid code running on other OMAPs in | 58 | /* To avoid code running on other OMAPs in |
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 70c18614773c..6ae880585d54 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c | |||
| @@ -273,7 +273,7 @@ static void __init am3517_evm_init_irq(void) | |||
| 273 | omap_gpio_init(); | 273 | omap_gpio_init(); |
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { | 276 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 277 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 277 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 278 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 278 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| 279 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 279 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c index afa77caaff4d..2de4f79f03a0 100644 --- a/arch/arm/mach-omap2/board-cm-t35.c +++ b/arch/arm/mach-omap2/board-cm-t35.c | |||
| @@ -612,7 +612,7 @@ static struct omap2_hsmmc_info mmc[] = { | |||
| 612 | {} /* Terminator */ | 612 | {} /* Terminator */ |
| 613 | }; | 613 | }; |
| 614 | 614 | ||
| 615 | static struct ehci_hcd_omap_platform_data ehci_pdata = { | 615 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { |
| 616 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 616 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 617 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 617 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| 618 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 618 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c index 371019054b49..5bfc13b3176c 100644 --- a/arch/arm/mach-omap2/board-devkit8000.c +++ b/arch/arm/mach-omap2/board-devkit8000.c | |||
| @@ -636,7 +636,7 @@ static struct omap_musb_board_data musb_board_data = { | |||
| 636 | .power = 100, | 636 | .power = 100, |
| 637 | }; | 637 | }; |
| 638 | 638 | ||
| 639 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 639 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 640 | 640 | ||
| 641 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 641 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 642 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 642 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 9958987a3d0a..3c7789d45051 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
| @@ -16,7 +16,6 @@ | |||
| 16 | #include <linux/clk.h> | 16 | #include <linux/clk.h> |
| 17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
| 18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
| 19 | #include <linux/leds.h> | ||
| 20 | #include <linux/interrupt.h> | 19 | #include <linux/interrupt.h> |
| 21 | 20 | ||
| 22 | #include <linux/regulator/machine.h> | 21 | #include <linux/regulator/machine.h> |
| @@ -39,8 +38,8 @@ | |||
| 39 | #define IGEP2_SMSC911X_CS 5 | 38 | #define IGEP2_SMSC911X_CS 5 |
| 40 | #define IGEP2_SMSC911X_GPIO 176 | 39 | #define IGEP2_SMSC911X_GPIO 176 |
| 41 | #define IGEP2_GPIO_USBH_NRESET 24 | 40 | #define IGEP2_GPIO_USBH_NRESET 24 |
| 42 | #define IGEP2_GPIO_LED0_RED 26 | 41 | #define IGEP2_GPIO_LED0_GREEN 26 |
| 43 | #define IGEP2_GPIO_LED0_GREEN 27 | 42 | #define IGEP2_GPIO_LED0_RED 27 |
| 44 | #define IGEP2_GPIO_LED1_RED 28 | 43 | #define IGEP2_GPIO_LED1_RED 28 |
| 45 | #define IGEP2_GPIO_DVI_PUP 170 | 44 | #define IGEP2_GPIO_DVI_PUP 170 |
| 46 | #define IGEP2_GPIO_WIFI_NPD 94 | 45 | #define IGEP2_GPIO_WIFI_NPD 94 |
| @@ -355,34 +354,50 @@ static void __init igep2_display_init(void) | |||
| 355 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) | 354 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) |
| 356 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); | 355 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); |
| 357 | } | 356 | } |
| 358 | #ifdef CONFIG_LEDS_TRIGGERS | 357 | |
| 359 | static struct gpio_led gpio_leds[] = { | 358 | #if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE) |
| 359 | #include <linux/leds.h> | ||
| 360 | |||
| 361 | static struct gpio_led igep2_gpio_leds[] = { | ||
| 360 | { | 362 | { |
| 361 | .name = "GPIO_LED1_RED", | 363 | .name = "led0:red", |
| 364 | .gpio = IGEP2_GPIO_LED0_RED, | ||
| 365 | }, | ||
| 366 | { | ||
| 367 | .name = "led0:green", | ||
| 362 | .default_trigger = "heartbeat", | 368 | .default_trigger = "heartbeat", |
| 369 | .gpio = IGEP2_GPIO_LED0_GREEN, | ||
| 370 | }, | ||
| 371 | { | ||
| 372 | .name = "led1:red", | ||
| 363 | .gpio = IGEP2_GPIO_LED1_RED, | 373 | .gpio = IGEP2_GPIO_LED1_RED, |
| 364 | }, | 374 | }, |
| 365 | }; | 375 | }; |
| 366 | 376 | ||
| 367 | static struct gpio_led_platform_data gpio_leds_info = { | 377 | static struct gpio_led_platform_data igep2_led_pdata = { |
| 368 | .leds = gpio_leds, | 378 | .leds = igep2_gpio_leds, |
| 369 | .num_leds = ARRAY_SIZE(gpio_leds), | 379 | .num_leds = ARRAY_SIZE(igep2_gpio_leds), |
| 370 | }; | 380 | }; |
| 371 | 381 | ||
| 372 | static struct platform_device leds_gpio = { | 382 | static struct platform_device igep2_led_device = { |
| 373 | .name = "leds-gpio", | 383 | .name = "leds-gpio", |
| 374 | .id = -1, | 384 | .id = -1, |
| 375 | .dev = { | 385 | .dev = { |
| 376 | .platform_data = &gpio_leds_info, | 386 | .platform_data = &igep2_led_pdata, |
| 377 | }, | 387 | }, |
| 378 | }; | 388 | }; |
| 389 | |||
| 390 | static void __init igep2_init_led(void) | ||
| 391 | { | ||
| 392 | platform_device_register(&igep2_led_device); | ||
| 393 | } | ||
| 394 | |||
| 395 | #else | ||
| 396 | static inline void igep2_init_led(void) {} | ||
| 379 | #endif | 397 | #endif |
| 380 | 398 | ||
| 381 | static struct platform_device *igep2_devices[] __initdata = { | 399 | static struct platform_device *igep2_devices[] __initdata = { |
| 382 | &igep2_dss_device, | 400 | &igep2_dss_device, |
| 383 | #ifdef CONFIG_LEDS_TRIGGERS | ||
| 384 | &leds_gpio, | ||
| 385 | #endif | ||
| 386 | }; | 401 | }; |
| 387 | 402 | ||
| 388 | static void __init igep2_init_irq(void) | 403 | static void __init igep2_init_irq(void) |
| @@ -442,7 +457,7 @@ static struct omap_musb_board_data musb_board_data = { | |||
| 442 | .power = 100, | 457 | .power = 100, |
| 443 | }; | 458 | }; |
| 444 | 459 | ||
| 445 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 460 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 446 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 461 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
| 447 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 462 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| 448 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 463 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
| @@ -471,31 +486,34 @@ static void __init igep2_init(void) | |||
| 471 | usb_ehci_init(&ehci_pdata); | 486 | usb_ehci_init(&ehci_pdata); |
| 472 | 487 | ||
| 473 | igep2_flash_init(); | 488 | igep2_flash_init(); |
| 489 | igep2_init_led(); | ||
| 474 | igep2_display_init(); | 490 | igep2_display_init(); |
| 475 | igep2_init_smsc911x(); | 491 | igep2_init_smsc911x(); |
| 476 | 492 | ||
| 477 | /* GPIO userspace leds */ | 493 | /* GPIO userspace leds */ |
| 478 | if ((gpio_request(IGEP2_GPIO_LED0_RED, "GPIO_LED0_RED") == 0) && | 494 | #if !defined(CONFIG_LEDS_GPIO) && !defined(CONFIG_LEDS_GPIO_MODULE) |
| 495 | if ((gpio_request(IGEP2_GPIO_LED0_RED, "led0:red") == 0) && | ||
| 479 | (gpio_direction_output(IGEP2_GPIO_LED0_RED, 1) == 0)) { | 496 | (gpio_direction_output(IGEP2_GPIO_LED0_RED, 1) == 0)) { |
| 480 | gpio_export(IGEP2_GPIO_LED0_RED, 0); | 497 | gpio_export(IGEP2_GPIO_LED0_RED, 0); |
| 481 | gpio_set_value(IGEP2_GPIO_LED0_RED, 0); | 498 | gpio_set_value(IGEP2_GPIO_LED0_RED, 0); |
| 482 | } else | 499 | } else |
| 483 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_RED\n"); | 500 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_RED\n"); |
| 484 | 501 | ||
| 485 | if ((gpio_request(IGEP2_GPIO_LED0_GREEN, "GPIO_LED0_GREEN") == 0) && | 502 | if ((gpio_request(IGEP2_GPIO_LED0_GREEN, "led0:green") == 0) && |
| 486 | (gpio_direction_output(IGEP2_GPIO_LED0_GREEN, 1) == 0)) { | 503 | (gpio_direction_output(IGEP2_GPIO_LED0_GREEN, 1) == 0)) { |
| 487 | gpio_export(IGEP2_GPIO_LED0_GREEN, 0); | 504 | gpio_export(IGEP2_GPIO_LED0_GREEN, 0); |
| 488 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); | 505 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); |
| 489 | } else | 506 | } else |
| 490 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); | 507 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); |
| 491 | #ifndef CONFIG_LEDS_TRIGGERS | 508 | |
| 492 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_LED1_RED") == 0) && | 509 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "led1:red") == 0) && |
| 493 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { | 510 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { |
| 494 | gpio_export(IGEP2_GPIO_LED1_RED, 0); | 511 | gpio_export(IGEP2_GPIO_LED1_RED, 0); |
| 495 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); | 512 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); |
| 496 | } else | 513 | } else |
| 497 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); | 514 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); |
| 498 | #endif | 515 | #endif |
| 516 | |||
| 499 | /* GPIO W-LAN + Bluetooth combo module */ | 517 | /* GPIO W-LAN + Bluetooth combo module */ |
| 500 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && | 518 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && |
| 501 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { | 519 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { |
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c index 4cab0522d7ce..da9bcb898991 100644 --- a/arch/arm/mach-omap2/board-n8x0.c +++ b/arch/arm/mach-omap2/board-n8x0.c | |||
| @@ -37,6 +37,103 @@ static int slot1_cover_open; | |||
| 37 | static int slot2_cover_open; | 37 | static int slot2_cover_open; |
| 38 | static struct device *mmc_device; | 38 | static struct device *mmc_device; |
| 39 | 39 | ||
| 40 | #define TUSB6010_ASYNC_CS 1 | ||
| 41 | #define TUSB6010_SYNC_CS 4 | ||
| 42 | #define TUSB6010_GPIO_INT 58 | ||
| 43 | #define TUSB6010_GPIO_ENABLE 0 | ||
| 44 | #define TUSB6010_DMACHAN 0x3f | ||
| 45 | |||
| 46 | #if defined(CONFIG_USB_TUSB6010) || \ | ||
| 47 | defined(CONFIG_USB_TUSB6010_MODULE) | ||
| 48 | /* | ||
| 49 | * Enable or disable power to TUSB6010. When enabling, turn on 3.3 V and | ||
| 50 | * 1.5 V voltage regulators of PM companion chip. Companion chip will then | ||
| 51 | * provide then PGOOD signal to TUSB6010 which will release it from reset. | ||
| 52 | */ | ||
| 53 | static int tusb_set_power(int state) | ||
| 54 | { | ||
| 55 | int i, retval = 0; | ||
| 56 | |||
| 57 | if (state) { | ||
| 58 | gpio_set_value(TUSB6010_GPIO_ENABLE, 1); | ||
| 59 | msleep(1); | ||
| 60 | |||
| 61 | /* Wait until TUSB6010 pulls INT pin down */ | ||
| 62 | i = 100; | ||
| 63 | while (i && gpio_get_value(TUSB6010_GPIO_INT)) { | ||
| 64 | msleep(1); | ||
| 65 | i--; | ||
| 66 | } | ||
| 67 | |||
| 68 | if (!i) { | ||
| 69 | printk(KERN_ERR "tusb: powerup failed\n"); | ||
| 70 | retval = -ENODEV; | ||
| 71 | } | ||
| 72 | } else { | ||
| 73 | gpio_set_value(TUSB6010_GPIO_ENABLE, 0); | ||
| 74 | msleep(10); | ||
| 75 | } | ||
| 76 | |||
| 77 | return retval; | ||
| 78 | } | ||
| 79 | |||
| 80 | static struct musb_hdrc_config musb_config = { | ||
| 81 | .multipoint = 1, | ||
| 82 | .dyn_fifo = 1, | ||
| 83 | .num_eps = 16, | ||
| 84 | .ram_bits = 12, | ||
| 85 | }; | ||
| 86 | |||
| 87 | static struct musb_hdrc_platform_data tusb_data = { | ||
| 88 | #if defined(CONFIG_USB_MUSB_OTG) | ||
| 89 | .mode = MUSB_OTG, | ||
| 90 | #elif defined(CONFIG_USB_MUSB_PERIPHERAL) | ||
| 91 | .mode = MUSB_PERIPHERAL, | ||
| 92 | #else /* defined(CONFIG_USB_MUSB_HOST) */ | ||
| 93 | .mode = MUSB_HOST, | ||
| 94 | #endif | ||
| 95 | .set_power = tusb_set_power, | ||
| 96 | .min_power = 25, /* x2 = 50 mA drawn from VBUS as peripheral */ | ||
| 97 | .power = 100, /* Max 100 mA VBUS for host mode */ | ||
| 98 | .config = &musb_config, | ||
| 99 | }; | ||
| 100 | |||
| 101 | static void __init n8x0_usb_init(void) | ||
| 102 | { | ||
| 103 | int ret = 0; | ||
| 104 | static char announce[] __initdata = KERN_INFO "TUSB 6010\n"; | ||
| 105 | |||
| 106 | /* PM companion chip power control pin */ | ||
| 107 | ret = gpio_request(TUSB6010_GPIO_ENABLE, "TUSB6010 enable"); | ||
| 108 | if (ret != 0) { | ||
| 109 | printk(KERN_ERR "Could not get TUSB power GPIO%i\n", | ||
| 110 | TUSB6010_GPIO_ENABLE); | ||
| 111 | return; | ||
| 112 | } | ||
| 113 | gpio_direction_output(TUSB6010_GPIO_ENABLE, 0); | ||
| 114 | |||
| 115 | tusb_set_power(0); | ||
| 116 | |||
| 117 | ret = tusb6010_setup_interface(&tusb_data, TUSB6010_REFCLK_19, 2, | ||
| 118 | TUSB6010_ASYNC_CS, TUSB6010_SYNC_CS, | ||
| 119 | TUSB6010_GPIO_INT, TUSB6010_DMACHAN); | ||
| 120 | if (ret != 0) | ||
| 121 | goto err; | ||
| 122 | |||
| 123 | printk(announce); | ||
| 124 | |||
| 125 | return; | ||
| 126 | |||
| 127 | err: | ||
| 128 | gpio_free(TUSB6010_GPIO_ENABLE); | ||
| 129 | } | ||
| 130 | #else | ||
| 131 | |||
| 132 | static void __init n8x0_usb_init(void) {} | ||
| 133 | |||
| 134 | #endif /*CONFIG_USB_TUSB6010 */ | ||
| 135 | |||
| 136 | |||
| 40 | static struct omap2_mcspi_device_config p54spi_mcspi_config = { | 137 | static struct omap2_mcspi_device_config p54spi_mcspi_config = { |
| 41 | .turbo_mode = 0, | 138 | .turbo_mode = 0, |
| 42 | .single_channel = 1, | 139 | .single_channel = 1, |
| @@ -562,6 +659,7 @@ static void __init n8x0_init_machine(void) | |||
| 562 | n8x0_menelaus_init(); | 659 | n8x0_menelaus_init(); |
| 563 | n8x0_onenand_init(); | 660 | n8x0_onenand_init(); |
| 564 | n8x0_mmc_init(); | 661 | n8x0_mmc_init(); |
| 662 | n8x0_usb_init(); | ||
| 565 | } | 663 | } |
| 566 | 664 | ||
| 567 | MACHINE_START(NOKIA_N800, "Nokia N800") | 665 | MACHINE_START(NOKIA_N800, "Nokia N800") |
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index 6eb77e1f7c82..962d377970e9 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c | |||
| @@ -410,7 +410,7 @@ static void __init omap3beagle_flash_init(void) | |||
| 410 | } | 410 | } |
| 411 | } | 411 | } |
| 412 | 412 | ||
| 413 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 413 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 414 | 414 | ||
| 415 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 415 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 416 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 416 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c index d6bc88c426b5..017bb2f4f7d2 100644 --- a/arch/arm/mach-omap2/board-omap3evm.c +++ b/arch/arm/mach-omap2/board-omap3evm.c | |||
| @@ -635,7 +635,7 @@ static struct platform_device *omap3_evm_devices[] __initdata = { | |||
| 635 | &omap3_evm_dss_device, | 635 | &omap3_evm_dss_device, |
| 636 | }; | 636 | }; |
| 637 | 637 | ||
| 638 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 638 | static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = { |
| 639 | 639 | ||
| 640 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 640 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
| 641 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 641 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c index 4827f4658df3..395d049bf010 100644 --- a/arch/arm/mach-omap2/board-omap3pandora.c +++ b/arch/arm/mach-omap2/board-omap3pandora.c | |||
| @@ -459,12 +459,20 @@ static struct i2c_board_info __initdata omap3pandora_i2c_boardinfo[] = { | |||
| 459 | }, | 459 | }, |
| 460 | }; | 460 | }; |
| 461 | 461 | ||
| 462 | static struct i2c_board_info __initdata omap3pandora_i2c3_boardinfo[] = { | ||
| 463 | { | ||
| 464 | I2C_BOARD_INFO("bq27500", 0x55), | ||
| 465 | .flags = I2C_CLIENT_WAKE, | ||
| 466 | }, | ||
| 467 | }; | ||
| 468 | |||
| 462 | static int __init omap3pandora_i2c_init(void) | 469 | static int __init omap3pandora_i2c_init(void) |
| 463 | { | 470 | { |
| 464 | omap_register_i2c_bus(1, 2600, omap3pandora_i2c_boardinfo, | 471 | omap_register_i2c_bus(1, 2600, omap3pandora_i2c_boardinfo, |
| 465 | ARRAY_SIZE(omap3pandora_i2c_boardinfo)); | 472 | ARRAY_SIZE(omap3pandora_i2c_boardinfo)); |
| 466 | /* i2c2 pins are not connected */ | 473 | /* i2c2 pins are not connected */ |
| 467 | omap_register_i2c_bus(3, 100, NULL, 0); | 474 | omap_register_i2c_bus(3, 100, omap3pandora_i2c3_boardinfo, |
| 475 | ARRAY_SIZE(omap3pandora_i2c3_boardinfo)); | ||
| 468 | return 0; | 476 | return 0; |
| 469 | } | 477 | } |
| 470 | 478 | ||
| @@ -537,7 +545,7 @@ static struct platform_device *omap3pandora_devices[] __initdata = { | |||
| 537 | &pandora_dss_device, | 545 | &pandora_dss_device, |
| 538 | }; | 546 | }; |
| 539 | 547 | ||
| 540 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 548 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 541 | 549 | ||
| 542 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 550 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 543 | .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 551 | .port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c index 3943d0f8322c..2504d41f923e 100644 --- a/arch/arm/mach-omap2/board-omap3touchbook.c +++ b/arch/arm/mach-omap2/board-omap3touchbook.c | |||
| @@ -493,7 +493,7 @@ static void __init omap3touchbook_flash_init(void) | |||
| 493 | } | 493 | } |
| 494 | } | 494 | } |
| 495 | 495 | ||
| 496 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 496 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 497 | 497 | ||
| 498 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, | 498 | .port_mode[0] = EHCI_HCD_OMAP_MODE_PHY, |
| 499 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 499 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| @@ -518,14 +518,14 @@ static void omap3_touchbook_poweroff(void) | |||
| 518 | gpio_direction_output(TB_KILL_POWER_GPIO, 0); | 518 | gpio_direction_output(TB_KILL_POWER_GPIO, 0); |
| 519 | } | 519 | } |
| 520 | 520 | ||
| 521 | static void __init early_touchbook_revision(char **p) | 521 | static int __init early_touchbook_revision(char *p) |
| 522 | { | 522 | { |
| 523 | if (!*p) | 523 | if (!p) |
| 524 | return; | 524 | return 0; |
| 525 | 525 | ||
| 526 | strict_strtoul(*p, 10, &touchbook_revision); | 526 | return strict_strtoul(p, 10, &touchbook_revision); |
| 527 | } | 527 | } |
| 528 | __early_param("tbr=", early_touchbook_revision); | 528 | early_param("tbr", early_touchbook_revision); |
| 529 | 529 | ||
| 530 | static struct omap_musb_board_data musb_board_data = { | 530 | static struct omap_musb_board_data musb_board_data = { |
| 531 | .interface_type = MUSB_INTERFACE_ULPI, | 531 | .interface_type = MUSB_INTERFACE_ULPI, |
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c index 50872a42bec7..8848c7c5ce48 100644 --- a/arch/arm/mach-omap2/board-overo.c +++ b/arch/arm/mach-omap2/board-overo.c | |||
| @@ -394,7 +394,7 @@ static struct platform_device *overo_devices[] __initdata = { | |||
| 394 | &overo_lcd_device, | 394 | &overo_lcd_device, |
| 395 | }; | 395 | }; |
| 396 | 396 | ||
| 397 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 397 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 398 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 398 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
| 399 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 399 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| 400 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 400 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/board-zoom3.c b/arch/arm/mach-omap2/board-zoom3.c index d3e3cd5170d1..cd3e40cf3ac1 100644 --- a/arch/arm/mach-omap2/board-zoom3.c +++ b/arch/arm/mach-omap2/board-zoom3.c | |||
| @@ -52,7 +52,7 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
| 52 | #define board_mux NULL | 52 | #define board_mux NULL |
| 53 | #endif | 53 | #endif |
| 54 | 54 | ||
| 55 | static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { | 55 | static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = { |
| 56 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 56 | .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
| 57 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, | 57 | .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY, |
| 58 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, | 58 | .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN, |
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c index f12af95ead45..d932b142d0b6 100644 --- a/arch/arm/mach-omap2/clock2420_data.c +++ b/arch/arm/mach-omap2/clock2420_data.c | |||
| @@ -1841,6 +1841,7 @@ static struct omap_clk omap2420_clks[] = { | |||
| 1841 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), | 1841 | CLK(NULL, "aes_ick", &aes_ick, CK_242X), |
| 1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), | 1842 | CLK(NULL, "pka_ick", &pka_ick, CK_242X), |
| 1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), | 1843 | CLK(NULL, "usb_fck", &usb_fck, CK_242X), |
| 1844 | CLK("musb_hdrc", "fck", &osc_ck, CK_242X), | ||
| 1844 | }; | 1845 | }; |
| 1845 | 1846 | ||
| 1846 | /* | 1847 | /* |
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c index 402e8f0d0f21..87f676acf61d 100644 --- a/arch/arm/mach-omap2/io.c +++ b/arch/arm/mach-omap2/io.c | |||
| @@ -237,7 +237,7 @@ static void __init _omap2_map_common_io(void) | |||
| 237 | } | 237 | } |
| 238 | 238 | ||
| 239 | #ifdef CONFIG_ARCH_OMAP2420 | 239 | #ifdef CONFIG_ARCH_OMAP2420 |
| 240 | void __init omap242x_map_common_io() | 240 | void __init omap242x_map_common_io(void) |
| 241 | { | 241 | { |
| 242 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 242 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
| 243 | iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc)); | 243 | iotable_init(omap242x_io_desc, ARRAY_SIZE(omap242x_io_desc)); |
| @@ -246,7 +246,7 @@ void __init omap242x_map_common_io() | |||
| 246 | #endif | 246 | #endif |
| 247 | 247 | ||
| 248 | #ifdef CONFIG_ARCH_OMAP2430 | 248 | #ifdef CONFIG_ARCH_OMAP2430 |
| 249 | void __init omap243x_map_common_io() | 249 | void __init omap243x_map_common_io(void) |
| 250 | { | 250 | { |
| 251 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); | 251 | iotable_init(omap24xx_io_desc, ARRAY_SIZE(omap24xx_io_desc)); |
| 252 | iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc)); | 252 | iotable_init(omap243x_io_desc, ARRAY_SIZE(omap243x_io_desc)); |
| @@ -255,7 +255,7 @@ void __init omap243x_map_common_io() | |||
| 255 | #endif | 255 | #endif |
| 256 | 256 | ||
| 257 | #ifdef CONFIG_ARCH_OMAP3 | 257 | #ifdef CONFIG_ARCH_OMAP3 |
| 258 | void __init omap34xx_map_common_io() | 258 | void __init omap34xx_map_common_io(void) |
| 259 | { | 259 | { |
| 260 | iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc)); | 260 | iotable_init(omap34xx_io_desc, ARRAY_SIZE(omap34xx_io_desc)); |
| 261 | _omap2_map_common_io(); | 261 | _omap2_map_common_io(); |
| @@ -263,7 +263,7 @@ void __init omap34xx_map_common_io() | |||
| 263 | #endif | 263 | #endif |
| 264 | 264 | ||
| 265 | #ifdef CONFIG_ARCH_OMAP4 | 265 | #ifdef CONFIG_ARCH_OMAP4 |
| 266 | void __init omap44xx_map_common_io() | 266 | void __init omap44xx_map_common_io(void) |
| 267 | { | 267 | { |
| 268 | iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); | 268 | iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc)); |
| 269 | _omap2_map_common_io(); | 269 | _omap2_map_common_io(); |
| @@ -309,7 +309,6 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
| 309 | { | 309 | { |
| 310 | pwrdm_init(powerdomains_omap); | 310 | pwrdm_init(powerdomains_omap); |
| 311 | clkdm_init(clockdomains_omap, clkdm_autodeps); | 311 | clkdm_init(clockdomains_omap, clkdm_autodeps); |
| 312 | #ifndef CONFIG_ARCH_OMAP4 /* FIXME: Remove this once the clkdev is ready */ | ||
| 313 | if (cpu_is_omap242x()) | 312 | if (cpu_is_omap242x()) |
| 314 | omap2420_hwmod_init(); | 313 | omap2420_hwmod_init(); |
| 315 | else if (cpu_is_omap243x()) | 314 | else if (cpu_is_omap243x()) |
| @@ -319,7 +318,6 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
| 319 | omap2_mux_init(); | 318 | omap2_mux_init(); |
| 320 | /* The OPP tables have to be registered before a clk init */ | 319 | /* The OPP tables have to be registered before a clk init */ |
| 321 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); | 320 | omap_pm_if_early_init(mpu_opps, dsp_opps, l3_opps); |
| 322 | #endif | ||
| 323 | 321 | ||
| 324 | if (cpu_is_omap2420()) | 322 | if (cpu_is_omap2420()) |
| 325 | omap2420_clk_init(); | 323 | omap2420_clk_init(); |
| @@ -333,11 +331,12 @@ void __init omap2_init_common_hw(struct omap_sdrc_params *sdrc_cs0, | |||
| 333 | pr_err("Could not init clock framework - unknown CPU\n"); | 331 | pr_err("Could not init clock framework - unknown CPU\n"); |
| 334 | 332 | ||
| 335 | omap_serial_early_init(); | 333 | omap_serial_early_init(); |
| 336 | #ifndef CONFIG_ARCH_OMAP4 | 334 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) /* FIXME: OMAP4 */ |
| 337 | omap_hwmod_late_init(); | 335 | omap_hwmod_late_init(); |
| 338 | omap_pm_if_init(); | 336 | omap_pm_if_init(); |
| 339 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); | 337 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { |
| 340 | _omap2_init_reprogram_sdrc(); | 338 | omap2_sdrc_init(sdrc_cs0, sdrc_cs1); |
| 341 | #endif | 339 | _omap2_init_reprogram_sdrc(); |
| 340 | } | ||
| 342 | gpmc_init(); | 341 | gpmc_init(); |
| 343 | } | 342 | } |
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 52a981cb8fdd..318f3638653c 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
| @@ -430,19 +430,19 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev) | |||
| 430 | if (unlikely(!res)) { | 430 | if (unlikely(!res)) { |
| 431 | dev_err(&pdev->dev, "invalid irq resource\n"); | 431 | dev_err(&pdev->dev, "invalid irq resource\n"); |
| 432 | ret = -ENODEV; | 432 | ret = -ENODEV; |
| 433 | goto err_iva1; | 433 | omap_mbox_unregister(&mbox_dsp_info); |
| 434 | goto err_dsp; | ||
| 434 | } | 435 | } |
| 435 | mbox_iva_info.irq = res->start; | 436 | mbox_iva_info.irq = res->start; |
| 436 | ret = omap_mbox_register(&pdev->dev, &mbox_iva_info); | 437 | ret = omap_mbox_register(&pdev->dev, &mbox_iva_info); |
| 437 | if (ret) | 438 | if (ret) { |
| 438 | goto err_iva1; | 439 | omap_mbox_unregister(&mbox_dsp_info); |
| 440 | goto err_dsp; | ||
| 441 | } | ||
| 439 | } | 442 | } |
| 440 | #endif | 443 | #endif |
| 441 | return 0; | 444 | return 0; |
| 442 | 445 | ||
| 443 | err_iva1: | ||
| 444 | omap_mbox_unregister(&mbox_dsp_info); | ||
| 445 | |||
| 446 | err_dsp: | 446 | err_dsp: |
| 447 | iounmap(mbox_base); | 447 | iounmap(mbox_base); |
| 448 | return ret; | 448 | return ret; |
diff --git a/arch/arm/mach-omap2/omap44xx-smc.S b/arch/arm/mach-omap2/omap44xx-smc.S new file mode 100644 index 000000000000..89bb2b141473 --- /dev/null +++ b/arch/arm/mach-omap2/omap44xx-smc.S | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | /* | ||
| 2 | * OMAP44xx secure APIs file. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2010 Texas Instruments, Inc. | ||
| 5 | * Written by Santosh Shilimkar <santosh.shilimkar@ti.com> | ||
| 6 | * | ||
| 7 | * | ||
| 8 | * This program is free software,you can redistribute it and/or modify | ||
| 9 | * it under the terms of the GNU General Public License version 2 as | ||
| 10 | * published by the Free Software Foundation. | ||
| 11 | */ | ||
| 12 | |||
| 13 | #include <linux/linkage.h> | ||
| 14 | |||
| 15 | /* | ||
| 16 | * This is common routine to manage secure monitor API | ||
| 17 | * used to modify the PL310 secure registers. | ||
| 18 | * 'r0' contains the value to be modified and 'r12' contains | ||
| 19 | * the monitor API number. It uses few CPU registers | ||
| 20 | * internally and hence they need be backed up including | ||
| 21 | * link register "lr". | ||
| 22 | * Function signature : void omap_smc1(u32 fn, u32 arg) | ||
| 23 | */ | ||
| 24 | |||
| 25 | ENTRY(omap_smc1) | ||
| 26 | stmfd sp!, {r2-r12, lr} | ||
| 27 | mov r12, r0 | ||
| 28 | mov r0, r1 | ||
| 29 | dsb | ||
| 30 | smc | ||
| 31 | ldmfd sp!, {r2-r12, pc} | ||
| 32 | END(omap_smc1) | ||
diff --git a/arch/arm/mach-omap2/prcm.c b/arch/arm/mach-omap2/prcm.c index 81872aacb801..9537f6f2352d 100644 --- a/arch/arm/mach-omap2/prcm.c +++ b/arch/arm/mach-omap2/prcm.c | |||
| @@ -133,7 +133,7 @@ u32 omap_prcm_get_reset_sources(void) | |||
| 133 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); | 133 | EXPORT_SYMBOL(omap_prcm_get_reset_sources); |
| 134 | 134 | ||
| 135 | /* Resets clock rates and reboots the system. Only called from system.h */ | 135 | /* Resets clock rates and reboots the system. Only called from system.h */ |
| 136 | void omap_prcm_arch_reset(char mode) | 136 | void omap_prcm_arch_reset(char mode, const char *cmd) |
| 137 | { | 137 | { |
| 138 | s16 prcm_offs = 0; | 138 | s16 prcm_offs = 0; |
| 139 | 139 | ||
| @@ -145,7 +145,7 @@ void omap_prcm_arch_reset(char mode) | |||
| 145 | u32 l; | 145 | u32 l; |
| 146 | 146 | ||
| 147 | prcm_offs = OMAP3430_GR_MOD; | 147 | prcm_offs = OMAP3430_GR_MOD; |
| 148 | l = ('B' << 24) | ('M' << 16) | mode; | 148 | l = ('B' << 24) | ('M' << 16) | (cmd ? (u8)*cmd : 0); |
| 149 | /* Reserve the first word in scratchpad for communicating | 149 | /* Reserve the first word in scratchpad for communicating |
| 150 | * with the boot ROM. A pointer to a data structure | 150 | * with the boot ROM. A pointer to a data structure |
| 151 | * describing the boot process can be stored there, | 151 | * describing the boot process can be stored there, |
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index b79bc8926cc9..da77930480e9 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
| @@ -644,16 +644,21 @@ static void serial_out_override(struct uart_port *up, int offset, int value) | |||
| 644 | } | 644 | } |
| 645 | void __init omap_serial_early_init(void) | 645 | void __init omap_serial_early_init(void) |
| 646 | { | 646 | { |
| 647 | int i; | 647 | int i, nr_ports; |
| 648 | char name[16]; | 648 | char name[16]; |
| 649 | 649 | ||
| 650 | if (!(cpu_is_omap3630() || cpu_is_omap4430())) | ||
| 651 | nr_ports = 3; | ||
| 652 | else | ||
| 653 | nr_ports = ARRAY_SIZE(omap_uart); | ||
| 654 | |||
| 650 | /* | 655 | /* |
| 651 | * Make sure the serial ports are muxed on at this point. | 656 | * Make sure the serial ports are muxed on at this point. |
| 652 | * You have to mux them off in device drivers later on | 657 | * You have to mux them off in device drivers later on |
| 653 | * if not needed. | 658 | * if not needed. |
| 654 | */ | 659 | */ |
| 655 | 660 | ||
| 656 | for (i = 0; i < ARRAY_SIZE(omap_uart); i++) { | 661 | for (i = 0; i < nr_ports; i++) { |
| 657 | struct omap_uart_state *uart = &omap_uart[i]; | 662 | struct omap_uart_state *uart = &omap_uart[i]; |
| 658 | struct platform_device *pdev = &uart->pdev; | 663 | struct platform_device *pdev = &uart->pdev; |
| 659 | struct device *dev = &pdev->dev; | 664 | struct device *dev = &pdev->dev; |
| @@ -669,17 +674,17 @@ void __init omap_serial_early_init(void) | |||
| 669 | continue; | 674 | continue; |
| 670 | } | 675 | } |
| 671 | 676 | ||
| 672 | sprintf(name, "uart%d_ick", i+1); | 677 | sprintf(name, "uart%d_ick", i + 1); |
| 673 | uart->ick = clk_get(NULL, name); | 678 | uart->ick = clk_get(NULL, name); |
| 674 | if (IS_ERR(uart->ick)) { | 679 | if (IS_ERR(uart->ick)) { |
| 675 | printk(KERN_ERR "Could not get uart%d_ick\n", i+1); | 680 | printk(KERN_ERR "Could not get uart%d_ick\n", i + 1); |
| 676 | uart->ick = NULL; | 681 | uart->ick = NULL; |
| 677 | } | 682 | } |
| 678 | 683 | ||
| 679 | sprintf(name, "uart%d_fck", i+1); | 684 | sprintf(name, "uart%d_fck", i+1); |
| 680 | uart->fck = clk_get(NULL, name); | 685 | uart->fck = clk_get(NULL, name); |
| 681 | if (IS_ERR(uart->fck)) { | 686 | if (IS_ERR(uart->fck)) { |
| 682 | printk(KERN_ERR "Could not get uart%d_fck\n", i+1); | 687 | printk(KERN_ERR "Could not get uart%d_fck\n", i + 1); |
| 683 | uart->fck = NULL; | 688 | uart->fck = NULL; |
| 684 | } | 689 | } |
| 685 | 690 | ||
diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c index f1df873d59db..ee9f548d5d81 100644 --- a/arch/arm/mach-omap2/usb-ehci.c +++ b/arch/arm/mach-omap2/usb-ehci.c | |||
| @@ -70,7 +70,7 @@ static struct platform_device ehci_device = { | |||
| 70 | /* | 70 | /* |
| 71 | * setup_ehci_io_mux - initialize IO pad mux for USBHOST | 71 | * setup_ehci_io_mux - initialize IO pad mux for USBHOST |
| 72 | */ | 72 | */ |
| 73 | static void setup_ehci_io_mux(enum ehci_hcd_omap_mode *port_mode) | 73 | static void setup_ehci_io_mux(const enum ehci_hcd_omap_mode *port_mode) |
| 74 | { | 74 | { |
| 75 | switch (port_mode[0]) { | 75 | switch (port_mode[0]) { |
| 76 | case EHCI_HCD_OMAP_MODE_PHY: | 76 | case EHCI_HCD_OMAP_MODE_PHY: |
| @@ -213,7 +213,7 @@ static void setup_ehci_io_mux(enum ehci_hcd_omap_mode *port_mode) | |||
| 213 | return; | 213 | return; |
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | 216 | void __init usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata) |
| 217 | { | 217 | { |
| 218 | platform_device_add_data(&ehci_device, pdata, sizeof(*pdata)); | 218 | platform_device_add_data(&ehci_device, pdata, sizeof(*pdata)); |
| 219 | 219 | ||
| @@ -229,7 +229,7 @@ void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | |||
| 229 | 229 | ||
| 230 | #else | 230 | #else |
| 231 | 231 | ||
| 232 | void __init usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata) | 232 | void __init usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata) |
| 233 | 233 | ||
| 234 | { | 234 | { |
| 235 | } | 235 | } |
diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c index 337199ed3479..76a347b3ce07 100644 --- a/arch/arm/plat-omap/gpio.c +++ b/arch/arm/plat-omap/gpio.c | |||
| @@ -2140,18 +2140,18 @@ void omap2_gpio_resume_after_retention(void) | |||
| 2140 | if (gen) { | 2140 | if (gen) { |
| 2141 | u32 old0, old1; | 2141 | u32 old0, old1; |
| 2142 | 2142 | ||
| 2143 | if (cpu_is_omap24xx() || cpu_is_omap44xx()) { | 2143 | if (cpu_is_omap24xx() || cpu_is_omap34xx()) { |
| 2144 | old0 = __raw_readl(bank->base + | 2144 | old0 = __raw_readl(bank->base + |
| 2145 | OMAP24XX_GPIO_LEVELDETECT0); | 2145 | OMAP24XX_GPIO_LEVELDETECT0); |
| 2146 | old1 = __raw_readl(bank->base + | 2146 | old1 = __raw_readl(bank->base + |
| 2147 | OMAP24XX_GPIO_LEVELDETECT1); | 2147 | OMAP24XX_GPIO_LEVELDETECT1); |
| 2148 | __raw_writel(old0 | gen, bank->base + | 2148 | __raw_writel(old0 | gen, bank->base + |
| 2149 | OMAP24XX_GPIO_LEVELDETECT0); | 2149 | OMAP24XX_GPIO_LEVELDETECT0); |
| 2150 | __raw_writel(old1 | gen, bank->base + | 2150 | __raw_writel(old1 | gen, bank->base + |
| 2151 | OMAP24XX_GPIO_LEVELDETECT1); | 2151 | OMAP24XX_GPIO_LEVELDETECT1); |
| 2152 | __raw_writel(old0, bank->base + | 2152 | __raw_writel(old0, bank->base + |
| 2153 | OMAP24XX_GPIO_LEVELDETECT0); | 2153 | OMAP24XX_GPIO_LEVELDETECT0); |
| 2154 | __raw_writel(old1, bank->base + | 2154 | __raw_writel(old1, bank->base + |
| 2155 | OMAP24XX_GPIO_LEVELDETECT1); | 2155 | OMAP24XX_GPIO_LEVELDETECT1); |
| 2156 | } | 2156 | } |
| 2157 | 2157 | ||
diff --git a/arch/arm/plat-omap/include/plat/blizzard.h b/arch/arm/plat-omap/include/plat/blizzard.h index 8d160f171372..56e7f2e7d12f 100644 --- a/arch/arm/plat-omap/include/plat/blizzard.h +++ b/arch/arm/plat-omap/include/plat/blizzard.h | |||
| @@ -6,7 +6,7 @@ struct blizzard_platform_data { | |||
| 6 | void (*power_down)(struct device *dev); | 6 | void (*power_down)(struct device *dev); |
| 7 | unsigned long (*get_clock_rate)(struct device *dev); | 7 | unsigned long (*get_clock_rate)(struct device *dev); |
| 8 | 8 | ||
| 9 | unsigned te_connected : 1; | 9 | unsigned te_connected:1; |
| 10 | }; | 10 | }; |
| 11 | 11 | ||
| 12 | #endif | 12 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/cpu.h b/arch/arm/plat-omap/include/plat/cpu.h index ed8786c41df2..75141742300c 100644 --- a/arch/arm/plat-omap/include/plat/cpu.h +++ b/arch/arm/plat-omap/include/plat/cpu.h | |||
| @@ -167,10 +167,14 @@ IS_OMAP_SUBCLASS(443x, 0x443) | |||
| 167 | #if defined(MULTI_OMAP2) | 167 | #if defined(MULTI_OMAP2) |
| 168 | # if defined(CONFIG_ARCH_OMAP2) | 168 | # if defined(CONFIG_ARCH_OMAP2) |
| 169 | # undef cpu_is_omap24xx | 169 | # undef cpu_is_omap24xx |
| 170 | # undef cpu_is_omap242x | ||
| 171 | # undef cpu_is_omap243x | ||
| 172 | # define cpu_is_omap24xx() is_omap24xx() | 170 | # define cpu_is_omap24xx() is_omap24xx() |
| 171 | # endif | ||
| 172 | # if defined (CONFIG_ARCH_OMAP2420) | ||
| 173 | # undef cpu_is_omap242x | ||
| 173 | # define cpu_is_omap242x() is_omap242x() | 174 | # define cpu_is_omap242x() is_omap242x() |
| 175 | # endif | ||
| 176 | # if defined (CONFIG_ARCH_OMAP2430) | ||
| 177 | # undef cpu_is_omap243x | ||
| 174 | # define cpu_is_omap243x() is_omap243x() | 178 | # define cpu_is_omap243x() is_omap243x() |
| 175 | # endif | 179 | # endif |
| 176 | # if defined(CONFIG_ARCH_OMAP3) | 180 | # if defined(CONFIG_ARCH_OMAP3) |
diff --git a/arch/arm/plat-omap/include/plat/prcm.h b/arch/arm/plat-omap/include/plat/prcm.h index d6a0e27d5a7f..9fbd91419cd1 100644 --- a/arch/arm/plat-omap/include/plat/prcm.h +++ b/arch/arm/plat-omap/include/plat/prcm.h | |||
| @@ -24,7 +24,7 @@ | |||
| 24 | #define __ASM_ARM_ARCH_OMAP_PRCM_H | 24 | #define __ASM_ARM_ARCH_OMAP_PRCM_H |
| 25 | 25 | ||
| 26 | u32 omap_prcm_get_reset_sources(void); | 26 | u32 omap_prcm_get_reset_sources(void); |
| 27 | void omap_prcm_arch_reset(char mode); | 27 | void omap_prcm_arch_reset(char mode, const char *cmd); |
| 28 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, | 28 | int omap2_cm_wait_idlest(void __iomem *reg, u32 mask, u8 idlest, |
| 29 | const char *name); | 29 | const char *name); |
| 30 | 30 | ||
diff --git a/arch/arm/plat-omap/include/plat/system.h b/arch/arm/plat-omap/include/plat/system.h index c58a4ef42a45..d0a119f735b4 100644 --- a/arch/arm/plat-omap/include/plat/system.h +++ b/arch/arm/plat-omap/include/plat/system.h | |||
| @@ -22,7 +22,7 @@ static inline void arch_idle(void) | |||
| 22 | cpu_do_idle(); | 22 | cpu_do_idle(); |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | static inline void omap1_arch_reset(char mode) | 25 | static inline void omap1_arch_reset(char mode, const char *cmd) |
| 26 | { | 26 | { |
| 27 | /* | 27 | /* |
| 28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 | 28 | * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28 |
| @@ -43,9 +43,9 @@ static inline void omap1_arch_reset(char mode) | |||
| 43 | static inline void arch_reset(char mode, const char *cmd) | 43 | static inline void arch_reset(char mode, const char *cmd) |
| 44 | { | 44 | { |
| 45 | if (!cpu_class_is_omap2()) | 45 | if (!cpu_class_is_omap2()) |
| 46 | omap1_arch_reset(mode); | 46 | omap1_arch_reset(mode, cmd); |
| 47 | else | 47 | else |
| 48 | omap_prcm_arch_reset(mode); | 48 | omap_prcm_arch_reset(mode, cmd); |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | #endif | 51 | #endif |
diff --git a/arch/arm/plat-omap/include/plat/usb.h b/arch/arm/plat-omap/include/plat/usb.h index 288e29e1c06f..568578db93b6 100644 --- a/arch/arm/plat-omap/include/plat/usb.h +++ b/arch/arm/plat-omap/include/plat/usb.h | |||
| @@ -53,7 +53,7 @@ enum musb_interface {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI}; | |||
| 53 | 53 | ||
| 54 | extern void usb_musb_init(struct omap_musb_board_data *board_data); | 54 | extern void usb_musb_init(struct omap_musb_board_data *board_data); |
| 55 | 55 | ||
| 56 | extern void usb_ehci_init(struct ehci_hcd_omap_platform_data *pdata); | 56 | extern void usb_ehci_init(const struct ehci_hcd_omap_platform_data *pdata); |
| 57 | 57 | ||
| 58 | #endif | 58 | #endif |
| 59 | 59 | ||
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c index e47686e0a633..52dfcc81511e 100644 --- a/arch/arm/plat-omap/mcbsp.c +++ b/arch/arm/plat-omap/mcbsp.c | |||
| @@ -133,8 +133,7 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id) | |||
| 133 | dev_err(mcbsp_tx->dev, "TX Frame Sync Error! : 0x%x\n", | 133 | dev_err(mcbsp_tx->dev, "TX Frame Sync Error! : 0x%x\n", |
| 134 | irqst_spcr2); | 134 | irqst_spcr2); |
| 135 | /* Writing zero to XSYNC_ERR clears the IRQ */ | 135 | /* Writing zero to XSYNC_ERR clears the IRQ */ |
| 136 | MCBSP_WRITE(mcbsp_tx, SPCR2, | 136 | MCBSP_WRITE(mcbsp_tx, SPCR2, MCBSP_READ_CACHE(mcbsp_tx, SPCR2)); |
| 137 | MCBSP_READ_CACHE(mcbsp_tx, SPCR2) & ~(XSYNC_ERR)); | ||
| 138 | } else { | 137 | } else { |
| 139 | complete(&mcbsp_tx->tx_irq_completion); | 138 | complete(&mcbsp_tx->tx_irq_completion); |
| 140 | } | 139 | } |
| @@ -154,8 +153,7 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id) | |||
| 154 | dev_err(mcbsp_rx->dev, "RX Frame Sync Error! : 0x%x\n", | 153 | dev_err(mcbsp_rx->dev, "RX Frame Sync Error! : 0x%x\n", |
| 155 | irqst_spcr1); | 154 | irqst_spcr1); |
| 156 | /* Writing zero to RSYNC_ERR clears the IRQ */ | 155 | /* Writing zero to RSYNC_ERR clears the IRQ */ |
| 157 | MCBSP_WRITE(mcbsp_rx, SPCR1, | 156 | MCBSP_WRITE(mcbsp_rx, SPCR1, MCBSP_READ_CACHE(mcbsp_rx, SPCR1)); |
| 158 | MCBSP_READ_CACHE(mcbsp_rx, SPCR1) & ~(RSYNC_ERR)); | ||
| 159 | } else { | 157 | } else { |
| 160 | complete(&mcbsp_rx->tx_irq_completion); | 158 | complete(&mcbsp_rx->tx_irq_completion); |
| 161 | } | 159 | } |
| @@ -934,8 +932,7 @@ int omap_mcbsp_pollwrite(unsigned int id, u16 buf) | |||
| 934 | /* if frame sync error - clear the error */ | 932 | /* if frame sync error - clear the error */ |
| 935 | if (MCBSP_READ(mcbsp, SPCR2) & XSYNC_ERR) { | 933 | if (MCBSP_READ(mcbsp, SPCR2) & XSYNC_ERR) { |
| 936 | /* clear error */ | 934 | /* clear error */ |
| 937 | MCBSP_WRITE(mcbsp, SPCR2, | 935 | MCBSP_WRITE(mcbsp, SPCR2, MCBSP_READ_CACHE(mcbsp, SPCR2)); |
| 938 | MCBSP_READ_CACHE(mcbsp, SPCR2) & (~XSYNC_ERR)); | ||
| 939 | /* resend */ | 936 | /* resend */ |
| 940 | return -1; | 937 | return -1; |
| 941 | } else { | 938 | } else { |
| @@ -975,8 +972,7 @@ int omap_mcbsp_pollread(unsigned int id, u16 *buf) | |||
| 975 | /* if frame sync error - clear the error */ | 972 | /* if frame sync error - clear the error */ |
| 976 | if (MCBSP_READ(mcbsp, SPCR1) & RSYNC_ERR) { | 973 | if (MCBSP_READ(mcbsp, SPCR1) & RSYNC_ERR) { |
| 977 | /* clear error */ | 974 | /* clear error */ |
| 978 | MCBSP_WRITE(mcbsp, SPCR1, | 975 | MCBSP_WRITE(mcbsp, SPCR1, MCBSP_READ_CACHE(mcbsp, SPCR1)); |
| 979 | MCBSP_READ_CACHE(mcbsp, SPCR1) & (~RSYNC_ERR)); | ||
| 980 | /* resend */ | 976 | /* resend */ |
| 981 | return -1; | 977 | return -1; |
| 982 | } else { | 978 | } else { |
