From: Hamish Guthrie Date: Fri, 19 Aug 2011 12:00:08 +0000 (+0000) Subject: omap35xx: Add 3.0.3 kernel support for Gumstix X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=048d4aca762c0b7e0e1ed1c55cc6502a30d9be59;p=openwrt%2Fstaging%2F981213.git omap35xx: Add 3.0.3 kernel support for Gumstix SVN-Revision: 28047 --- diff --git a/target/linux/omap35xx/files/boot-mmc.cmd b/target/linux/omap35xx/files/boot-mmc.cmd index 8027d49d55..6e3f2388f0 100644 --- a/target/linux/omap35xx/files/boot-mmc.cmd +++ b/target/linux/omap35xx/files/boot-mmc.cmd @@ -5,7 +5,7 @@ echo RootFS: MMC0P2 echo VideoMode: 640x480@60 echo VideoSpec: omapfb:vram:2M,vram:4M echo ----------------------------- -setenv mmcargs setenv bootargs earlyprintk=ttyS2,115200n8 console=ttyS2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootwait init=/etc/preinit nohz=off video=omapfb:vram:1M,vxres:640,vyres:480 +setenv mmcargs setenv bootargs earlyprintk=ttyO2,115200n8 console=ttyO2,115200n8 console=tty0 root=/dev/mmcblk0p2 rw rootwait init=/etc/preinit nohz=off video=omapfb:vram:1M,vxres:640,vyres:480 printenv fatload mmc 0 83000000 uImage run mmcargs diff --git a/target/linux/omap35xx/gumstix/base-files/etc/config/network b/target/linux/omap35xx/gumstix/base-files/etc/config/network new file mode 100644 index 0000000000..bcb4c4bb17 --- /dev/null +++ b/target/linux/omap35xx/gumstix/base-files/etc/config/network @@ -0,0 +1,15 @@ +# Copyright (C) 2006 OpenWrt.org + +config interface loopback + option ifname lo + option proto static + option ipaddr 127.0.0.1 + option netmask 255.0.0.0 + +config interface lan + option ifname wlan0 + option proto dhcp + +config interface wan + option ifname eth0 + option proto dhcp diff --git a/target/linux/omap35xx/gumstix/base-files/etc/inittab b/target/linux/omap35xx/gumstix/base-files/etc/inittab index f739373e72..be8fba1e0b 100644 --- a/target/linux/omap35xx/gumstix/base-files/etc/inittab +++ b/target/linux/omap35xx/gumstix/base-files/etc/inittab @@ -1,5 +1,5 @@ # inittab for Gumstix board ::sysinit:/etc/init.d/rcS S boot ::shutdown:/etc/init.d/rcS K stop -ttyS2::askfirst:/bin/ash --login +ttyO2::askfirst:/bin/ash --login tty1::askfirst:/bin/ash --login diff --git a/target/linux/omap35xx/gumstix/base-files/lib/preinit/95_ttyS1_noecho b/target/linux/omap35xx/gumstix/base-files/lib/preinit/95_ttyS1_noecho index 66b0bf9920..319f51393f 100644 --- a/target/linux/omap35xx/gumstix/base-files/lib/preinit/95_ttyS1_noecho +++ b/target/linux/omap35xx/gumstix/base-files/lib/preinit/95_ttyS1_noecho @@ -2,7 +2,7 @@ # Copyright (C) 2010 OpenWrt.org ttyS1_noecho() { - stty -echo < /dev/ttyS1 + stty -echo < /dev/ttyO1 } boot_hook_add preinit_main ttyS1_noecho diff --git a/target/linux/omap35xx/gumstix/config-default b/target/linux/omap35xx/gumstix/config-default new file mode 100644 index 0000000000..a94e7f465c --- /dev/null +++ b/target/linux/omap35xx/gumstix/config-default @@ -0,0 +1,341 @@ +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_APM_EMULATION is not set +CONFIG_ARCH_HAS_CPUFREQ=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_OPP=y +CONFIG_ARCH_OMAP=y +# CONFIG_ARCH_OMAP1 is not set +# CONFIG_ARCH_OMAP2 is not set +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_ARCH_OMAP2PLUS_TYPICAL=y +CONFIG_ARCH_OMAP3=y +# CONFIG_ARCH_OMAP4 is not set +CONFIG_ARCH_OMAP_OTG=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_USES_GETTIMEOFFSET is not set +CONFIG_ARM=y +# CONFIG_ARM_ERRATA_430973 is not set +# 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 +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_BCMA_POSSIBLE=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=16384 +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_HAS_ASID=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRC16=y +CONFIG_CRC7=y +CONFIG_CRC_ITU_T=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=y +# CONFIG_CRYPTO_DEV_OMAP_AES is not set +# CONFIG_CRYPTO_DEV_OMAP_SHAM is not set +CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_USER is not set +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DNOTIFY=y +CONFIG_DUMMY_CONSOLE=y +CONFIG_EXPORTFS=m +CONFIG_EXT4_FS=y +# CONFIG_EXT4_FS_XATTR is not set +CONFIG_FB=y +# CONFIG_FB_OMAP2 is not set +# CONFIG_FB_WMT_GE_ROPS is not set +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FRAME_POINTER=y +CONFIG_FUSE_FS=m +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TWL4030=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_SCHED_CLOCK=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_HID=y +CONFIG_HID_SUPPORT=y +CONFIG_HW_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HZ=128 +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_OMAP=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INPUT=y +# CONFIG_INPUT_GPIO_BUTTONS is not set +# CONFIG_INPUT_TWL4030_PWRBUTTON is not set +# CONFIG_INPUT_TWL4030_VIBRA is not set +# CONFIG_ISDN is not set +# CONFIG_ISP1301_OMAP is not set +CONFIG_JBD2=y +# CONFIG_JFFS2_FS is not set +CONFIG_KERNEL_LZMA=y +# CONFIG_KERNEL_XZ is not set +CONFIG_KTIME_SCALAR=y +# CONFIG_LEDS is not set +# CONFIG_LEDS_GPIO is not set +# CONFIG_LEDS_REGULATOR is not set +CONFIG_LEDS_TRIGGER_GPIO=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +# CONFIG_MACH_CM_T35 is not set +# CONFIG_MACH_CM_T3517 is not set +# CONFIG_MACH_CRANEBOARD is not set +# CONFIG_MACH_DEVKIT8000 is not set +# CONFIG_MACH_IGEP0020 is not set +# CONFIG_MACH_IGEP0030 is not set +# CONFIG_MACH_NOKIA_RM680 is not set +# CONFIG_MACH_NOKIA_RX51 is not set +# CONFIG_MACH_OMAP3517EVM is not set +# CONFIG_MACH_OMAP3530_LV_SOM is not set +# CONFIG_MACH_OMAP3EVM is not set +CONFIG_MACH_OMAP3_BEAGLE=y +# CONFIG_MACH_OMAP3_PANDORA is not set +# CONFIG_MACH_OMAP3_TORPEDO is not set +# CONFIG_MACH_OMAP3_TOUCHBOOK is not set +# CONFIG_MACH_OMAP_3430SDP is not set +# CONFIG_MACH_OMAP_3630SDP is not set +# CONFIG_MACH_OMAP_LDP is not set +# CONFIG_MACH_OMAP_ZOOM2 is not set +# CONFIG_MACH_OMAP_ZOOM3 is not set +CONFIG_MACH_OVERO=y +# CONFIG_MACH_SBC3530 is not set +# CONFIG_MACH_TI8168EVM is not set +CONFIG_MFD_OMAP_USB_HOST=y +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MISC_DEVICES is not set +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_OMAP=y +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_SPI=y +# CONFIG_MTD_BLKDEVS is not set +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_PLATFORM=y +# CONFIG_MTD_ROOTFS_ROOT_DEV is not set +# CONFIG_MTD_ROOTFS_SPLIT is not set +# CONFIG_MTD_SM_COMMON is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_RESERVE=1 +# CONFIG_MTD_UBI_DEBUG is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_KM=y +CONFIG_NEON=y +# CONFIG_NETDEV_1000 is not set +CONFIG_NLS=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=m +CONFIG_OMAP2_DSS=y +# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set +CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y +CONFIG_OMAP2_DSS_DPI=y +# CONFIG_OMAP2_DSS_DSI is not set +# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set +CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0 +# CONFIG_OMAP2_DSS_RFBI is not set +# CONFIG_OMAP2_DSS_SDI is not set +CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y +CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET=y +CONFIG_OMAP2_DSS_VENC=y +CONFIG_OMAP2_VRAM_SIZE=0 +# CONFIG_OMAP3_EMU is not set +# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set +# CONFIG_OMAP3_SDRC_AC_TIMING is not set +CONFIG_OMAP_32K_TIMER=y +CONFIG_OMAP_32K_TIMER_HZ=128 +CONFIG_OMAP_DM_TIMER=y +# CONFIG_OMAP_MBOX_FWK is not set +CONFIG_OMAP_MCBSP=y +CONFIG_OMAP_MUX=y +# CONFIG_OMAP_MUX_DEBUG is not set +CONFIG_OMAP_MUX_WARNINGS=y +CONFIG_OMAP_PACKAGE_CBB=y +# CONFIG_OMAP_PM_NONE is not set +CONFIG_OMAP_PM_NOOP=y +# CONFIG_OMAP_RESET_CLOCKS is not set +# CONFIG_OMAP_SMARTREFLEX is not set +CONFIG_OMAP_WATCHDOG=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PANEL_GENERIC_DPI is not set +# CONFIG_PANEL_LGPHILIPS_LB035Q02 is not set +# CONFIG_PANEL_NEC_NL8048HL11_01B is not set +# CONFIG_PANEL_SHARP_LS037V7DW01 is not set +# CONFIG_PANEL_TPO_TD043MTEA1 is not set +# CONFIG_PCI_SYSCALL is not set +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHYLIB=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_OPP=y +CONFIG_PM_RUNTIME=y +CONFIG_PM_RUNTIME_CLK=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_QUOTACTL is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_DUMMY is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 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_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS6524X is not set +CONFIG_REGULATOR_TWL4030=y +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_RFKILL_REGULATOR is not set +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_TWL4030=y +# CONFIG_SCSI_DMA is not set +# CONFIG_SDIO_UART is not set +CONFIG_SERIAL_OMAP=y +CONFIG_SERIAL_OMAP_CONSOLE=y +CONFIG_SMSC911X=y +# CONFIG_SMSC911X_ARCH_HOOKS is not set +CONFIG_SOC_OMAP3430=y +CONFIG_SOC_OMAPTI816X=y +CONFIG_SPI=y +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_OMAP24XX=y +CONFIG_SPI_SPIDEV=y +# CONFIG_STAGING is not set +# CONFIG_SWP_EMULATE is not set +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_THUMB2_KERNEL is not set +# CONFIG_TI_DAVINCI_CPDMA is not set +# CONFIG_TI_DAVINCI_EMAC is not set +# CONFIG_TI_DAVINCI_MDIO is not set +# CONFIG_TWL4030_CODEC is not set +CONFIG_TWL4030_CORE=y +# CONFIG_TWL4030_MADC is not set +CONFIG_TWL4030_POWER=y +CONFIG_TWL4030_USB=y +CONFIG_TWL4030_WATCHDOG=y +# CONFIG_TWL6030_PWM is not set +# CONFIG_TWL6030_USB is not set +CONFIG_UBIFS_FS=y +CONFIG_UBIFS_FS_ADVANCED_COMPR=y +# CONFIG_UBIFS_FS_DEBUG is not set +CONFIG_UBIFS_FS_LZO=y +# CONFIG_UBIFS_FS_XATTR is not set +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UID16=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_DEBUG=y +CONFIG_USB_DEVICE_CLASS=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_OMAP=y +CONFIG_USB_OTG_UTILS=y +CONFIG_USB_SUPPORT=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +# CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_XFS_FS=m +CONFIG_XZ_DEC=y +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/omap35xx/gumstix/target.mk b/target/linux/omap35xx/gumstix/target.mk index 74708dd38c..3e3d7839ae 100644 --- a/target/linux/omap35xx/gumstix/target.mk +++ b/target/linux/omap35xx/gumstix/target.mk @@ -1,5 +1,5 @@ BOARDNAME:=Gumstix Overo -LINUX_VERSION:=2.6.36.1 +LINUX_VERSION:=3.0.3 define Target/Description Build firmware images for Gumstix Overo Boards diff --git a/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch b/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch new file mode 100644 index 0000000000..65ba45a358 --- /dev/null +++ b/target/linux/omap35xx/patches-3.0/003-change_partition_table.patch @@ -0,0 +1,34 @@ +--- linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c.old 2011-02-18 12:24:24.000000000 +0100 ++++ linux-2.6.36.1/arch/arm/mach-omap2/board-overo.c 2011-02-18 12:38:40.000000000 +0100 +@@ -250,13 +250,28 @@ + .size = 2 * NAND_BLOCK_SIZE, + }, + { +- .name = "linux", ++ .name = "kernel 0", + .offset = MTDPART_OFS_APPEND, /* Offset = 0x280000 */ +- .size = 32 * NAND_BLOCK_SIZE, ++ .size = 16 * NAND_BLOCK_SIZE, + }, + { +- .name = "rootfs", ++ .name = "kernel 1", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x480000 */ ++ .size = 16 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "rootfs 0", + .offset = MTDPART_OFS_APPEND, /* Offset = 0x680000 */ ++ .size = 512 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "rootfs 1", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x2e80000 */ ++ .size = 512 * NAND_BLOCK_SIZE, ++ }, ++ { ++ .name = "data", ++ .offset = MTDPART_OFS_APPEND, /* Offset = 0x5680000 */ + .size = MTDPART_SIZ_FULL, + }, + }; diff --git a/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch b/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch new file mode 100644 index 0000000000..ef243ea47a --- /dev/null +++ b/target/linux/omap35xx/patches-3.0/004-fix-twl-rtc.patch @@ -0,0 +1,26 @@ +--- a/drivers/rtc/rtc-twl.c ++++ b/drivers/rtc/rtc-twl.c +@@ -362,14 +362,6 @@ static irqreturn_t twl_rtc_interrupt(int + 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,7 +454,7 @@ static int __devinit twl_rtc_probe(struc + if (ret < 0) + goto out1; + +- ret = request_irq(irq, twl_rtc_interrupt, ++ ret = request_threaded_irq(irq, NULL, twl_rtc_interrupt, + IRQF_TRIGGER_RISING, + dev_name(&rtc->dev), rtc); + if (ret < 0) {