diff --git a/packages/linux/patches/linux-3.6.8-601-RPi_support-29ab912.patch b/packages/linux/patches/linux-3.6.8-601-RPi_support-ff1c7e1.patch similarity index 95% rename from packages/linux/patches/linux-3.6.8-601-RPi_support-29ab912.patch rename to packages/linux/patches/linux-3.6.8-601-RPi_support-ff1c7e1.patch index e8353a6853..8b469b4ef0 100644 --- a/packages/linux/patches/linux-3.6.8-601-RPi_support-29ab912.patch +++ b/packages/linux/patches/linux-3.6.8-601-RPi_support-ff1c7e1.patch @@ -1,6 +1,6 @@ -diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig linux-3.6.7.patch/arch/arm/configs/bcmrpi_cutdown_defconfig +diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig linux-rpi-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig --- linux-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/configs/bcmrpi_cutdown_defconfig 2012-11-18 20:53:34.980712692 +0100 ++++ linux-rpi-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig 2012-11-30 02:34:01.834373213 +0100 @@ -0,0 +1,546 @@ +CONFIG_EXPERIMENTAL=y +CONFIG_LOCALVERSION="-cutdown" @@ -548,10 +548,10 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_cutdown_defconfig linux-3.6.7.pat +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/arm/configs/bcmrpi_defconfig +diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-rpi-3.6.7/arch/arm/configs/bcmrpi_defconfig --- linux-3.6.7/arch/arm/configs/bcmrpi_defconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/configs/bcmrpi_defconfig 2012-11-18 20:53:34.981712711 +0100 -@@ -0,0 +1,948 @@ ++++ linux-rpi-3.6.7/arch/arm/configs/bcmrpi_defconfig 2012-11-30 02:34:01.816372848 +0100 +@@ -0,0 +1,1052 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set @@ -565,6 +565,8 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_AUDIT=y ++CONFIG_NO_HZ=y ++CONFIG_HIGH_RES_TIMERS=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_CGROUP_FREEZER=y @@ -585,12 +587,13 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_MODULE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_SRCVERSION_ALL=y -+# CONFIG_BLK_DEV_BSG is not set +CONFIG_BLK_DEV_THROTTLING=y ++CONFIG_PARTITION_ADVANCED=y ++CONFIG_MAC_PARTITION=y ++CONFIG_EFI_PARTITION=y +CONFIG_CFQ_GROUP_IOSCHED=y +CONFIG_ARCH_BCM2708=y -+CONFIG_NO_HZ=y -+CONFIG_HIGH_RES_TIMERS=y ++CONFIG_BCM2708_DMAER=m +CONFIG_PREEMPT=y +CONFIG_AEABI=y +CONFIG_UACCESS_WITH_MEMCPY=y @@ -598,7 +601,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_CC_STACKPROTECTOR=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 -+CONFIG_CMDLINE="dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext3 rootwait" ++CONFIG_CMDLINE="dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" +CONFIG_KEXEC=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=m @@ -733,7 +736,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +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_IP_NF_TARGET_MASQUERADE=m @@ -757,7 +759,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +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 @@ -806,6 +807,10 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m ++CONFIG_NET_SCH_CODEL=m ++CONFIG_NET_SCH_FQ_CODEL=m ++CONFIG_NET_SCH_INGRESS=m ++CONFIG_NET_SCH_PLUG=m +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m @@ -859,8 +864,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_SIGMATEL_FIR=m +CONFIG_MCS_FIR=m +CONFIG_BT=m -+CONFIG_BT_L2CAP=y -+CONFIG_BT_SCO=y +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m @@ -885,13 +888,13 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_NFC_PN533=m +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y ++CONFIG_CMA=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_CDROM_PKTCDVD=m -+CONFIG_MISC_DEVICES=y +CONFIG_SCSI=y +# CONFIG_SCSI_PROC_FS is not set +CONFIG_BLK_DEV_SD=y @@ -899,7 +902,8 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_CHR_DEV_OSST=m +CONFIG_BLK_DEV_SR=m +CONFIG_SCSI_MULTI_LUN=y -+# CONFIG_SCSI_LOWLEVEL is not set ++CONFIG_SCSI_ISCSI_ATTRS=y ++CONFIG_ISCSI_TCP=m +CONFIG_MD=y +CONFIG_BLK_DEV_DM=m +CONFIG_DM_CRYPT=m @@ -914,7 +918,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_MACVLAN=m +CONFIG_NETCONSOLE=m +CONFIG_TUN=m -+CONFIG_PHYLIB=m +CONFIG_MDIO_BITBANG=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m @@ -969,7 +972,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_B43_PHY_N=y +CONFIG_B43LEGACY=m +CONFIG_HOSTAP=m -+CONFIG_IWM=m +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBERTAS_SDIO=m @@ -981,8 +983,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_UNKNOWN=y -+CONFIG_WL1251=m -+CONFIG_WL12XX_MENU=m +CONFIG_ZD1211RW=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_SDIO=m @@ -1018,6 +1018,8 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_TTY_PRINTK=y +# CONFIG_HW_RANDOM is not set +CONFIG_RAW_DRIVER=y ++CONFIG_BRCM_CHAR_DRIVERS=y ++CONFIG_BCM_VC_CMA=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_BCM2708=m @@ -1045,15 +1047,24 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_WATCHDOG=y +CONFIG_BCM2708_WDT=m +CONFIG_MEDIA_SUPPORT=m -+CONFIG_VIDEO_DEV=m -+CONFIG_DVB_CORE=m ++CONFIG_MEDIA_CAMERA_SUPPORT=y ++CONFIG_MEDIA_ANALOG_TV_SUPPORT=y ++CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y ++CONFIG_MEDIA_RADIO_SUPPORT=y ++CONFIG_MEDIA_RC_SUPPORT=y ++CONFIG_MEDIA_CONTROLLER=y ++CONFIG_LIRC=m ++CONFIG_RC_DEVICES=y +CONFIG_RC_ATI_REMOTE=m +CONFIG_IR_IMON=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_STREAMZAP=m ++CONFIG_IR_IGUANA=m +CONFIG_RC_LOOPBACK=m ++CONFIG_IR_GPIO_CIR=m +CONFIG_MEDIA_ATTACH=y ++CONFIG_VIDEO_VIVI=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m @@ -1064,6 +1075,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m ++CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m @@ -1094,31 +1106,37 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m ++CONFIG_USB_GSPCA_TOPRO=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_HDPVR=m ++CONFIG_USB_PWC=m ++CONFIG_VIDEO_CPIA2=m ++CONFIG_USB_ZR364XX=m ++CONFIG_USB_STKWEBCAM=m ++CONFIG_USB_S2255=m ++CONFIG_USB_SN9C102=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m ++CONFIG_VIDEO_AU0828=m ++CONFIG_VIDEO_PVRUSB2=m ++CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_TLG2300=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m ++CONFIG_VIDEO_TM6000=m ++CONFIG_VIDEO_TM6000_ALSA=m ++CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_USBVISION=m -+CONFIG_USB_ET61X251=m -+CONFIG_USB_SN9C102=m -+CONFIG_USB_PWC=m -+CONFIG_USB_ZR364XX=m -+CONFIG_USB_STKWEBCAM=m -+CONFIG_USB_S2255=m -+CONFIG_USB_DSBR=m -+CONFIG_RADIO_SI470X=y -+CONFIG_USB_SI470X=m +CONFIG_USB_MR800=m ++CONFIG_USB_DSBR=m ++CONFIG_RADIO_SHARK=m ++CONFIG_RADIO_SHARK2=m ++CONFIG_USB_KEENE=m +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m @@ -1148,17 +1166,97 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_EC168=m ++CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_IT913X=m +CONFIG_DVB_USB_MXL111SF=m -+CONFIG_SMS_SIANO_MDTV=m -+CONFIG_SMS_USB_DRV=m -+CONFIG_DVB_B2C2_FLEXCOP=m -+CONFIG_DVB_B2C2_FLEXCOP_USB=m ++CONFIG_DVB_USB_RTL28XXU=m ++CONFIG_DVB_USB_AF9035=m ++# CONFIG_DVB_STB0899 is not set ++# CONFIG_DVB_STB6100 is not set ++# CONFIG_DVB_STV090x is not set ++# CONFIG_DVB_STV6110x is not set ++# CONFIG_DVB_DRXK is not set ++# CONFIG_DVB_TDA18271C2DD is not set ++# CONFIG_DVB_CX24110 is not set ++# CONFIG_DVB_CX24123 is not set ++# CONFIG_DVB_MT312 is not set ++# CONFIG_DVB_ZL10036 is not set ++# CONFIG_DVB_ZL10039 is not set ++# CONFIG_DVB_S5H1420 is not set ++# CONFIG_DVB_STV0288 is not set ++# CONFIG_DVB_STB6000 is not set ++# CONFIG_DVB_STV0299 is not set ++# CONFIG_DVB_STV6110 is not set ++# CONFIG_DVB_STV0900 is not set ++# CONFIG_DVB_TDA8083 is not set ++# CONFIG_DVB_TDA10086 is not set ++# CONFIG_DVB_TDA8261 is not set ++# CONFIG_DVB_VES1X93 is not set ++# CONFIG_DVB_TUNER_ITD1000 is not set ++# CONFIG_DVB_TUNER_CX24113 is not set ++# CONFIG_DVB_TDA826X is not set ++# CONFIG_DVB_TUA6100 is not set ++# CONFIG_DVB_CX24116 is not set ++# CONFIG_DVB_SI21XX is not set ++# CONFIG_DVB_DS3000 is not set ++# CONFIG_DVB_MB86A16 is not set ++# CONFIG_DVB_TDA10071 is not set ++# CONFIG_DVB_SP8870 is not set ++# CONFIG_DVB_SP887X is not set ++# CONFIG_DVB_CX22700 is not set ++# CONFIG_DVB_CX22702 is not set ++# CONFIG_DVB_S5H1432 is not set ++# CONFIG_DVB_DRXD is not set ++# CONFIG_DVB_L64781 is not set ++# CONFIG_DVB_TDA1004X is not set ++# CONFIG_DVB_NXT6000 is not set ++# CONFIG_DVB_MT352 is not set ++# CONFIG_DVB_DIB7000M is not set ++# CONFIG_DVB_DIB7000P is not set ++# CONFIG_DVB_DIB9000 is not set ++# CONFIG_DVB_TDA10048 is not set ++# CONFIG_DVB_HD29L2 is not set ++# CONFIG_DVB_STV0367 is not set ++# CONFIG_DVB_CXD2820R is not set ++# CONFIG_DVB_VES1820 is not set ++# CONFIG_DVB_TDA10021 is not set ++# CONFIG_DVB_TDA10023 is not set ++# CONFIG_DVB_STV0297 is not set ++# CONFIG_DVB_NXT200X is not set ++# CONFIG_DVB_OR51211 is not set ++# CONFIG_DVB_OR51132 is not set ++# CONFIG_DVB_BCM3510 is not set ++# CONFIG_DVB_LGDT330X is not set ++# CONFIG_DVB_LGDT3305 is not set ++# CONFIG_DVB_LG2160 is not set ++# CONFIG_DVB_S5H1409 is not set ++# CONFIG_DVB_AU8522_DTV is not set ++# CONFIG_DVB_AU8522_V4L is not set ++# CONFIG_DVB_S5H1411 is not set ++# CONFIG_DVB_S921 is not set ++# CONFIG_DVB_DIB8000 is not set ++# CONFIG_DVB_MB86A20S is not set ++# CONFIG_DVB_PLL is not set ++# CONFIG_DVB_TUNER_DIB0070 is not set ++# CONFIG_DVB_TUNER_DIB0090 is not set ++# CONFIG_DVB_LNBP21 is not set ++# CONFIG_DVB_LNBP22 is not set ++# CONFIG_DVB_ISL6405 is not set ++# CONFIG_DVB_ISL6421 is not set ++# CONFIG_DVB_ISL6423 is not set ++# CONFIG_DVB_A8293 is not set ++# CONFIG_DVB_LGS8GL5 is not set ++# CONFIG_DVB_LGS8GXX is not set ++# CONFIG_DVB_ATBM8830 is not set ++# CONFIG_DVB_TDA665x is not set ++# CONFIG_DVB_IX2505V is not set ++# CONFIG_DVB_M88RS2000 is not set +CONFIG_FB=y +CONFIG_FB_BCM2708=y ++# CONFIG_BACKLIGHT_GENERIC is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_LOGO=y +# CONFIG_LOGO_LINUX_MONO is not set @@ -1181,10 +1279,10 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_CAIAQ=m ++CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SOUND_PRIME=m -+CONFIG_HID_PID=y -+CONFIG_USB_HIDDEV=y ++CONFIG_HIDRAW=y +CONFIG_HID_A4TECH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_APPLE=m @@ -1215,7 +1313,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m -+CONFIG_HID_QUANTA=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SONY=m @@ -1229,6 +1326,8 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_HID_WIIMOTE=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m ++CONFIG_HID_PID=y ++CONFIG_USB_HIDDEV=y +CONFIG_USB=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_MON=m @@ -1269,6 +1368,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m ++CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m @@ -1277,6 +1377,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m ++CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MOTOROLA=m @@ -1300,6 +1401,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_USB_SERIAL_VIVOPAY_SERIAL=m +CONFIG_USB_SERIAL_ZIO=m +CONFIG_USB_SERIAL_SSU100=m ++CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m @@ -1325,7 +1427,7 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_BCM2708=y +CONFIG_MMC_SDHCI_BCM2708_DMA=y -+CONFIG_LEDS_GPIO=y ++CONFIG_LEDS_GPIO=m +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m @@ -1365,7 +1467,14 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_W35UND=m +CONFIG_PRISM2_USB=m +CONFIG_R8712U=m -+CONFIG_ZRAM=m ++CONFIG_STAGING_MEDIA=y ++CONFIG_LIRC_STAGING=y ++CONFIG_LIRC_IGORPLUGUSB=m ++CONFIG_LIRC_IMON=m ++CONFIG_LIRC_RPI=m ++CONFIG_LIRC_SASEM=m ++CONFIG_LIRC_SERIAL=m ++CONFIG_LIRC_TTUSBIR=m +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y @@ -1414,7 +1523,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_NFS_FS=y -+CONFIG_NFS_V3=y +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=y +CONFIG_ROOT_NFS=y @@ -1428,9 +1536,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_CIFS_POSIX=y +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y -+CONFIG_PARTITION_ADVANCED=y -+CONFIG_MAC_PARTITION=y -+CONFIG_EFI_PARTITION=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m @@ -1477,7 +1582,6 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_LATENCYTOP=y -+CONFIG_SYSCTL_SYSCALL_CHECK=y +# CONFIG_KPROBE_EVENT is not set +CONFIG_KGDB=y +CONFIG_KGDB_KDB=y @@ -1500,9 +1604,9 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_defconfig linux-3.6.7.patch/arch/ +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig linux-3.6.7.patch/arch/arm/configs/bcmrpi_emergency_defconfig +diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig linux-rpi-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig --- linux-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/configs/bcmrpi_emergency_defconfig 2012-11-18 20:53:34.988712844 +0100 ++++ linux-rpi-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig 2012-11-30 02:34:01.815372827 +0100 @@ -0,0 +1,532 @@ +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set @@ -2036,9 +2140,311 @@ diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_emergency_defconfig linux-3.6.7.p +# CONFIG_CRYPTO_HW is not set +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -diff -Naur linux-3.6.7/arch/arm/include/asm/fiq.h linux-3.6.7.patch/arch/arm/include/asm/fiq.h +diff -Naur linux-3.6.7/arch/arm/configs/bcmrpi_quick_defconfig linux-rpi-3.6.7/arch/arm/configs/bcmrpi_quick_defconfig +--- linux-3.6.7/arch/arm/configs/bcmrpi_quick_defconfig 1970-01-01 01:00:00.000000000 +0100 ++++ linux-rpi-3.6.7/arch/arm/configs/bcmrpi_quick_defconfig 2012-11-30 02:34:01.852373579 +0100 +@@ -0,0 +1,298 @@ ++# CONFIG_ARM_PATCH_PHYS_VIRT is not set ++CONFIG_EXPERIMENTAL=y ++CONFIG_LOCALVERSION="-quick" ++# CONFIG_LOCALVERSION_AUTO is not set ++CONFIG_SYSVIPC=y ++CONFIG_POSIX_MQUEUE=y ++CONFIG_BSD_PROCESS_ACCT=y ++CONFIG_BSD_PROCESS_ACCT_V3=y ++CONFIG_FHANDLE=y ++CONFIG_TASKSTATS=y ++CONFIG_TASK_DELAY_ACCT=y ++CONFIG_TASK_XACCT=y ++CONFIG_TASK_IO_ACCOUNTING=y ++CONFIG_AUDIT=y ++CONFIG_NO_HZ=y ++CONFIG_HIGH_RES_TIMERS=y ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_CGROUP_FREEZER=y ++CONFIG_CGROUP_DEVICE=y ++CONFIG_CGROUP_CPUACCT=y ++CONFIG_RESOURCE_COUNTERS=y ++CONFIG_BLK_CGROUP=y ++CONFIG_NAMESPACES=y ++CONFIG_SCHED_AUTOGROUP=y ++CONFIG_RELAY=y ++CONFIG_EMBEDDED=y ++# CONFIG_COMPAT_BRK is not set ++CONFIG_SLAB=y ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++CONFIG_KPROBES=y ++CONFIG_MODULES=y ++CONFIG_MODULE_UNLOAD=y ++CONFIG_MODVERSIONS=y ++CONFIG_MODULE_SRCVERSION_ALL=y ++# CONFIG_BLK_DEV_BSG is not set ++CONFIG_BLK_DEV_THROTTLING=y ++CONFIG_PARTITION_ADVANCED=y ++CONFIG_MAC_PARTITION=y ++CONFIG_EFI_PARTITION=y ++CONFIG_CFQ_GROUP_IOSCHED=y ++CONFIG_ARCH_BCM2708=y ++# CONFIG_BCM2708_GPIO is not set ++# CONFIG_BCM2708_VCMEM is not set ++CONFIG_PREEMPT=y ++CONFIG_AEABI=y ++CONFIG_UACCESS_WITH_MEMCPY=y ++CONFIG_SECCOMP=y ++CONFIG_CC_STACKPROTECTOR=y ++CONFIG_ZBOOT_ROM_TEXT=0x0 ++CONFIG_ZBOOT_ROM_BSS=0x0 ++CONFIG_CMDLINE="dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" ++CONFIG_KEXEC=y ++CONFIG_CPU_FREQ=y ++CONFIG_CPU_FREQ_STAT=m ++CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y ++CONFIG_CPU_FREQ_GOV_PERFORMANCE=y ++CONFIG_CPU_FREQ_GOV_USERSPACE=y ++CONFIG_CPU_FREQ_GOV_ONDEMAND=y ++CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y ++# CONFIG_ARM_BCM2835_CPUFREQ is not set ++CONFIG_CPU_IDLE=y ++CONFIG_VFP=y ++CONFIG_BINFMT_MISC=m ++CONFIG_NET=y ++CONFIG_PACKET=y ++CONFIG_UNIX=y ++CONFIG_XFRM_USER=y ++CONFIG_NET_KEY=m ++CONFIG_INET=y ++CONFIG_IP_MULTICAST=y ++CONFIG_IP_ADVANCED_ROUTER=y ++CONFIG_IP_MULTIPLE_TABLES=y ++CONFIG_IP_ROUTE_MULTIPATH=y ++CONFIG_IP_ROUTE_VERBOSE=y ++CONFIG_IP_PNP=y ++CONFIG_IP_PNP_DHCP=y ++CONFIG_IP_PNP_RARP=y ++CONFIG_NET_IPIP=m ++CONFIG_SYN_COOKIES=y ++CONFIG_INET_AH=m ++CONFIG_INET_ESP=m ++CONFIG_INET_IPCOMP=m ++CONFIG_INET_XFRM_MODE_TRANSPORT=m ++CONFIG_INET_XFRM_MODE_TUNNEL=m ++CONFIG_INET_XFRM_MODE_BEET=m ++CONFIG_INET_LRO=m ++CONFIG_INET_DIAG=m ++# CONFIG_IPV6 is not set ++CONFIG_L2TP=m ++CONFIG_NET_PKTGEN=m ++# CONFIG_WIRELESS is not set ++CONFIG_WIMAX=m ++CONFIG_NET_9P=m ++CONFIG_NFC=m ++CONFIG_NFC_PN533=m ++CONFIG_DEVTMPFS=y ++CONFIG_DEVTMPFS_MOUNT=y ++CONFIG_BLK_DEV_LOOP=y ++CONFIG_BLK_DEV_CRYPTOLOOP=m ++CONFIG_BLK_DEV_NBD=m ++CONFIG_BLK_DEV_RAM=y ++CONFIG_CDROM_PKTCDVD=m ++CONFIG_EEPROM_93CX6=m ++# CONFIG_BCM2708_VCHIQ is not set ++CONFIG_SCSI=y ++# CONFIG_SCSI_PROC_FS is not set ++CONFIG_BLK_DEV_SD=y ++CONFIG_CHR_DEV_ST=m ++CONFIG_CHR_DEV_OSST=m ++CONFIG_BLK_DEV_SR=m ++CONFIG_SCSI_MULTI_LUN=y ++# CONFIG_SCSI_LOWLEVEL is not set ++CONFIG_NETDEVICES=y ++CONFIG_MII=y ++CONFIG_NETCONSOLE=m ++CONFIG_TUN=m ++CONFIG_PHYLIB=m ++CONFIG_MDIO_BITBANG=m ++CONFIG_SLIP=m ++CONFIG_SLIP_COMPRESSED=y ++# CONFIG_WLAN is not set ++CONFIG_INPUT_FF_MEMLESS=m ++CONFIG_INPUT_POLLDEV=m ++# CONFIG_INPUT_MOUSEDEV_PSAUX is not set ++CONFIG_INPUT_EVDEV=m ++# CONFIG_INPUT_KEYBOARD is not set ++# CONFIG_INPUT_MOUSE is not set ++# CONFIG_SERIO is not set ++CONFIG_VT_HW_CONSOLE_BINDING=y ++# CONFIG_LEGACY_PTYS is not set ++# CONFIG_DEVKMEM is not set ++CONFIG_SERIAL_AMBA_PL011=y ++CONFIG_SERIAL_AMBA_PL011_CONSOLE=y ++CONFIG_TTY_PRINTK=y ++# CONFIG_HW_RANDOM is not set ++CONFIG_RAW_DRIVER=y ++# CONFIG_HWMON is not set ++CONFIG_FB=y ++CONFIG_FB_BCM2708=y ++CONFIG_BACKLIGHT_LCD_SUPPORT=y ++CONFIG_FRAMEBUFFER_CONSOLE=y ++CONFIG_LOGO=y ++# CONFIG_LOGO_LINUX_MONO is not set ++# CONFIG_LOGO_LINUX_VGA16 is not set ++CONFIG_SOUND=y ++# CONFIG_USB_HID is not set ++CONFIG_USB=y ++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y ++CONFIG_USB_DWCOTG=y ++CONFIG_USB_ACM=m ++CONFIG_USB_MDC800=m ++CONFIG_USB_MICROTEK=m ++CONFIG_MMC=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_PLTFM=y ++CONFIG_MMC_SDHCI_BCM2708=y ++CONFIG_MMC_SDHCI_BCM2708_DMA=y ++CONFIG_NEW_LEDS=y ++CONFIG_LEDS_CLASS=m ++CONFIG_LEDS_TRIGGERS=y ++CONFIG_LEDS_TRIGGER_TIMER=m ++CONFIG_LEDS_TRIGGER_HEARTBEAT=m ++CONFIG_LEDS_TRIGGER_DEFAULT_ON=m ++CONFIG_UIO=m ++CONFIG_UIO_PDRV=m ++CONFIG_UIO_PDRV_GENIRQ=m ++# CONFIG_IOMMU_SUPPORT is not set ++CONFIG_EXT4_FS=y ++CONFIG_EXT4_FS_POSIX_ACL=y ++CONFIG_EXT4_FS_SECURITY=y ++CONFIG_REISERFS_FS=m ++CONFIG_REISERFS_FS_XATTR=y ++CONFIG_REISERFS_FS_POSIX_ACL=y ++CONFIG_REISERFS_FS_SECURITY=y ++CONFIG_JFS_FS=m ++CONFIG_JFS_POSIX_ACL=y ++CONFIG_JFS_SECURITY=y ++CONFIG_XFS_FS=m ++CONFIG_XFS_QUOTA=y ++CONFIG_XFS_POSIX_ACL=y ++CONFIG_XFS_RT=y ++CONFIG_GFS2_FS=m ++CONFIG_OCFS2_FS=m ++CONFIG_BTRFS_FS=m ++CONFIG_BTRFS_FS_POSIX_ACL=y ++CONFIG_NILFS2_FS=m ++CONFIG_AUTOFS4_FS=y ++CONFIG_FUSE_FS=m ++CONFIG_CUSE=m ++CONFIG_FSCACHE=y ++CONFIG_CACHEFILES=y ++CONFIG_ISO9660_FS=m ++CONFIG_JOLIET=y ++CONFIG_ZISOFS=y ++CONFIG_UDF_FS=m ++CONFIG_MSDOS_FS=y ++CONFIG_VFAT_FS=y ++CONFIG_FAT_DEFAULT_IOCHARSET="ascii" ++CONFIG_NTFS_FS=m ++CONFIG_TMPFS=y ++CONFIG_TMPFS_POSIX_ACL=y ++CONFIG_CONFIGFS_FS=y ++CONFIG_SQUASHFS=m ++CONFIG_SQUASHFS_XATTR=y ++CONFIG_SQUASHFS_LZO=y ++CONFIG_SQUASHFS_XZ=y ++CONFIG_NFS_FS=y ++CONFIG_NFS_V3_ACL=y ++CONFIG_NFS_V4=y ++CONFIG_ROOT_NFS=y ++CONFIG_NFS_FSCACHE=y ++CONFIG_NFSD=m ++CONFIG_NFSD_V3_ACL=y ++CONFIG_NFSD_V4=y ++CONFIG_CIFS=m ++CONFIG_CIFS_WEAK_PW_HASH=y ++CONFIG_CIFS_XATTR=y ++CONFIG_CIFS_POSIX=y ++CONFIG_9P_FS=m ++CONFIG_9P_FS_POSIX_ACL=y ++CONFIG_NLS_DEFAULT="utf8" ++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=y ++CONFIG_NLS_ISO8859_1=m ++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_PRINTK_TIME=y ++CONFIG_DEBUG_FS=y ++CONFIG_DETECT_HUNG_TASK=y ++CONFIG_TIMER_STATS=y ++# CONFIG_DEBUG_PREEMPT is not set ++CONFIG_DEBUG_MEMORY_INIT=y ++CONFIG_BOOT_PRINTK_DELAY=y ++CONFIG_LATENCYTOP=y ++# CONFIG_KPROBE_EVENT is not set ++CONFIG_KGDB=y ++CONFIG_KGDB_KDB=y ++CONFIG_KDB_KEYBOARD=y ++CONFIG_STRICT_DEVMEM=y ++CONFIG_DEBUG_LL=y ++CONFIG_DEBUG_BCM2708_UART0=y ++CONFIG_EARLY_PRINTK=y ++CONFIG_CRYPTO_SEQIV=m ++CONFIG_CRYPTO_CBC=y ++CONFIG_CRYPTO_XTS=m ++CONFIG_CRYPTO_HMAC=y ++CONFIG_CRYPTO_XCBC=m ++CONFIG_CRYPTO_MD5=y ++CONFIG_CRYPTO_MICHAEL_MIC=m ++CONFIG_CRYPTO_SHA1=y ++CONFIG_CRYPTO_SHA256=m ++CONFIG_CRYPTO_SHA512=m ++CONFIG_CRYPTO_TGR192=m ++CONFIG_CRYPTO_WP512=m ++CONFIG_CRYPTO_AES=m ++CONFIG_CRYPTO_CAST5=m ++CONFIG_CRYPTO_DES=y ++# CONFIG_CRYPTO_ANSI_CPRNG is not set ++# CONFIG_CRYPTO_HW is not set ++CONFIG_CRC_CCITT=m ++CONFIG_CRC_ITU_T=y ++CONFIG_CRC7=m ++CONFIG_LIBCRC32C=y ++CONFIG_AVERAGE=y +diff -Naur linux-3.6.7/arch/arm/include/asm/fiq.h linux-rpi-3.6.7/arch/arm/include/asm/fiq.h --- linux-3.6.7/arch/arm/include/asm/fiq.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/include/asm/fiq.h 2012-11-18 20:53:34.989712863 +0100 ++++ linux-rpi-3.6.7/arch/arm/include/asm/fiq.h 2012-11-30 02:34:01.319362808 +0100 @@ -42,6 +42,7 @@ /* helpers defined in fiqasm.S: */ extern void __set_fiq_regs(unsigned long const *regs); @@ -2047,9 +2453,9 @@ diff -Naur linux-3.6.7/arch/arm/include/asm/fiq.h linux-3.6.7.patch/arch/arm/inc static inline void set_fiq_regs(struct pt_regs const *regs) { -diff -Naur linux-3.6.7/arch/arm/Kconfig linux-3.6.7.patch/arch/arm/Kconfig +diff -Naur linux-3.6.7/arch/arm/Kconfig linux-rpi-3.6.7/arch/arm/Kconfig --- linux-3.6.7/arch/arm/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/Kconfig 2012-11-18 20:53:34.990712882 +0100 ++++ linux-rpi-3.6.7/arch/arm/Kconfig 2012-11-30 02:34:02.225381091 +0100 @@ -998,6 +998,23 @@ help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). @@ -2082,9 +2488,9 @@ diff -Naur linux-3.6.7/arch/arm/Kconfig linux-3.6.7.patch/arch/arm/Kconfig # Definitions to make life easier config ARCH_ACORN -diff -Naur linux-3.6.7/arch/arm/Kconfig.debug linux-3.6.7.patch/arch/arm/Kconfig.debug +diff -Naur linux-3.6.7/arch/arm/Kconfig.debug linux-rpi-3.6.7/arch/arm/Kconfig.debug --- linux-3.6.7/arch/arm/Kconfig.debug 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/Kconfig.debug 2012-11-18 20:53:34.991712901 +0100 ++++ linux-rpi-3.6.7/arch/arm/Kconfig.debug 2012-11-30 02:34:01.546367402 +0100 @@ -371,6 +371,14 @@ For more details about semihosting, please see chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. @@ -2100,9 +2506,9 @@ diff -Naur linux-3.6.7/arch/arm/Kconfig.debug linux-3.6.7.patch/arch/arm/Kconfig endchoice config EARLY_PRINTK -diff -Naur linux-3.6.7/arch/arm/kernel/fiqasm.S linux-3.6.7.patch/arch/arm/kernel/fiqasm.S +diff -Naur linux-3.6.7/arch/arm/kernel/fiqasm.S linux-rpi-3.6.7/arch/arm/kernel/fiqasm.S --- linux-3.6.7/arch/arm/kernel/fiqasm.S 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/kernel/fiqasm.S 2012-11-18 20:53:34.991712901 +0100 ++++ linux-rpi-3.6.7/arch/arm/kernel/fiqasm.S 2012-11-30 02:34:01.419364838 +0100 @@ -47,3 +47,7 @@ mov r0, r0 @ avoid hazard prior to ARMv4 mov pc, lr @@ -2111,9 +2517,9 @@ diff -Naur linux-3.6.7/arch/arm/kernel/fiqasm.S linux-3.6.7.patch/arch/arm/kerne +ENTRY(__FIQ_Branch) + mov pc, r8 +ENDPROC(__FIQ_Branch) -diff -Naur linux-3.6.7/arch/arm/kernel/fiq.c linux-3.6.7.patch/arch/arm/kernel/fiq.c +diff -Naur linux-3.6.7/arch/arm/kernel/fiq.c linux-rpi-3.6.7/arch/arm/kernel/fiq.c --- linux-3.6.7/arch/arm/kernel/fiq.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/kernel/fiq.c 2012-11-18 20:53:34.992712920 +0100 ++++ linux-rpi-3.6.7/arch/arm/kernel/fiq.c 2012-11-30 02:34:01.441365284 +0100 @@ -137,6 +137,7 @@ EXPORT_SYMBOL(set_fiq_handler); EXPORT_SYMBOL(__set_fiq_regs); /* defined in fiqasm.S */ @@ -2122,9 +2528,9 @@ diff -Naur linux-3.6.7/arch/arm/kernel/fiq.c linux-3.6.7.patch/arch/arm/kernel/f EXPORT_SYMBOL(claim_fiq); EXPORT_SYMBOL(release_fiq); EXPORT_SYMBOL(enable_fiq); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.c linux-3.6.7.patch/arch/arm/mach-bcm2708/armctrl.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/armctrl.c --- linux-3.6.7/arch/arm/mach-bcm2708/armctrl.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/armctrl.c 2012-11-18 20:53:34.992712920 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/armctrl.c 2012-11-30 02:33:56.630268860 +0100 @@ -0,0 +1,227 @@ +/* + * linux/arch/arm/mach-bcm2708/armctrl.c @@ -2353,9 +2759,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.c linux-3.6.7.patch/arch/ar + init_FIQ(FIQ_START); + return 0; +} -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.h linux-3.6.7.patch/arch/arm/mach-bcm2708/armctrl.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/armctrl.h --- linux-3.6.7/arch/arm/mach-bcm2708/armctrl.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/armctrl.h 2012-11-18 20:53:34.993712939 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/armctrl.h 2012-11-30 02:33:56.488266031 +0100 @@ -0,0 +1,27 @@ +/* + * linux/arch/arm/mach-bcm2708/armctrl.h @@ -2384,9 +2790,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/armctrl.h linux-3.6.7.patch/arch/ar + u32 armctrl_sources, u32 resume_sources); + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.c linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708.c --- linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708.c 2012-11-18 20:53:34.994712958 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708.c 2012-11-30 02:33:56.512266513 +0100 @@ -0,0 +1,951 @@ +/* + * linux/arch/arm/mach-bcm2708/bcm2708.c @@ -3339,9 +3745,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.c linux-3.6.7.patch/arch/ar +module_param(boardrev, uint, 0644); +module_param(serial, uint, 0644); +module_param(uart_clock, uint, 0644); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708_gpio.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c --- linux-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708_gpio.c 2012-11-18 20:53:34.995712977 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c 2012-11-30 02:33:56.480265869 +0100 @@ -0,0 +1,339 @@ +/* + * linux/arch/arm/mach-bcm2708/bcm2708_gpio.c @@ -3682,9 +4088,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-3.6.7.patch/ar + +MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver"); +MODULE_LICENSE("GPL"); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.h linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708.h --- linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/bcm2708.h 2012-11-18 20:53:34.995712977 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/bcm2708.h 2012-11-30 02:33:56.512266513 +0100 @@ -0,0 +1,51 @@ +/* + * linux/arch/arm/mach-bcm2708/bcm2708.h @@ -3737,9 +4143,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/bcm2708.h linux-3.6.7.patch/arch/ar +} + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.c linux-3.6.7.patch/arch/arm/mach-bcm2708/clock.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/clock.c --- linux-3.6.7/arch/arm/mach-bcm2708/clock.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/clock.c 2012-11-18 20:53:34.996712996 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/clock.c 2012-11-30 02:33:56.481265889 +0100 @@ -0,0 +1,61 @@ +/* + * linux/arch/arm/mach-bcm2708/clock.c @@ -3802,9 +4208,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.c linux-3.6.7.patch/arch/arm/ + return -EIO; +} +EXPORT_SYMBOL(clk_set_rate); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.h linux-3.6.7.patch/arch/arm/mach-bcm2708/clock.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/clock.h --- linux-3.6.7/arch/arm/mach-bcm2708/clock.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/clock.h 2012-11-18 20:53:34.996712996 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/clock.h 2012-11-30 02:33:56.480265869 +0100 @@ -0,0 +1,24 @@ +/* + * linux/arch/arm/mach-bcm2708/clock.h @@ -3830,9 +4236,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/clock.h linux-3.6.7.patch/arch/arm/ +struct clk { + unsigned long rate; +}; -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/delay.S linux-3.6.7.patch/arch/arm/mach-bcm2708/delay.S +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/delay.S linux-rpi-3.6.7/arch/arm/mach-bcm2708/delay.S --- linux-3.6.7/arch/arm/mach-bcm2708/delay.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/delay.S 2012-11-18 20:53:34.996712996 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/delay.S 2012-11-30 02:33:56.489266051 +0100 @@ -0,0 +1,20 @@ +/* + * linux/arch/arm/lib/delay.S @@ -3854,9 +4260,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/delay.S linux-3.6.7.patch/arch/arm/ + bhi bcm2708_delay + mov pc, lr +ENDPROC(bcm2708_delay) -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/dma.c linux-3.6.7.patch/arch/arm/mach-bcm2708/dma.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/dma.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/dma.c --- linux-3.6.7/arch/arm/mach-bcm2708/dma.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/dma.c 2012-11-18 20:53:34.997713015 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/dma.c 2012-11-30 02:33:56.479265849 +0100 @@ -0,0 +1,397 @@ +/* + * linux/arch/arm/mach-bcm2708/dma.c @@ -4255,9 +4661,768 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/dma.c linux-3.6.7.patch/arch/arm/ma +MODULE_LICENSE("GPL"); + +MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM"); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/arm_control.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/dmaer.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/dmaer.c +--- linux-3.6.7/arch/arm/mach-bcm2708/dmaer.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/dmaer.c 2012-11-30 02:33:56.502266312 +0100 +@@ -0,0 +1,755 @@ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include ++ ++MODULE_LICENSE("Dual BSD/GPL"); ++ ++//#define inline ++ ++/***** TYPES ****/ ++#define PAGES_PER_LIST 500 ++struct PageList ++{ ++ struct page *m_pPages[PAGES_PER_LIST]; ++ unsigned int m_used; ++ struct PageList *m_pNext; ++}; ++ ++struct VmaPageList ++{ ++ //each vma has a linked list of pages associated with it ++ struct PageList *m_pPageHead; ++ struct PageList *m_pPageTail; ++ unsigned int m_refCount; ++}; ++struct DmaControlBlock ++{ ++ unsigned int m_transferInfo; ++ void __user *m_pSourceAddr; ++ void __user *m_pDestAddr; ++ unsigned int m_xferLen; ++ unsigned int m_tdStride; ++ struct DmaControlBlock *m_pNext; ++ unsigned int m_blank1, m_blank2; ++}; ++ ++/***** DEFINES ******/ ++//magic number defining the module ++#define DMA_MAGIC 0xdd ++ ++//do user virtual to physical translation of the CB chain ++#define DMA_PREPARE _IOWR(DMA_MAGIC, 0, struct DmaControlBlock *) ++ ++//kick the pre-prepared CB chain ++#define DMA_KICK _IOW(DMA_MAGIC, 1, struct DmaControlBlock *) ++ ++//prepare it, kick it, wait for it ++#define DMA_PREPARE_KICK_WAIT _IOWR(DMA_MAGIC, 2, struct DmaControlBlock *) ++ ++//prepare it, kick it, don't wait for it ++#define DMA_PREPARE_KICK _IOWR(DMA_MAGIC, 3, struct DmaControlBlock *) ++ ++//not currently implemented ++#define DMA_WAIT_ONE _IO(DMA_MAGIC, 4, struct DmaControlBlock *) ++ ++//wait on all kicked CB chains ++#define DMA_WAIT_ALL _IO(DMA_MAGIC, 5) ++ ++//in order to discover the largest AXI burst that should be programmed into the transfer params ++#define DMA_MAX_BURST _IO(DMA_MAGIC, 6) ++ ++//set the address range through which the user address is assumed to already by a physical address ++#define DMA_SET_MIN_PHYS _IOW(DMA_MAGIC, 7, unsigned long) ++#define DMA_SET_MAX_PHYS _IOW(DMA_MAGIC, 8, unsigned long) ++ ++#define VIRT_TO_BUS_CACHE_SIZE 8 ++ ++/***** FILE OPS *****/ ++static int Open(struct inode *pInode, struct file *pFile); ++static int Release(struct inode *pInode, struct file *pFile); ++static long Ioctl(struct file *pFile, unsigned int cmd, unsigned long arg); ++static ssize_t Read(struct file *pFile, char __user *pUser, size_t count, loff_t *offp); ++static int Mmap(struct file *pFile, struct vm_area_struct *pVma); ++ ++/***** VMA OPS ****/ ++static void VmaOpen(struct vm_area_struct *pVma); ++static void VmaClose(struct vm_area_struct *pVma); ++static int VmaFault(struct vm_area_struct *pVma, struct vm_fault *pVmf); ++ ++/**** GENERIC ****/ ++static int __init dmaer_init(void); ++static void __exit dmaer_exit(void); ++ ++/*** OPS ***/ ++static struct vm_operations_struct g_vmOps = { ++ .open = VmaOpen, ++ .close = VmaClose, ++ .fault = VmaFault, ++}; ++ ++static struct file_operations g_fOps = { ++ .owner = THIS_MODULE, ++ .llseek = 0, ++ .read = Read, ++ .write = 0, ++ .unlocked_ioctl = Ioctl, ++ .open = Open, ++ .release = Release, ++ .mmap = Mmap, ++}; ++ ++/***** GLOBALS ******/ ++static dev_t g_majorMinor; ++static atomic_t g_oneLock = ATOMIC_INIT(1); ++static struct cdev g_cDev; ++static int g_trackedPages = 0; ++static unsigned int *g_pDmaChanBase; ++static int g_dmaIrq; ++static int g_dmaChan; ++ ++static unsigned long g_virtAddr[VIRT_TO_BUS_CACHE_SIZE]; ++static unsigned long g_busAddr[VIRT_TO_BUS_CACHE_SIZE]; ++static unsigned long g_cbVirtAddr; ++static unsigned long g_cbBusAddr; ++static int g_cacheInsertAt; ++static int g_cacheHit, g_cacheMiss; ++ ++//off by default ++static void __user *g_pMinPhys = (void __user *)-1; ++static void __user *g_pMaxPhys = (void __user *)0; ++ ++/****** CACHE OPERATIONS ********/ ++static inline void FlushAddrCache(void) ++{ ++ int count = 0; ++ for (count = 0; count < VIRT_TO_BUS_CACHE_SIZE; count++) ++ g_virtAddr[count] = 0xffffffff; //never going to match as we always chop the bottom bits anyway ++ ++ g_cbVirtAddr = 0xffffffff; ++ ++ g_cacheInsertAt = 0; ++} ++ ++//translate from a user virtual address to a bus address by mapping the page ++//NB this won't lock a page in memory, so to avoid potential paging issues using kernel logical addresses ++static inline void __iomem *UserVirtualToBus(void __user *pUser) ++{ ++ int mapped; ++ struct page *pPage; ++ void *phys; ++ ++ //map it (requiring that the pointer points to something that does not hang off the page boundary) ++ mapped = get_user_pages(current, current->mm, ++ (unsigned long)pUser, 1, ++ 1, 0, ++ &pPage, ++ 0); ++ ++ if (mapped <= 0) //error ++ return 0; ++ ++ //get the arm physical address ++ phys = page_address(pPage) + offset_in_page(pUser); ++ page_cache_release(pPage); ++ ++ //and now the bus address ++ return (void __iomem *)__virt_to_bus(phys); ++} ++ ++static inline void __iomem *UserVirtualToBusViaCbCache(void __user *pUser) ++{ ++ unsigned long virtual_page = (unsigned long)pUser & ~4095; ++ unsigned long page_offset = (unsigned long)pUser & 4095; ++ unsigned long bus_addr; ++ ++ if (g_cbVirtAddr == virtual_page) ++ { ++ bus_addr = g_cbBusAddr + page_offset; ++ g_cacheHit++; ++ return (void __iomem *)bus_addr; ++ } ++ else ++ { ++ bus_addr = (unsigned long)UserVirtualToBus(pUser); ++ ++ if (!bus_addr) ++ return 0; ++ ++ g_cbVirtAddr = virtual_page; ++ g_cbBusAddr = bus_addr & ~4095; ++ g_cacheMiss++; ++ ++ return (void __iomem *)bus_addr; ++ } ++} ++ ++//do the same as above, by query our virt->bus cache ++static inline void __iomem *UserVirtualToBusViaCache(void __user *pUser) ++{ ++ int count; ++ //get the page and its offset ++ unsigned long virtual_page = (unsigned long)pUser & ~4095; ++ unsigned long page_offset = (unsigned long)pUser & 4095; ++ unsigned long bus_addr; ++ ++ if (pUser >= g_pMinPhys && pUser < g_pMaxPhys) ++ { ++// printk(KERN_DEBUG "user->phys passthrough on %p\n", pUser); ++ return (void __iomem *)__virt_to_bus(pUser); ++ } ++ ++ //check the cache for our entry ++ for (count = 0; count < VIRT_TO_BUS_CACHE_SIZE; count++) ++ if (g_virtAddr[count] == virtual_page) ++ { ++ bus_addr = g_busAddr[count] + page_offset; ++ g_cacheHit++; ++ return (void __iomem *)bus_addr; ++ } ++ ++ //not found, look up manually and then insert its page address ++ bus_addr = (unsigned long)UserVirtualToBus(pUser); ++ ++ if (!bus_addr) ++ return 0; ++ ++ g_virtAddr[g_cacheInsertAt] = virtual_page; ++ g_busAddr[g_cacheInsertAt] = bus_addr & ~4095; ++ ++ //round robin ++ g_cacheInsertAt++; ++ if (g_cacheInsertAt == VIRT_TO_BUS_CACHE_SIZE) ++ g_cacheInsertAt = 0; ++ ++ g_cacheMiss++; ++ ++ return (void __iomem *)bus_addr; ++} ++ ++/***** FILE OPERATIONS ****/ ++static int Open(struct inode *pInode, struct file *pFile) ++{ ++ printk(KERN_DEBUG "file opening\n"); ++ ++ //only one at a time ++ if (!atomic_dec_and_test(&g_oneLock)) ++ { ++ atomic_inc(&g_oneLock); ++ return -EBUSY; ++ } ++ ++ return 0; ++} ++ ++static int Release(struct inode *pInode, struct file *pFile) ++{ ++ printk(KERN_DEBUG "file closing, %d pages tracked\n", g_trackedPages); ++ if (g_trackedPages) ++ printk(KERN_ERR "we\'re leaking memory!\n"); ++ ++ atomic_inc(&g_oneLock); ++ return 0; ++} ++ ++static struct DmaControlBlock __user *DmaPrepare(struct DmaControlBlock __user *pUserCB, int *pError) ++{ ++ struct DmaControlBlock kernCB; ++ struct DmaControlBlock __user *pUNext; ++ void __iomem *pSourceBus, __iomem *pDestBus; ++ ++ ++ //get the control block into kernel memory so we can work on it ++ if (copy_from_user(&kernCB, pUserCB, sizeof(struct DmaControlBlock)) != 0) ++ { ++ printk(KERN_ERR "copy_from_user failed for user cb %p\n", pUserCB); ++ *pError = 1; ++ return 0; ++ } ++ ++ if (kernCB.m_pSourceAddr == 0 || kernCB.m_pDestAddr == 0) ++ { ++ printk(KERN_ERR "faulty source (%p) dest (%p) addresses for user cb %p\n", ++ kernCB.m_pSourceAddr, kernCB.m_pDestAddr, pUserCB); ++ *pError = 1; ++ return 0; ++ } ++ ++ pSourceBus = UserVirtualToBusViaCache(kernCB.m_pSourceAddr); ++ pDestBus = UserVirtualToBusViaCache(kernCB.m_pDestAddr); ++ ++ if (!pSourceBus || !pDestBus) ++ { ++ printk(KERN_ERR "virtual to bus translation failure for source/dest\n"); ++ *pError = 1; ++ return 0; ++ } ++ ++ //update the user structure with the new bus addresses ++ kernCB.m_pSourceAddr = pSourceBus; ++ kernCB.m_pDestAddr = pDestBus; ++ ++ //sort out the bus address for the next block ++ pUNext = kernCB.m_pNext; ++ ++ if (kernCB.m_pNext) ++ { ++ void __iomem *pNextBus; ++ pNextBus = UserVirtualToBusViaCbCache(kernCB.m_pNext); ++ ++ if (!pNextBus) ++ { ++ printk(KERN_ERR "virtual to bus translation failure for m_pNext\n"); ++ *pError = 1; ++ return 0; ++ } ++ ++ //update the pointer with the bus address ++ kernCB.m_pNext = pNextBus; ++ } ++ ++ //write it back to user space ++ if (copy_to_user(pUserCB, &kernCB, sizeof(struct DmaControlBlock)) != 0) ++ { ++ printk(KERN_ERR "copy_to_user failed for cb %p\n", pUserCB); ++ *pError = 1; ++ return 0; ++ } ++ ++ __cpuc_flush_dcache_area(pUserCB, 32); ++ ++ *pError = 0; ++ return pUNext; ++} ++ ++static int DmaKick(struct DmaControlBlock __user *pUserCB) ++{ ++ void __iomem *pBusCB; ++ ++ pBusCB = UserVirtualToBusViaCbCache(pUserCB); ++ if (!pBusCB) ++ { ++ printk(KERN_ERR "virtual to bus translation failure for cb\n"); ++ return 1; ++ } ++ ++ //flush_cache_all(); ++ ++ bcm_dma_start(g_pDmaChanBase, (dma_addr_t)pBusCB); ++ ++ return 0; ++} ++ ++static void DmaWaitAll(void) ++{ ++ int counter = 0; ++ volatile int inner_count; ++ volatile unsigned int cs; ++ //unsigned long time_before, time_after; ++ ++ //time_before = jiffies; ++ //bcm_dma_wait_idle(g_pDmaChanBase); ++ dsb(); ++ ++ cs = readl(g_pDmaChanBase); ++ ++ while ((cs & 1) == 1) ++ { ++ cs = readl(g_pDmaChanBase); ++ counter++; ++ ++ for (inner_count = 0; inner_count < 32; inner_count++); ++ ++ asm volatile ("MCR p15,0,r0,c7,c0,4 \n"); ++ //cpu_do_idle(); ++ if (counter >= 1000000) ++ { ++ printk(KERN_WARNING "DMA failed to finish in a timely fashion\n"); ++ break; ++ } ++ } ++ //time_after = jiffies; ++ //printk(KERN_DEBUG "done, counter %d, cs %08x", counter, cs); ++ //printk(KERN_DEBUG "took %ld jiffies, %d HZ\n", time_after - time_before, HZ); ++} ++ ++static long Ioctl(struct file *pFile, unsigned int cmd, unsigned long arg) ++{ ++ int error = 0; ++ //printk(KERN_DEBUG "ioctl cmd %x arg %lx\n", cmd, arg); ++ ++ switch (cmd) ++ { ++ case DMA_PREPARE: ++ case DMA_PREPARE_KICK: ++ case DMA_PREPARE_KICK_WAIT: ++ { ++ struct DmaControlBlock __user *pUCB = (struct DmaControlBlock *)arg; ++ int steps = 0; ++ //unsigned long start_time = jiffies; ++ ++ //flush our address cache ++ FlushAddrCache(); ++ ++// printk(KERN_DEBUG "dma prepare\n"); ++ ++ //do virtual to bus translation for each entry ++ do ++ { ++ pUCB = DmaPrepare(pUCB, &error); ++ } while (error == 0 && ++steps && pUCB); ++ //printk(KERN_DEBUG "prepare done in %d steps, %ld\n", steps, jiffies - start_time); ++ ++ //carry straight on if we want to kick too ++ if (cmd == DMA_PREPARE || error) ++ { ++// printk(KERN_DEBUG "falling out\n"); ++ break; ++ } ++ }; ++ case DMA_KICK: ++// printk(KERN_DEBUG "dma begin\n"); ++ ++ if (cmd == DMA_KICK) ++ FlushAddrCache(); ++ ++ DmaKick((struct DmaControlBlock __user *)arg); ++ ++ if (cmd != DMA_PREPARE_KICK_WAIT) ++ break; ++/* case DMA_WAIT_ONE: ++ //printk(KERN_DEBUG "dma wait one\n"); ++ break;*/ ++ case DMA_WAIT_ALL: ++ //printk(KERN_DEBUG "dma wait all\n"); ++ DmaWaitAll(); ++ break; ++ case DMA_MAX_BURST: ++ if (g_dmaChan == 0) ++ return 10; ++ else ++ return 5; ++ case DMA_SET_MIN_PHYS: ++ g_pMinPhys = (void __user *)arg; ++ printk("min/max user/phys bypass set to %p %p\n", g_pMinPhys, g_pMaxPhys); ++ break; ++ case DMA_SET_MAX_PHYS: ++ g_pMaxPhys = (void __user *)arg; ++ printk("min/max user/phys bypass set to %p %p\n", g_pMinPhys, g_pMaxPhys); ++ break; ++ default: ++ printk(KERN_DEBUG "unknown ioctl: %d\n", cmd); ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++static ssize_t Read(struct file *pFile, char __user *pUser, size_t count, loff_t *offp) ++{ ++ /*printk(KERN_DEBUG "file read pFile %p pUser %p count %ld offp %p\n", ++ pFile, pUser, count, offp); ++ printk(KERN_DEBUG "phys pFile %lx pUser %lx offp %lx\n", ++ __pa(pFile), __pa(pUser), __pa(offp)); ++ printk(KERN_DEBUG "bus pFile %lx pUser %lx offp %lx\n", ++ virt_to_bus(pFile), virt_to_bus(pUser), virt_to_bus(offp));*/ ++ return -EIO; ++} ++ ++static int Mmap(struct file *pFile, struct vm_area_struct *pVma) ++{ ++ struct PageList *pPages; ++ struct VmaPageList *pVmaList; ++ ++// printk(KERN_DEBUG "MMAP vma %p, length %ld (%s %d)\n", ++// pVma, pVma->vm_end - pVma->vm_start, ++// current->comm, current->pid); ++// printk(KERN_DEBUG "MMAP %p %d (tracked %d)\n", pVma, current->pid, g_trackedPages); ++ ++ //make a new page list ++ pPages = (struct PageList *)kmalloc(sizeof(struct PageList), GFP_KERNEL); ++ if (!pPages) ++ { ++ printk(KERN_ERR "couldn\'t allocate a new page list (%s %d)\n", ++ current->comm, current->pid); ++ return -ENOMEM; ++ } ++ ++ //clear the page list ++ pPages->m_used = 0; ++ pPages->m_pNext = 0; ++ ++ //insert our vma and new page list somewhere ++ if (!pVma->vm_private_data) ++ { ++ struct VmaPageList *pList; ++ ++// printk(KERN_DEBUG "new vma list, making new one (%s %d)\n", ++// current->comm, current->pid); ++ ++ //make a new vma list ++ pList = (struct VmaPageList *)kmalloc(sizeof(struct VmaPageList), GFP_KERNEL); ++ if (!pList) ++ { ++ printk(KERN_ERR "couldn\'t allocate vma page list (%s %d)\n", ++ current->comm, current->pid); ++ kfree(pPages); ++ return -ENOMEM; ++ } ++ ++ //clear this list ++ pVma->vm_private_data = (void *)pList; ++ pList->m_refCount = 0; ++ } ++ ++ pVmaList = (struct VmaPageList *)pVma->vm_private_data; ++ ++ //add it to the vma list ++ pVmaList->m_pPageHead = pPages; ++ pVmaList->m_pPageTail = pPages; ++ ++ pVma->vm_ops = &g_vmOps; ++ pVma->vm_flags |= VM_RESERVED; ++ ++ VmaOpen(pVma); ++ ++ return 0; ++} ++ ++/****** VMA OPERATIONS ******/ ++ ++static void VmaOpen(struct vm_area_struct *pVma) ++{ ++ struct VmaPageList *pVmaList; ++ ++// printk(KERN_DEBUG "vma open %p private %p (%s %d), %d live pages\n", pVma, pVma->vm_private_data, current->comm, current->pid, g_trackedPages); ++// printk(KERN_DEBUG "OPEN %p %d %ld pages (tracked pages %d)\n", ++// pVma, current->pid, (pVma->vm_end - pVma->vm_start) >> 12, ++// g_trackedPages); ++ ++ pVmaList = (struct VmaPageList *)pVma->vm_private_data; ++ ++ if (pVmaList) ++ { ++ pVmaList->m_refCount++; ++// printk(KERN_DEBUG "ref count is now %d\n", pVmaList->m_refCount); ++ } ++// else ++// printk(KERN_DEBUG "err, open but no vma page list\n"); ++} ++ ++static void VmaClose(struct vm_area_struct *pVma) ++{ ++ struct VmaPageList *pVmaList; ++ int freed = 0; ++ ++// printk(KERN_DEBUG "vma close %p private %p (%s %d)\n", pVma, pVma->vm_private_data, current->comm, current->pid); ++ ++ //find our vma in the list ++ pVmaList = (struct VmaPageList *)pVma->vm_private_data; ++ ++ //may be a fork ++ if (pVmaList) ++ { ++ struct PageList *pPages; ++ ++ pVmaList->m_refCount--; ++ ++ if (pVmaList->m_refCount == 0) ++ { ++// printk(KERN_DEBUG "found vma, freeing pages (%s %d)\n", ++// current->comm, current->pid); ++ ++ pPages = pVmaList->m_pPageHead; ++ ++ if (!pPages) ++ { ++ printk(KERN_ERR "no page list (%s %d)!\n", ++ current->comm, current->pid); ++ return; ++ } ++ ++ while (pPages) ++ { ++ struct PageList *next; ++ int count; ++ ++// printk(KERN_DEBUG "page list (%s %d)\n", ++// current->comm, current->pid); ++ ++ next = pPages->m_pNext; ++ for (count = 0; count < pPages->m_used; count++) ++ { ++// printk(KERN_DEBUG "freeing page %p (%s %d)\n", ++// pPages->m_pPages[count], ++// current->comm, current->pid); ++ __free_pages(pPages->m_pPages[count], 0); ++ g_trackedPages--; ++ freed++; ++ } ++ ++// printk(KERN_DEBUG "freeing page list (%s %d)\n", ++// current->comm, current->pid); ++ kfree(pPages); ++ pPages = next; ++ } ++ ++ //remove our vma from the list ++ kfree(pVmaList); ++ pVma->vm_private_data = 0; ++ } ++// else ++// printk(KERN_DEBUG "ref count is %d, not closing\n", pVmaList->m_refCount); ++ } ++ else ++ { ++// printk(KERN_ERR "uh-oh, vma %p not found (%s %d)!\n", pVma, current->comm, current->pid); ++// printk(KERN_ERR "CLOSE ERR\n"); ++ } ++ ++// printk(KERN_DEBUG "CLOSE %p %d %d pages (tracked pages %d)", ++// pVma, current->pid, freed, g_trackedPages); ++ ++// printk(KERN_DEBUG "%d pages open\n", g_trackedPages); ++} ++ ++static int VmaFault(struct vm_area_struct *pVma, struct vm_fault *pVmf) ++{ ++// printk(KERN_DEBUG "vma fault for vma %p private %p at offset %ld (%s %d)\n", pVma, pVma->vm_private_data, pVmf->pgoff, ++// current->comm, current->pid); ++ //printk(KERN_DEBUG "FAULT\n"); ++ pVmf->page = alloc_page(GFP_KERNEL); ++ /*if (pVmf->page) ++ printk(KERN_DEBUG "alloc page virtual %p\n", page_address(pVmf->page));*/ ++ ++ if (!pVmf->page) ++ { ++ printk(KERN_ERR "vma fault oom (%s %d)\n", current->comm, current->pid); ++ return VM_FAULT_OOM; ++ } ++ else ++ { ++ struct VmaPageList *pVmaList; ++ ++ get_page(pVmf->page); ++ g_trackedPages++; ++ ++ //find our vma in the list ++ pVmaList = (struct VmaPageList *)pVma->vm_private_data; ++ ++ if (pVmaList) ++ { ++// printk(KERN_DEBUG "vma found (%s %d)\n", current->comm, current->pid); ++ ++ if (pVmaList->m_pPageTail->m_used == PAGES_PER_LIST) ++ { ++// printk(KERN_DEBUG "making new page list (%s %d)\n", current->comm, current->pid); ++ //making a new page list ++ pVmaList->m_pPageTail->m_pNext = (struct PageList *)kmalloc(sizeof(struct PageList), GFP_KERNEL); ++ if (!pVmaList->m_pPageTail->m_pNext) ++ return -ENOMEM; ++ ++ //update the tail pointer ++ pVmaList->m_pPageTail = pVmaList->m_pPageTail->m_pNext; ++ pVmaList->m_pPageTail->m_used = 0; ++ pVmaList->m_pPageTail->m_pNext = 0; ++ } ++ ++// printk(KERN_DEBUG "adding page to list (%s %d)\n", current->comm, current->pid); ++ ++ pVmaList->m_pPageTail->m_pPages[pVmaList->m_pPageTail->m_used] = pVmf->page; ++ pVmaList->m_pPageTail->m_used++; ++ } ++ else ++ printk(KERN_ERR "returned page for vma we don\'t know %p (%s %d)\n", pVma, current->comm, current->pid); ++ ++ return 0; ++ } ++} ++ ++/****** GENERIC FUNCTIONS ******/ ++static int __init dmaer_init(void) ++{ ++ int result = alloc_chrdev_region(&g_majorMinor, 0, 1, "dmaer"); ++ if (result < 0) ++ { ++ printk(KERN_ERR "unable to get major device number\n"); ++ return result; ++ } ++ else ++ printk(KERN_DEBUG "major device number %d\n", MAJOR(g_majorMinor)); ++ ++ printk(KERN_DEBUG "vma list size %d, page list size %d, page size %ld\n", ++ sizeof(struct VmaPageList), sizeof(struct PageList), PAGE_SIZE); ++ ++ ++ //get a dma channel to work with ++ result = bcm_dma_chan_alloc(BCM_DMA_FEATURE_FAST, (void **)&g_pDmaChanBase, &g_dmaIrq); ++ //result = 0; ++ //g_pDmaChanBase = 0xce808000; ++ ++ if (result < 0) ++ { ++ printk(KERN_ERR "failed to allocate dma channel\n"); ++ cdev_del(&g_cDev); ++ unregister_chrdev_region(g_majorMinor, 1); ++ } ++ ++ //reset the channel ++ printk(KERN_DEBUG "allocated dma channel %d (%p), initial state %08x\n", result, g_pDmaChanBase, *g_pDmaChanBase); ++ *g_pDmaChanBase = 1 << 31; ++ printk(KERN_DEBUG "post-reset %08x\n", *g_pDmaChanBase); ++ ++ g_dmaChan = result; ++ ++ //clear the cache stats ++ g_cacheHit = 0; ++ g_cacheMiss = 0; ++ ++ //register our device - after this we are go go go ++ cdev_init(&g_cDev, &g_fOps); ++ g_cDev.owner = THIS_MODULE; ++ g_cDev.ops = &g_fOps; ++ ++ result = cdev_add(&g_cDev, g_majorMinor, 1); ++ if (result < 0) ++ { ++ printk(KERN_ERR "failed to add character device\n"); ++ unregister_chrdev_region(g_majorMinor, 1); ++ bcm_dma_chan_free(g_dmaChan); ++ return result; ++ } ++ ++ return 0; ++} ++ ++static void __exit dmaer_exit(void) ++{ ++ printk(KERN_INFO "closing dmaer device, cache stats: %d hits %d misses\n", g_cacheHit, g_cacheMiss); ++ //unregister the device ++ cdev_del(&g_cDev); ++ unregister_chrdev_region(g_majorMinor, 1); ++ //free the dma channel ++ bcm_dma_chan_free(g_dmaChan); ++} ++ ++MODULE_AUTHOR("Simon Hall"); ++module_init(dmaer_init); ++module_exit(dmaer_exit); ++ +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/arm_control.h 2012-11-18 20:53:35.128715497 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h 2012-11-30 02:33:56.627268798 +0100 @@ -0,0 +1,419 @@ +/* + * linux/arch/arm/mach-bcm2708/arm_control.h @@ -4678,9 +5843,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_control.h linux-3. +#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c) + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/arm_power.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/arm_power.h 2012-11-18 20:53:35.129715520 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h 2012-11-30 02:33:56.629268840 +0100 @@ -0,0 +1,60 @@ +/* + * linux/arch/arm/mach-bcm2708/include/mach/arm_power.h @@ -4742,9 +5907,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/arm_power.h linux-3.6. +}; + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/clkdev.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/clkdev.h 2012-11-18 20:53:35.129715520 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h 2012-11-30 02:33:56.616268584 +0100 @@ -0,0 +1,7 @@ +#ifndef __ASM_MACH_CLKDEV_H +#define __ASM_MACH_CLKDEV_H @@ -4753,9 +5918,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-3.6.7.p +#define __clk_put(clk) do { } while (0) + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/debug-macro.S +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/debug-macro.S 2012-11-18 20:53:35.130715541 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S 2012-11-30 02:33:56.628268819 +0100 @@ -0,0 +1,22 @@ +/* arch/arm/mach-bcm2708/include/mach/debug-macro.S + * @@ -4779,9 +5944,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/debug-macro.S linux-3. + .endm + +#include -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/dma.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/dma.h 2012-11-18 20:53:35.130715541 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h 2012-11-30 02:33:56.629268840 +0100 @@ -0,0 +1,84 @@ +/* + * linux/arch/arm/mach-bcm2708/include/mach/dma.h @@ -4867,9 +6032,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/dma.h linux-3.6.7.patc + + +#endif /* _MACH_BCM2708_DMA_H */ -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/entry-macro.S +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/entry-macro.S 2012-11-18 20:53:35.131715561 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S 2012-11-30 02:33:56.537267013 +0100 @@ -0,0 +1,69 @@ +/* + * arch/arm/mach-bcm2708/include/mach/entry-macro.S @@ -4940,9 +6105,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/entry-macro.S linux-3. +1020: @ EQ will be set if no irqs pending + + .endm -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/frc.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/frc.h 2012-11-18 20:53:35.132715579 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h 2012-11-30 02:33:56.628268819 +0100 @@ -0,0 +1,38 @@ +/* + * arch/arm/mach-bcm2708/include/mach/timex.h @@ -4982,9 +6147,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/frc.h linux-3.6.7.patc +extern unsigned long long frc_clock_ticks63(void); + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/gpio.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/gpio.h 2012-11-18 20:53:35.132715579 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h 2012-11-30 02:33:56.626268778 +0100 @@ -0,0 +1,48 @@ +/* + * arch/arm/mach-bcm2708/include/mach/gpio.h @@ -5034,9 +6199,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/gpio.h linux-3.6.7.pat + +#endif + -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/hardware.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/hardware.h 2012-11-18 20:53:35.133715597 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h 2012-11-30 02:33:56.628268819 +0100 @@ -0,0 +1,28 @@ +/* + * arch/arm/mach-bcm2708/include/mach/hardware.h @@ -5066,9 +6231,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/hardware.h linux-3.6.7 +#include + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/io.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/io.h 2012-11-18 20:53:35.133715597 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h 2012-11-30 02:33:56.626268778 +0100 @@ -0,0 +1,28 @@ +/* + * arch/arm/mach-bcm2708/include/mach/io.h @@ -5098,9 +6263,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/io.h linux-3.6.7.patch +#define __mem_pci(a) (a) + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/irqs.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/irqs.h 2012-11-18 20:53:35.134715615 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h 2012-11-30 02:33:56.627268798 +0100 @@ -0,0 +1,199 @@ +/* + * arch/arm/mach-bcm2708/include/mach/irqs.h @@ -5301,9 +6466,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/irqs.h linux-3.6.7.pat + + +#endif /* _BCM2708_IRQS_H_ */ -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/memory.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/memory.h 2012-11-18 20:53:35.135715633 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h 2012-11-30 02:33:56.626268778 +0100 @@ -0,0 +1,57 @@ +/* + * arch/arm/mach-bcm2708/include/mach/memory.h @@ -5362,9 +6527,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/memory.h linux-3.6.7.p +#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PLAT_PHYS_OFFSET)) + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/platform.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/platform.h 2012-11-18 20:53:35.136715652 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h 2012-11-30 02:33:56.537267013 +0100 @@ -0,0 +1,225 @@ +/* + * arch/arm/mach-bcm2708/include/mach/platform.h @@ -5591,9 +6756,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/platform.h linux-3.6.7 +#endif + +/* END */ -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/power.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/power.h 2012-11-18 20:53:35.136715652 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h 2012-11-30 02:33:56.629268840 +0100 @@ -0,0 +1,26 @@ +/* + * linux/arch/arm/mach-bcm2708/power.h @@ -5621,9 +6786,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/power.h linux-3.6.7.pa +extern int bcm_power_close(BCM_POWER_HANDLE_T handle); + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/system.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/system.h 2012-11-18 20:53:35.137715672 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h 2012-11-30 02:33:56.536266993 +0100 @@ -0,0 +1,38 @@ +/* + * arch/arm/mach-bcm2708/include/mach/system.h @@ -5663,9 +6828,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/system.h linux-3.6.7.p +} + +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/timex.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/timex.h 2012-11-18 20:53:35.137715672 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h 2012-11-30 02:33:56.537267013 +0100 @@ -0,0 +1,23 @@ +/* + * arch/arm/mach-bcm2708/include/mach/timex.h @@ -5690,9 +6855,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/timex.h linux-3.6.7.pa + */ + +#define CLOCK_TICK_RATE (1000000) -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/uncompress.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/uncompress.h 2012-11-18 20:53:35.138715692 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h 2012-11-30 02:33:56.629268840 +0100 @@ -0,0 +1,85 @@ +/* + * arch/arm/mach-bcn2708/include/mach/uncompress.h @@ -5779,10 +6944,10 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/uncompress.h linux-3.6 + */ +#define arch_decomp_wdog() + -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vcio.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vcio.h 2012-11-18 20:53:35.138715692 +0100 -@@ -0,0 +1,108 @@ ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h 2012-11-30 02:33:56.616268584 +0100 +@@ -0,0 +1,141 @@ +/* + * arch/arm/mach-bcm2708/include/mach/vcio.h + * @@ -5890,10 +7055,43 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vcio.h linux-3.6.7.pat +extern int /*rc*/ bcm_mailbox_write(unsigned chan, uint32_t data28); +extern int /*rc*/ bcm_mailbox_property(void *data, int size); + ++#include ++ ++/* ++ * The major device number. We can't rely on dynamic ++ * registration any more, because ioctls need to know ++ * it. ++ */ ++#define MAJOR_NUM 100 ++ ++/* ++ * Set the message of the device driver ++ */ ++#define IOCTL_MBOX_PROPERTY _IOWR(MAJOR_NUM, 0, char *) ++/* ++ * _IOWR means that we're creating an ioctl command ++ * number for passing information from a user process ++ * to the kernel module and from the kernel module to user process ++ * ++ * The first arguments, MAJOR_NUM, is the major device ++ * number we're using. ++ * ++ * The second argument is the number of the command ++ * (there could be several with different meanings). ++ * ++ * The third argument is the type we want to get from ++ * the process to the kernel. ++ */ ++ ++/* ++ * The name of the device file ++ */ ++#define DEVICE_FILE_NAME "char_dev" ++ +#endif -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vc_mem.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vc_mem.h 2012-11-18 20:53:35.139715712 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h 2012-11-30 02:33:56.628268819 +0100 @@ -0,0 +1,36 @@ +/***************************************************************************** +* Copyright 2010 - 2011 Broadcom Corporation. All rights reserved. @@ -5931,9 +7129,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-3.6.7.p + +#endif /* VC_MEM_H */ + -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vmalloc.h +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h --- linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/include/mach/vmalloc.h 2012-11-18 20:53:35.139715712 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h 2012-11-30 02:33:56.537267013 +0100 @@ -0,0 +1,20 @@ +/* + * arch/arm/mach-bcm2708/include/mach/vmalloc.h @@ -5955,10 +7153,10 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-3.6.7. + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#define VMALLOC_END (0xe8000000) -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Kconfig linux-3.6.7.patch/arch/arm/mach-bcm2708/Kconfig +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Kconfig linux-rpi-3.6.7/arch/arm/mach-bcm2708/Kconfig --- linux-3.6.7/arch/arm/mach-bcm2708/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/Kconfig 2012-11-18 20:53:35.140715731 +0100 -@@ -0,0 +1,34 @@ ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/Kconfig 2012-11-30 02:33:56.644269143 +0100 +@@ -0,0 +1,41 @@ +menu "Broadcom BCM2708 Implementations" + depends on ARCH_BCM2708 + @@ -5992,11 +7190,18 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Kconfig linux-3.6.7.patch/arch/arm/ + help + Do not allow ARM to use GPU's L2 cache. Requires disable_l2cache in config.txt. + ++config BCM2708_DMAER ++ tristate "BCM2708 DMA helper" ++ depends on MACH_BCM2708 ++ default n ++ help ++ Enable DMA helper for accelerating X composition ++ +endmenu -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Makefile linux-3.6.7.patch/arch/arm/mach-bcm2708/Makefile +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Makefile linux-rpi-3.6.7/arch/arm/mach-bcm2708/Makefile --- linux-3.6.7/arch/arm/mach-bcm2708/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/Makefile 2012-11-18 20:53:35.140715731 +0100 -@@ -0,0 +1,8 @@ ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/Makefile 2012-11-30 02:33:56.630268860 +0100 +@@ -0,0 +1,9 @@ +# +# Makefile for the linux kernel. +# @@ -6004,17 +7209,18 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Makefile linux-3.6.7.patch/arch/arm +obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o delay.o +obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o +obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o ++obj-$(CONFIG_BCM2708_DMAER) += dmaer.o + -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Makefile.boot linux-3.6.7.patch/arch/arm/mach-bcm2708/Makefile.boot +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/Makefile.boot linux-rpi-3.6.7/arch/arm/mach-bcm2708/Makefile.boot --- linux-3.6.7/arch/arm/mach-bcm2708/Makefile.boot 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/Makefile.boot 2012-11-18 20:53:35.141715749 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/Makefile.boot 2012-11-30 02:33:56.502266312 +0100 @@ -0,0 +1,3 @@ + zreladdr-y := 0x00008000 +params_phys-y := 0x00000100 +initrd_phys-y := 0x00800000 -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/power.c linux-3.6.7.patch/arch/arm/mach-bcm2708/power.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/power.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/power.c --- linux-3.6.7/arch/arm/mach-bcm2708/power.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/power.c 2012-11-18 20:53:35.141715749 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/power.c 2012-11-30 02:33:56.630268860 +0100 @@ -0,0 +1,194 @@ +/* + * linux/arch/arm/mach-bcm2708/power.c @@ -6210,10 +7416,10 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/power.c linux-3.6.7.patch/arch/arm/ +MODULE_AUTHOR("Phil Elwell"); +MODULE_DESCRIPTION("Interface to BCM2708 power management"); +MODULE_LICENSE("GPL"); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/mach-bcm2708/vcio.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/vcio.c --- linux-3.6.7/arch/arm/mach-bcm2708/vcio.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/vcio.c 2012-11-18 20:53:35.142715768 +0100 -@@ -0,0 +1,338 @@ ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/vcio.c 2012-11-30 02:33:56.644269143 +0100 +@@ -0,0 +1,471 @@ +/* + * linux/arch/arm/mach-bcm2708/vcio.c + * @@ -6253,6 +7459,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m +#include +#include + ++#include ++ ++ +#define DRIVER_NAME BCM_VCIO_DRIVER_NAME + +/* ---------------------------------------------------------------------- @@ -6432,6 +7641,33 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m + mbox_dev = dev; +} + ++static int mbox_copy_from_user(void *dst, const void *src, int size) ++{ ++ if ( (uint32_t)src < TASK_SIZE) ++ { ++ return copy_from_user(dst, src, size); ++ } ++ else ++ { ++ memcpy( dst, src, size ); ++ return 0; ++ } ++} ++ ++static int mbox_copy_to_user(void *dst, const void *src, int size) ++{ ++ if ( (uint32_t)dst < TASK_SIZE) ++ { ++ return copy_to_user(dst, src, size); ++ } ++ else ++ { ++ memcpy( dst, src, size ); ++ return 0; ++ } ++} ++ ++ +extern int bcm_mailbox_property(void *data, int size) +{ + uint32_t success; @@ -6443,7 +7679,7 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m + mem_kern = dma_alloc_coherent(NULL, PAGE_ALIGN(size), &mem_bus, GFP_ATOMIC); + if (mem_kern) { + /* create the message */ -+ memcpy(mem_kern, data, size); ++ mbox_copy_from_user(mem_kern, data, size); + + /* send the message */ + wmb(); @@ -6454,7 +7690,7 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m + if (s == 0) { + /* copy the response */ + rmb(); -+ memcpy(data, mem_kern, size); ++ mbox_copy_to_user(data, mem_kern, size); + } + dma_free_coherent(NULL, PAGE_ALIGN(size), mem_kern, mem_bus); + } else { @@ -6470,6 +7706,93 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m + * Platform Device for Mailbox + * -------------------------------------------------------------------- */ + ++/* ++ * Is the device open right now? Used to prevent ++ * concurent access into the same device ++ */ ++static int Device_Open = 0; ++ ++/* ++ * This is called whenever a process attempts to open the device file ++ */ ++static int device_open(struct inode *inode, struct file *file) ++{ ++ /* ++ * We don't want to talk to two processes at the same time ++ */ ++ if (Device_Open) ++ return -EBUSY; ++ ++ Device_Open++; ++ /* ++ * Initialize the message ++ */ ++ try_module_get(THIS_MODULE); ++ return 0; ++} ++ ++static int device_release(struct inode *inode, struct file *file) ++{ ++ /* ++ * We're now ready for our next caller ++ */ ++ Device_Open--; ++ ++ module_put(THIS_MODULE); ++ return 0; ++} ++ ++/* ++ * This function is called whenever a process tries to do an ioctl on our ++ * device file. We get two extra parameters (additional to the inode and file ++ * structures, which all device functions get): the number of the ioctl called ++ * and the parameter given to the ioctl function. ++ * ++ * If the ioctl is write or read/write (meaning output is returned to the ++ * calling process), the ioctl call returns the output of this function. ++ * ++ */ ++static long device_ioctl(struct file *file, /* see include/linux/fs.h */ ++ unsigned int ioctl_num, /* number and param for ioctl */ ++ unsigned long ioctl_param) ++{ ++ unsigned size; ++ /* ++ * Switch according to the ioctl called ++ */ ++ switch (ioctl_num) { ++ case IOCTL_MBOX_PROPERTY: ++ /* ++ * Receive a pointer to a message (in user space) and set that ++ * to be the device's message. Get the parameter given to ++ * ioctl by the process. ++ */ ++ mbox_copy_from_user(&size, (void *)ioctl_param, sizeof size); ++ return bcm_mailbox_property((void *)ioctl_param, size); ++ break; ++ default: ++ printk(KERN_ERR DRIVER_NAME "unknown ioctl: %d\n", ioctl_num); ++ return -EINVAL; ++ } ++ ++ return 0; ++} ++ ++/* Module Declarations */ ++ ++/* ++ * This structure will hold the functions to be called ++ * when a process does something to the device we ++ * created. Since a pointer to this structure is kept in ++ * the devices table, it can't be local to ++ * init_module. NULL is for unimplemented functios. ++ */ ++struct file_operations fops = { ++ .unlocked_ioctl = device_ioctl, ++ .open = device_open, ++ .release = device_release, /* a.k.a. close */ ++}; ++ +static int bcm_vcio_probe(struct platform_device *pdev) +{ + int ret = 0; @@ -6502,6 +7825,22 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m + __io_address(ARM_0_MAIL0_RD)); + } + } ++ ++ if (ret == 0) { ++ /* ++ * Register the character device ++ */ ++ ret = register_chrdev(MAJOR_NUM, DEVICE_FILE_NAME, &fops); ++ ++ /* ++ * Negative values signify an error ++ */ ++ if (ret < 0) { ++ printk(KERN_ERR DRIVER_NAME ++ "Failed registering the character device %d\n", ret); ++ return ret; ++ } ++ } + return ret; +} + @@ -6552,9 +7891,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vcio.c linux-3.6.7.patch/arch/arm/m +MODULE_DESCRIPTION("ARM I/O to VideoCore processor"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm-mbox"); -diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vc_mem.c linux-3.6.7.patch/arch/arm/mach-bcm2708/vc_mem.c +diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vc_mem.c linux-rpi-3.6.7/arch/arm/mach-bcm2708/vc_mem.c --- linux-3.6.7/arch/arm/mach-bcm2708/vc_mem.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mach-bcm2708/vc_mem.c 2012-11-18 20:53:35.143715786 +0100 ++++ linux-rpi-3.6.7/arch/arm/mach-bcm2708/vc_mem.c 2012-11-30 02:33:56.523266735 +0100 @@ -0,0 +1,458 @@ +/***************************************************************************** +* Copyright 2010 - 2011 Broadcom Corporation. All rights reserved. @@ -7014,9 +8353,9 @@ diff -Naur linux-3.6.7/arch/arm/mach-bcm2708/vc_mem.c linux-3.6.7.patch/arch/arm +module_param(mem_size, uint, 0644); +module_param(mem_base, uint, 0644); + -diff -Naur linux-3.6.7/arch/arm/Makefile linux-3.6.7.patch/arch/arm/Makefile +diff -Naur linux-3.6.7/arch/arm/Makefile linux-rpi-3.6.7/arch/arm/Makefile --- linux-3.6.7/arch/arm/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/Makefile 2012-11-18 20:53:35.143715786 +0100 ++++ linux-rpi-3.6.7/arch/arm/Makefile 2012-11-30 02:34:01.455365567 +0100 @@ -198,6 +198,7 @@ machine-$(CONFIG_MACH_SPEAR320) := spear3xx machine-$(CONFIG_MACH_SPEAR600) := spear6xx @@ -7025,9 +8364,9 @@ diff -Naur linux-3.6.7/arch/arm/Makefile linux-3.6.7.patch/arch/arm/Makefile # Platform directory name. This list is sorted alphanumerically # by CONFIG_* macro name. -diff -Naur linux-3.6.7/arch/arm/mm/alignment.c linux-3.6.7.patch/arch/arm/mm/alignment.c +diff -Naur linux-3.6.7/arch/arm/mm/alignment.c linux-rpi-3.6.7/arch/arm/mm/alignment.c --- linux-3.6.7/arch/arm/mm/alignment.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mm/alignment.c 2012-11-18 20:53:35.144715804 +0100 ++++ linux-rpi-3.6.7/arch/arm/mm/alignment.c 2012-11-30 02:33:59.273321574 +0100 @@ -856,9 +856,11 @@ case 0x08000000: /* ldm or stm, or thumb-2 32bit instruction */ if (thumb2_32b) @@ -7042,9 +8381,9 @@ diff -Naur linux-3.6.7/arch/arm/mm/alignment.c linux-3.6.7.patch/arch/arm/mm/ali default: goto bad; -diff -Naur linux-3.6.7/arch/arm/mm/Kconfig linux-3.6.7.patch/arch/arm/mm/Kconfig +diff -Naur linux-3.6.7/arch/arm/mm/Kconfig linux-rpi-3.6.7/arch/arm/mm/Kconfig --- linux-3.6.7/arch/arm/mm/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mm/Kconfig 2012-11-18 20:53:35.145715823 +0100 ++++ linux-rpi-3.6.7/arch/arm/mm/Kconfig 2012-11-30 02:33:59.290321920 +0100 @@ -354,7 +354,7 @@ # ARMv6 @@ -7054,9 +8393,9 @@ diff -Naur linux-3.6.7/arch/arm/mm/Kconfig linux-3.6.7.patch/arch/arm/mm/Kconfig select CPU_32v6 select CPU_ABRT_EV6 select CPU_PABRT_V6 -diff -Naur linux-3.6.7/arch/arm/mm/proc-v6.S linux-3.6.7.patch/arch/arm/mm/proc-v6.S +diff -Naur linux-3.6.7/arch/arm/mm/proc-v6.S linux-rpi-3.6.7/arch/arm/mm/proc-v6.S --- linux-3.6.7/arch/arm/mm/proc-v6.S 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/mm/proc-v6.S 2012-11-18 20:53:35.146715843 +0100 ++++ linux-rpi-3.6.7/arch/arm/mm/proc-v6.S 2012-11-30 02:33:59.276321636 +0100 @@ -73,10 +73,19 @@ * * IRQs are already disabled. @@ -7080,9 +8419,9 @@ diff -Naur linux-3.6.7/arch/arm/mm/proc-v6.S linux-3.6.7.patch/arch/arm/mm/proc- mov pc, lr ENTRY(cpu_v6_dcache_clean_area) -diff -Naur linux-3.6.7/arch/arm/tools/mach-types linux-3.6.7.patch/arch/arm/tools/mach-types +diff -Naur linux-3.6.7/arch/arm/tools/mach-types linux-rpi-3.6.7/arch/arm/tools/mach-types --- linux-3.6.7/arch/arm/tools/mach-types 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/arch/arm/tools/mach-types 2012-11-18 20:53:35.147715863 +0100 ++++ linux-rpi-3.6.7/arch/arm/tools/mach-types 2012-11-30 02:33:57.696290176 +0100 @@ -519,6 +519,7 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB 3103 paz00 MACH_PAZ00 PAZ00 3128 @@ -7091,9 +8430,9 @@ diff -Naur linux-3.6.7/arch/arm/tools/mach-types linux-3.6.7.patch/arch/arm/tool ag5evm MACH_AG5EVM AG5EVM 3189 tsunagi MACH_TSUNAGI TSUNAGI 3197 ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 -diff -Naur linux-3.6.7/drivers/char/broadcom/Kconfig linux-3.6.7.patch/drivers/char/broadcom/Kconfig +diff -Naur linux-3.6.7/drivers/char/broadcom/Kconfig linux-rpi-3.6.7/drivers/char/broadcom/Kconfig --- linux-3.6.7/drivers/char/broadcom/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/broadcom/Kconfig 2012-11-18 20:53:35.147715863 +0100 ++++ linux-rpi-3.6.7/drivers/char/broadcom/Kconfig 2012-11-30 02:32:44.033831455 +0100 @@ -0,0 +1,18 @@ +# +# Broadcom char driver config @@ -7113,15 +8452,15 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/Kconfig linux-3.6.7.patch/drivers/c + help + Helper for videocore CMA access. + -diff -Naur linux-3.6.7/drivers/char/broadcom/Makefile linux-3.6.7.patch/drivers/char/broadcom/Makefile +diff -Naur linux-3.6.7/drivers/char/broadcom/Makefile linux-rpi-3.6.7/drivers/char/broadcom/Makefile --- linux-3.6.7/drivers/char/broadcom/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/broadcom/Makefile 2012-11-18 20:53:35.147715863 +0100 ++++ linux-rpi-3.6.7/drivers/char/broadcom/Makefile 2012-11-30 02:32:44.033831455 +0100 @@ -0,0 +1,2 @@ +obj-$(CONFIG_BCM_VC_CMA) += vc_cma/ + -diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/Makefile linux-3.6.7.patch/drivers/char/broadcom/vc_cma/Makefile +diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/Makefile linux-rpi-3.6.7/drivers/char/broadcom/vc_cma/Makefile --- linux-3.6.7/drivers/char/broadcom/vc_cma/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/broadcom/vc_cma/Makefile 2012-11-18 20:53:35.148715882 +0100 ++++ linux-rpi-3.6.7/drivers/char/broadcom/vc_cma/Makefile 2012-11-30 02:32:44.034831475 +0100 @@ -0,0 +1,15 @@ +EXTRA_CFLAGS += -Wall -Wstrict-prototypes -Wno-trigraphs +EXTRA_CFLAGS += -Werror @@ -7138,10 +8477,10 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/Makefile linux-3.6.7.patch/d + +vc-cma-objs := vc_cma.o + -diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/drivers/char/broadcom/vc_cma/vc_cma.c +diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-rpi-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c --- linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/broadcom/vc_cma/vc_cma.c 2012-11-18 20:53:35.149715901 +0100 -@@ -0,0 +1,886 @@ ++++ linux-rpi-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c 2012-11-30 02:32:44.034831475 +0100 +@@ -0,0 +1,1126 @@ +/***************************************************************************** +* Copyright 2012 Broadcom Corporation. All rights reserved. +* @@ -7169,12 +8508,14 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +#include +#include +#include -+ ++#include + +#include "vc_cma.h" + +#include "vchiq_util.h" +#include "vchiq_connected.h" ++//#include "debug_sym.h" ++//#include "vc_mem.h" + +#define DRIVER_NAME "vc-cma" + @@ -7187,7 +8528,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +#define VC_CMA_FOURCC VCHIQ_MAKE_FOURCC('C', 'M', 'A', ' ') +#define VC_CMA_VERSION 2 + -+#define VC_CMA_CHUNK_ORDER 6 /* 256K */ ++#define VC_CMA_CHUNK_ORDER 6 /* 256K */ +#define VC_CMA_CHUNK_SIZE (4096 << VC_CMA_CHUNK_ORDER) +#define VC_CMA_MAX_PARAMS_PER_MSG \ + ((VCHIQ_MAX_MSG_SIZE - sizeof(unsigned short))/sizeof(unsigned short)) @@ -7195,16 +8536,21 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + +#define PAGES_PER_CHUNK (VC_CMA_CHUNK_SIZE / PAGE_SIZE) + ++#define VCADDR_TO_PHYSADDR(vcaddr) (mm_vc_mem_phys_addr + vcaddr) ++ ++#define loud_error(...) \ ++ LOG_ERR("===== " __VA_ARGS__) ++ +enum { + VC_CMA_MSG_QUIT, + VC_CMA_MSG_OPEN, + VC_CMA_MSG_TICK, -+ VC_CMA_MSG_ALLOC, /* chunk count */ -+ VC_CMA_MSG_FREE, /* chunk, chunk, ... */ -+ VC_CMA_MSG_ALLOCATED, /* chunk, chunk, ... */ -+ VC_CMA_MSG_REQUEST_ALLOC, /* chunk count */ -+ VC_CMA_MSG_REQUEST_FREE, /* chunk count */ -+ VC_CMA_MSG_RESERVE, /* bytes lo, bytes hi */ ++ VC_CMA_MSG_ALLOC, /* chunk count */ ++ VC_CMA_MSG_FREE, /* chunk, chunk, ... */ ++ VC_CMA_MSG_ALLOCATED, /* chunk, chunk, ... */ ++ VC_CMA_MSG_REQUEST_ALLOC, /* chunk count */ ++ VC_CMA_MSG_REQUEST_FREE, /* chunk count */ ++ VC_CMA_MSG_RESERVE, /* bytes lo, bytes hi */ + VC_CMA_MSG_UPDATE_RESERVE, + VC_CMA_MSG_MAX +}; @@ -7220,38 +8566,40 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +}; + +/* Device (/dev) related variables */ -+static dev_t vc_cma_devnum; ++static dev_t vc_cma_devnum; +static struct class *vc_cma_class; -+static struct cdev vc_cma_cdev; -+static int vc_cma_inited; -+static int vc_cma_debug; ++static struct cdev vc_cma_cdev; ++static int vc_cma_inited; ++static int vc_cma_debug; + +/* Proc entry */ +static struct proc_dir_entry *vc_cma_proc_entry; + -+phys_addr_t vc_cma_base; -+struct page *vc_cma_base_page; -+unsigned int vc_cma_size; ++phys_addr_t vc_cma_base; ++struct page *vc_cma_base_page; ++unsigned int vc_cma_size; +EXPORT_SYMBOL(vc_cma_size); -+unsigned int vc_cma_initial; -+unsigned int vc_cma_chunks; -+unsigned int vc_cma_chunks_used; -+unsigned int vc_cma_chunks_reserved; ++unsigned int vc_cma_initial; ++unsigned int vc_cma_chunks; ++unsigned int vc_cma_chunks_used; ++unsigned int vc_cma_chunks_reserved; + -+unsigned int vc_cma_reserve_total; -+unsigned int vc_cma_reserve_count; ++static int in_loud_error; ++ ++unsigned int vc_cma_reserve_total; ++unsigned int vc_cma_reserve_count; +struct vc_cma_reserve_user vc_cma_reserve_users[VC_CMA_RESERVE_COUNT_MAX]; +static DEFINE_SEMAPHORE(vc_cma_reserve_mutex); +static DEFINE_SEMAPHORE(vc_cma_worker_queue_push_mutex); + +static u64 vc_cma_dma_mask = DMA_BIT_MASK(32); +static struct platform_device vc_cma_device = { -+ .name = "vc-cma", -+ .id = 0, -+ .dev = { -+ .dma_mask = &vc_cma_dma_mask, -+ .coherent_dma_mask = DMA_BIT_MASK(32), -+ }, ++ .name = "vc-cma", ++ .id = 0, ++ .dev = { ++ .dma_mask = &vc_cma_dma_mask, ++ .coherent_dma_mask = DMA_BIT_MASK(32), ++ }, +}; + +static VCHIQ_INSTANCE_T cma_instance; @@ -7261,16 +8609,13 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + +static int vc_cma_set_reserve(unsigned int reserve, unsigned int pid); +static int vc_cma_alloc_chunks(int num_chunks, struct cma_msg *reply); -+static VCHIQ_STATUS_T cma_service_callback( -+ VCHIQ_REASON_T reason, -+ VCHIQ_HEADER_T *header, -+ VCHIQ_SERVICE_HANDLE_T service, -+ void *bulk_userdata); -+static void send_vc_msg( -+ unsigned short type, -+ unsigned short param1, -+ unsigned short param2); -+static bool send_worker_msg(VCHIQ_HEADER_T *msg); ++static VCHIQ_STATUS_T cma_service_callback(VCHIQ_REASON_T reason, ++ VCHIQ_HEADER_T * header, ++ VCHIQ_SERVICE_HANDLE_T service, ++ void *bulk_userdata); ++static void send_vc_msg(unsigned short type, ++ unsigned short param1, unsigned short param2); ++static bool send_worker_msg(VCHIQ_HEADER_T * msg); + +static int __init early_vc_cma_mem(char *p) +{ @@ -7284,18 +8629,18 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + vc_cma_base = memparse(p + 1, &p); + + new_size = (vc_cma_size - ((-vc_cma_base) & (VC_CMA_CHUNK_SIZE - 1))) -+ & ~(VC_CMA_CHUNK_SIZE - 1); ++ & ~(VC_CMA_CHUNK_SIZE - 1); + if (new_size > vc_cma_size) + vc_cma_size = 0; + vc_cma_initial = (vc_cma_initial + VC_CMA_CHUNK_SIZE - 1) -+ & ~(VC_CMA_CHUNK_SIZE - 1); ++ & ~(VC_CMA_CHUNK_SIZE - 1); + if (vc_cma_initial > vc_cma_size) + vc_cma_initial = vc_cma_size; + vc_cma_base = (vc_cma_base + VC_CMA_CHUNK_SIZE - 1) -+ & ~(VC_CMA_CHUNK_SIZE - 1); ++ & ~(VC_CMA_CHUNK_SIZE - 1); + + printk(KERN_ERR " -> initial %x, size %x, base %x", vc_cma_initial, -+ vc_cma_size, (unsigned int)vc_cma_base); ++ vc_cma_size, (unsigned int)vc_cma_base); + + return 0; +} @@ -7317,8 +8662,8 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + * size from the end of memory + */ + if (vc_cma_size) { -+ if (dma_declare_contiguous(&vc_cma_device.dev, vc_cma_size, -+ vc_cma_base, 0) == 0) { ++ if (dma_declare_contiguous(NULL /*&vc_cma_device.dev*/, vc_cma_size, ++ vc_cma_base, 0) == 0) { + } else { + LOG_ERR("vc_cma: dma_declare_contiguous(%x,%x) failed", + vc_cma_size, (unsigned int)vc_cma_base); @@ -7385,7 +8730,6 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return rc; +} + -+ +/**************************************************************************** +* +* File Operations for the driver. @@ -7393,9 +8737,9 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +***************************************************************************/ + +static const struct file_operations vc_cma_fops = { -+ .owner = THIS_MODULE, -+ .open = vc_cma_open, -+ .release = vc_cma_release, ++ .owner = THIS_MODULE, ++ .open = vc_cma_open, ++ .release = vc_cma_release, + .unlocked_ioctl = vc_cma_ioctl, +}; + @@ -7415,19 +8759,19 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + seq_printf(m, " Initial : %08x\n", vc_cma_initial); + seq_printf(m, " Chunk size : %08x\n", VC_CMA_CHUNK_SIZE); + seq_printf(m, " Chunks : %4d (%d bytes)\n", -+ (int)vc_cma_chunks, -+ (int)(vc_cma_chunks * VC_CMA_CHUNK_SIZE)); ++ (int)vc_cma_chunks, ++ (int)(vc_cma_chunks * VC_CMA_CHUNK_SIZE)); + seq_printf(m, " Used : %4d (%d bytes)\n", -+ (int)vc_cma_chunks_used, -+ (int)(vc_cma_chunks_used * VC_CMA_CHUNK_SIZE)); ++ (int)vc_cma_chunks_used, ++ (int)(vc_cma_chunks_used * VC_CMA_CHUNK_SIZE)); + seq_printf(m, " Reserved : %4d (%d bytes)\n", -+ (unsigned int)vc_cma_chunks_reserved, -+ (int)(vc_cma_chunks_reserved * VC_CMA_CHUNK_SIZE)); ++ (unsigned int)vc_cma_chunks_reserved, ++ (int)(vc_cma_chunks_reserved * VC_CMA_CHUNK_SIZE)); + + for (i = 0; i < vc_cma_reserve_count; i++) { + struct vc_cma_reserve_user *user = &vc_cma_reserve_users[i]; + seq_printf(m, " PID %5d: %d bytes\n", user->pid, -+ user->reserve); ++ user->reserve); + } + + seq_printf(m, "\n"); @@ -7446,11 +8790,9 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +* +***************************************************************************/ + -+static int vc_cma_proc_write( -+ struct file *file, -+ const char __user *buffer, -+ size_t size, -+ loff_t *ppos) ++static int vc_cma_proc_write(struct file *file, ++ const char __user *buffer, ++ size_t size, loff_t *ppos) +{ + int rc = -EFAULT; + char input_str[20]; @@ -7466,7 +8808,6 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + LOG_ERR("%s: failed to get input string", __func__); + goto out; + } -+ +#define ALLOC_STR "alloc" +#define FREE_STR "free" +#define DEBUG_STR "debug" @@ -7481,12 +8822,11 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + LOG_ERR("/proc/vc-cma: alloc %d", size); + if (size) + send_vc_msg(VC_CMA_MSG_REQUEST_FREE, -+ size / VC_CMA_CHUNK_SIZE, 0); ++ size / VC_CMA_CHUNK_SIZE, 0); + else + LOG_ERR("invalid size '%s'", p); + rc = size; -+ } else if (strncmp(input_str, FREE_STR, -+ strlen(FREE_STR)) == 0) { ++ } else if (strncmp(input_str, FREE_STR, strlen(FREE_STR)) == 0) { + int size; + char *p = input_str + strlen(FREE_STR); + @@ -7496,7 +8836,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + LOG_ERR("/proc/vc-cma: free %d", size); + if (size) + send_vc_msg(VC_CMA_MSG_REQUEST_ALLOC, -+ size / VC_CMA_CHUNK_SIZE, 0); ++ size / VC_CMA_CHUNK_SIZE, 0); + else + LOG_ERR("invalid size '%s'", p); + rc = size; @@ -7526,7 +8866,6 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return rc; +} + -+ +/**************************************************************************** +* +* File Operations for /proc interface. @@ -7541,7 +8880,6 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + .release = single_release +}; + -+ +static int vc_cma_set_reserve(unsigned int reserve, unsigned int pid) +{ + struct vc_cma_reserve_user *user = NULL; @@ -7589,10 +8927,9 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + vc_cma_reserve_total += delta; + + send_vc_msg(VC_CMA_MSG_RESERVE, -+ vc_cma_reserve_total & 0xffff, -+ vc_cma_reserve_total >> 16); ++ vc_cma_reserve_total & 0xffff, vc_cma_reserve_total >> 16); + -+ send_worker_msg((VCHIQ_HEADER_T *)VC_CMA_MSG_UPDATE_RESERVE); ++ send_worker_msg((VCHIQ_HEADER_T *) VC_CMA_MSG_UPDATE_RESERVE); + + LOG_DBG("/proc/vc-cma: reserve %d (PID %d) - total %u", + reserve, pid, vc_cma_reserve_total); @@ -7602,11 +8939,10 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return vc_cma_reserve_total; +} + -+static VCHIQ_STATUS_T cma_service_callback( -+ VCHIQ_REASON_T reason, -+ VCHIQ_HEADER_T *header, -+ VCHIQ_SERVICE_HANDLE_T service, -+ void *bulk_userdata) ++static VCHIQ_STATUS_T cma_service_callback(VCHIQ_REASON_T reason, ++ VCHIQ_HEADER_T * header, ++ VCHIQ_SERVICE_HANDLE_T service, ++ void *bulk_userdata) +{ + switch (reason) { + case VCHIQ_MESSAGE_AVAILABLE: @@ -7623,10 +8959,8 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return VCHIQ_SUCCESS; +} + -+static void send_vc_msg( -+ unsigned short type, -+ unsigned short param1, -+ unsigned short param2) ++static void send_vc_msg(unsigned short type, ++ unsigned short param1, unsigned short param2) +{ + unsigned short msg[] = { type, param1, param2 }; + VCHIQ_ELEMENT_T elem = { &msg, sizeof(msg) }; @@ -7638,7 +8972,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + LOG_ERR("vchiq_queue_message returned %x", ret); +} + -+static bool send_worker_msg(VCHIQ_HEADER_T *msg) ++static bool send_worker_msg(VCHIQ_HEADER_T * msg) +{ + if (down_interruptible(&vc_cma_worker_queue_push_mutex)) + return false; @@ -7653,26 +8987,33 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + for (i = 0; i < num_chunks; i++) { + struct page *chunk; + unsigned int chunk_num; -+ chunk = dma_alloc_from_contiguous( -+ &vc_cma_device.dev, -+ PAGES_PER_CHUNK, -+ VC_CMA_CHUNK_ORDER); ++ uint8_t *chunk_addr; ++ size_t chunk_size = PAGES_PER_CHUNK << PAGE_SHIFT; ++ ++ chunk = dma_alloc_from_contiguous(NULL /*&vc_cma_device.dev*/, ++ PAGES_PER_CHUNK, ++ VC_CMA_CHUNK_ORDER); + if (!chunk) + break; ++ ++ chunk_addr = page_address(chunk); ++ dmac_flush_range(chunk_addr, chunk_addr + chunk_size); ++ outer_inv_range(__pa(chunk_addr), __pa(chunk_addr) + ++ chunk_size); ++ + chunk_num = -+ (page_to_phys(chunk) - vc_cma_base) / -+ VC_CMA_CHUNK_SIZE; ++ (page_to_phys(chunk) - vc_cma_base) / VC_CMA_CHUNK_SIZE; + BUG_ON(((page_to_phys(chunk) - vc_cma_base) % + VC_CMA_CHUNK_SIZE) != 0); -+ if (chunk_num >= vc_cma_chunks) -+ { ++ if (chunk_num >= vc_cma_chunks) { + LOG_ERR("%s: ===============================", + __func__); + LOG_ERR("%s: chunk phys %x, vc_cma %x-%x - " + "bad SPARSEMEM configuration?", + __func__, (unsigned int)page_to_phys(chunk), + vc_cma_base, vc_cma_base + vc_cma_size - 1); -+ LOG_ERR("%s: dev->cma_area = %p\n", __func__, vc_cma_device.dev.cma_area); ++ LOG_ERR("%s: dev->cma_area = %p\n", __func__, ++ vc_cma_device.dev.cma_area); + LOG_ERR("%s: ===============================", + __func__); + break; @@ -7685,8 +9026,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + LOG_ERR("%s: dma_alloc_from_contiguous failed " + "for %x bytes (alloc %d of %d, %d free)", + __func__, VC_CMA_CHUNK_SIZE, i, -+ num_chunks, -+ vc_cma_chunks - vc_cma_chunks_used); ++ num_chunks, vc_cma_chunks - vc_cma_chunks_used); + num_chunks = i; + } + @@ -7698,16 +9038,14 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + VCHIQ_ELEMENT_T elem = { + reply, + offsetof(struct cma_msg, params[0]) + -+ num_chunks * sizeof(reply->params[0]) ++ num_chunks * sizeof(reply->params[0]) + }; + VCHIQ_STATUS_T ret; + vchiq_use_service(cma_service); -+ ret = vchiq_queue_message(cma_service, -+ &elem, 1); ++ ret = vchiq_queue_message(cma_service, &elem, 1); + vchiq_release_service(cma_service); + if (ret != VCHIQ_SUCCESS) -+ LOG_ERR("vchiq_queue_message return " -+ "%x", ret); ++ LOG_ERR("vchiq_queue_message return " "%x", ret); + } + + return num_chunks; @@ -7745,93 +9083,106 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + } + + switch (type) { -+ case VC_CMA_MSG_ALLOC: { -+ int num_chunks, free_chunks; -+ num_chunks = cma_msg->params[0]; -+ free_chunks = vc_cma_chunks - vc_cma_chunks_used; -+ LOG_DBG("CMA_MSG_ALLOC(%d chunks)", num_chunks); -+ if (num_chunks > VC_CMA_MAX_PARAMS_PER_MSG) { -+ LOG_ERR("CMA_MSG_ALLOC - chunk count (%d) " -+ "exceeds VC_CMA_MAX_PARAMS_PER_MSG (%d)", -+ num_chunks, VC_CMA_MAX_PARAMS_PER_MSG); -+ num_chunks = VC_CMA_MAX_PARAMS_PER_MSG; -+ } -+ -+ if (num_chunks > free_chunks) { -+ LOG_ERR("CMA_MSG_ALLOC - chunk count (%d) " -+ "exceeds free chunks (%d)", -+ num_chunks, free_chunks); -+ num_chunks = free_chunks; -+ } -+ -+ vc_cma_alloc_chunks(num_chunks, &reply); -+ } -+ break; -+ -+ case VC_CMA_MSG_FREE: { -+ int chunk_count = -+ (msg_size - offsetof(struct cma_msg, params))/ -+ sizeof(cma_msg->params[0]); -+ int i; -+ BUG_ON(chunk_count <= 0); -+ -+ LOG_DBG("CMA_MSG_FREE(%d chunks - %x, ...)", -+ chunk_count, cma_msg->params[0]); -+ for (i = 0; i < chunk_count; i++) { -+ int chunk_num = cma_msg->params[i]; -+ struct page *page = vc_cma_base_page + -+ chunk_num * PAGES_PER_CHUNK; -+ if (chunk_num >= vc_cma_chunks) { -+ LOG_ERR("CMA_MSG_FREE - chunk %d of %d" -+ " (value %x) exceeds maximum " -+ "(%x)", -+ i, chunk_count, chunk_num, -+ vc_cma_chunks - 1); -+ break; ++ case VC_CMA_MSG_ALLOC:{ ++ int num_chunks, free_chunks; ++ num_chunks = cma_msg->params[0]; ++ free_chunks = ++ vc_cma_chunks - vc_cma_chunks_used; ++ LOG_DBG("CMA_MSG_ALLOC(%d chunks)", num_chunks); ++ if (num_chunks > VC_CMA_MAX_PARAMS_PER_MSG) { ++ LOG_ERR ++ ("CMA_MSG_ALLOC - chunk count (%d) " ++ "exceeds VC_CMA_MAX_PARAMS_PER_MSG (%d)", ++ num_chunks, ++ VC_CMA_MAX_PARAMS_PER_MSG); ++ num_chunks = VC_CMA_MAX_PARAMS_PER_MSG; + } + -+ if (!dma_release_from_contiguous( -+ &vc_cma_device.dev, -+ page, PAGES_PER_CHUNK)) { -+ LOG_ERR("CMA_MSG_FREE - failed to " -+ "release chunk %d (phys %x, " -+ "page %x)", -+ chunk_num, page_to_phys(page), -+ (unsigned int)page); ++ if (num_chunks > free_chunks) { ++ LOG_ERR ++ ("CMA_MSG_ALLOC - chunk count (%d) " ++ "exceeds free chunks (%d)", ++ num_chunks, free_chunks); ++ num_chunks = free_chunks; + } -+ vc_cma_chunks_used--; ++ ++ vc_cma_alloc_chunks(num_chunks, &reply); + } -+ LOG_DBG("CMA released %d chunks -> %d used", -+ i, vc_cma_chunks_used); -+ } -+ break; ++ break; + -+ case VC_CMA_MSG_UPDATE_RESERVE: { -+ int chunks_needed = -+ ((vc_cma_reserve_total + VC_CMA_CHUNK_SIZE - 1) -+ / VC_CMA_CHUNK_SIZE) - -+ vc_cma_chunks_reserved; ++ case VC_CMA_MSG_FREE:{ ++ int chunk_count = ++ (msg_size - ++ offsetof(struct cma_msg, ++ params)) / ++ sizeof(cma_msg->params[0]); ++ int i; ++ BUG_ON(chunk_count <= 0); + -+ LOG_DBG("CMA_MSG_UPDATE_RESERVE(%d chunks needed)", -+ chunks_needed); ++ LOG_DBG("CMA_MSG_FREE(%d chunks - %x, ...)", ++ chunk_count, cma_msg->params[0]); ++ for (i = 0; i < chunk_count; i++) { ++ int chunk_num = cma_msg->params[i]; ++ struct page *page = vc_cma_base_page + ++ chunk_num * PAGES_PER_CHUNK; ++ if (chunk_num >= vc_cma_chunks) { ++ LOG_ERR ++ ("CMA_MSG_FREE - chunk %d of %d" ++ " (value %x) exceeds maximum " ++ "(%x)", i, chunk_count, ++ chunk_num, ++ vc_cma_chunks - 1); ++ break; ++ } ++ ++ if (!dma_release_from_contiguous ++ (NULL /*&vc_cma_device.dev*/, page, ++ PAGES_PER_CHUNK)) { ++ LOG_ERR ++ ("CMA_MSG_FREE - failed to " ++ "release chunk %d (phys %x, " ++ "page %x)", chunk_num, ++ page_to_phys(page), ++ (unsigned int)page); ++ } ++ vc_cma_chunks_used--; ++ } ++ LOG_DBG("CMA released %d chunks -> %d used", ++ i, vc_cma_chunks_used); ++ } ++ break; ++ ++ case VC_CMA_MSG_UPDATE_RESERVE:{ ++ int chunks_needed = ++ ((vc_cma_reserve_total + VC_CMA_CHUNK_SIZE - ++ 1) ++ / VC_CMA_CHUNK_SIZE) - ++ vc_cma_chunks_reserved; ++ ++ LOG_DBG ++ ("CMA_MSG_UPDATE_RESERVE(%d chunks needed)", ++ chunks_needed); ++ ++ /* Cap the reservations to what is available */ ++ if (chunks_needed > 0) { ++ if (chunks_needed > ++ (vc_cma_chunks - ++ vc_cma_chunks_used)) ++ chunks_needed = ++ (vc_cma_chunks - ++ vc_cma_chunks_used); + -+ /* Cap the reservations to what is available */ -+ if (chunks_needed > 0) { -+ if (chunks_needed > -+ (vc_cma_chunks - vc_cma_chunks_used)) + chunks_needed = -+ (vc_cma_chunks - -+ vc_cma_chunks_used); ++ vc_cma_alloc_chunks(chunks_needed, ++ &reply); ++ } + -+ chunks_needed = vc_cma_alloc_chunks( -+ chunks_needed, &reply); ++ LOG_DBG ++ ("CMA_MSG_UPDATE_RESERVE(%d chunks allocated)", ++ chunks_needed); ++ vc_cma_chunks_reserved += chunks_needed; + } -+ -+ LOG_DBG("CMA_MSG_UPDATE_RESERVE(%d chunks allocated)", -+ chunks_needed); -+ vc_cma_chunks_reserved += chunks_needed; -+ } -+ break; ++ break; + + default: + LOG_ERR("unexpected msg type %d", type); @@ -7843,6 +9194,14 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return 0; +} + ++/**************************************************************************** ++* ++* vc_cma_connected_init ++* ++* This function is called once the videocore has been connected. ++* ++***************************************************************************/ ++ +static void vc_cma_connected_init(void) +{ + VCHIQ_SERVICE_PARAMS_T service_params; @@ -7866,7 +9225,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + service_params.version_min = VC_CMA_VERSION; + + if (vchiq_open_service(cma_instance, &service_params, -+ &cma_service) != VCHIQ_SUCCESS) { ++ &cma_service) != VCHIQ_SUCCESS) { + LOG_ERR("failed to open service - already in use?"); + goto fail_vchiq_open; + } @@ -7893,58 +9252,278 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + return; +} + ++void ++loud_error_header(void) ++{ ++ if (in_loud_error) ++ return; + -+/**************************************************************************** -+* -+* vc_cma_connected_init -+* -+* This function is called once the videocore has been connected. -+* -+***************************************************************************/ ++ LOG_ERR("============================================================" ++ "================"); ++ LOG_ERR("============================================================" ++ "================"); ++ LOG_ERR("====="); ++ ++ in_loud_error = 1; ++} ++ ++void ++loud_error_footer(void) ++{ ++ if (!in_loud_error) ++ return; ++ ++ LOG_ERR("====="); ++ LOG_ERR("============================================================" ++ "================"); ++ LOG_ERR("============================================================" ++ "================"); ++ ++ in_loud_error = 0; ++} ++ ++#if 1 ++static int check_cma_config(void) { return 1; } ++#else ++static int ++read_vc_debug_var(VC_MEM_ACCESS_HANDLE_T handle, ++ const char *symbol, ++ void *buf, size_t bufsize) ++{ ++ VC_MEM_ADDR_T vcMemAddr; ++ size_t vcMemSize; ++ uint8_t *mapAddr; ++ off_t vcMapAddr; ++ ++ if (!LookupVideoCoreSymbol(handle, symbol, ++ &vcMemAddr, ++ &vcMemSize)) { ++ loud_error_header(); ++ loud_error( ++ "failed to find VC symbol \"%s\".", ++ symbol); ++ loud_error_footer(); ++ return 0; ++ } ++ ++ if (vcMemSize != bufsize) { ++ loud_error_header(); ++ loud_error( ++ "VC symbol \"%s\" is the wrong size.", ++ symbol); ++ loud_error_footer(); ++ return 0; ++ } ++ ++ vcMapAddr = (off_t)vcMemAddr & VC_MEM_TO_ARM_ADDR_MASK; ++ vcMapAddr += mm_vc_mem_phys_addr; ++ mapAddr = ioremap_nocache(vcMapAddr, vcMemSize); ++ if (mapAddr == 0) { ++ loud_error_header(); ++ loud_error( ++ "failed to ioremap \"%s\" @ 0x%x " ++ "(phys: 0x%x, size: %u).", ++ symbol, ++ (unsigned int)vcMapAddr, ++ (unsigned int)vcMemAddr, ++ (unsigned int)vcMemSize); ++ loud_error_footer(); ++ return 0; ++ } ++ ++ memcpy(buf, mapAddr, bufsize); ++ iounmap(mapAddr); ++ ++ return 1; ++} ++ ++ ++static int ++check_cma_config(void) ++{ ++ VC_MEM_ACCESS_HANDLE_T mem_hndl; ++ VC_MEM_ADDR_T mempool_start; ++ VC_MEM_ADDR_T mempool_end; ++ VC_MEM_ADDR_T mempool_offline_start; ++ VC_MEM_ADDR_T mempool_offline_end; ++ VC_MEM_ADDR_T cam_alloc_base; ++ VC_MEM_ADDR_T cam_alloc_size; ++ VC_MEM_ADDR_T cam_alloc_end; ++ int success = 0; ++ ++ if (OpenVideoCoreMemory(&mem_hndl) != 0) ++ goto out; ++ ++ /* Read the relevant VideoCore variables */ ++ if (!read_vc_debug_var(mem_hndl, "__MEMPOOL_START", ++ &mempool_start, ++ sizeof(mempool_start))) ++ goto close; ++ ++ if (!read_vc_debug_var(mem_hndl, "__MEMPOOL_END", ++ &mempool_end, ++ sizeof(mempool_end))) ++ goto close; ++ ++ if (!read_vc_debug_var(mem_hndl, "__MEMPOOL_OFFLINE_START", ++ &mempool_offline_start, ++ sizeof(mempool_offline_start))) ++ goto close; ++ ++ if (!read_vc_debug_var(mem_hndl, "__MEMPOOL_OFFLINE_END", ++ &mempool_offline_end, ++ sizeof(mempool_offline_end))) ++ goto close; ++ ++ if (!read_vc_debug_var(mem_hndl, "cam_alloc_base", ++ &cam_alloc_base, ++ sizeof(cam_alloc_base))) ++ goto close; ++ ++ if (!read_vc_debug_var(mem_hndl, "cam_alloc_size", ++ &cam_alloc_size, ++ sizeof(cam_alloc_size))) ++ goto close; ++ ++ cam_alloc_end = cam_alloc_base + cam_alloc_size; ++ ++ success = 1; ++ ++ /* Now the sanity checks */ ++ if (!mempool_offline_start) ++ mempool_offline_start = mempool_start; ++ if (!mempool_offline_end) ++ mempool_offline_end = mempool_end; ++ ++ if (VCADDR_TO_PHYSADDR(mempool_offline_start) != vc_cma_base) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_OFFLINE_START(%x -> %lx) doesn't match " ++ "vc_cma_base(%x)", ++ mempool_offline_start, ++ VCADDR_TO_PHYSADDR(mempool_offline_start), ++ vc_cma_base); ++ success = 0; ++ } ++ ++ if (VCADDR_TO_PHYSADDR(mempool_offline_end) != ++ (vc_cma_base + vc_cma_size)) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_OFFLINE_END(%x -> %lx) doesn't match " ++ "vc_cma_base(%x) + vc_cma_size(%x) = %x", ++ mempool_offline_start, ++ VCADDR_TO_PHYSADDR(mempool_offline_end), ++ vc_cma_base, vc_cma_size, vc_cma_base + vc_cma_size); ++ success = 0; ++ } ++ ++ if (mempool_end < mempool_start) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_END(%x) must not be before " ++ "__MEMPOOL_START(%x)", ++ mempool_end, ++ mempool_start); ++ success = 0; ++ } ++ ++ if (mempool_offline_end < mempool_offline_start) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_OFFLINE_END(%x) must not be before " ++ "__MEMPOOL_OFFLINE_START(%x)", ++ mempool_offline_end, ++ mempool_offline_start); ++ success = 0; ++ } ++ ++ if (mempool_offline_start < mempool_start) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_OFFLINE_START(%x) must not be before " ++ "__MEMPOOL_START(%x)", ++ mempool_offline_start, ++ mempool_start); ++ success = 0; ++ } ++ ++ if (mempool_offline_end > mempool_end) { ++ loud_error_header(); ++ loud_error( ++ "__MEMPOOL_OFFLINE_END(%x) must not be after " ++ "__MEMPOOL_END(%x)", ++ mempool_offline_end, ++ mempool_end); ++ success = 0; ++ } ++ ++ if ((cam_alloc_base < mempool_end) && ++ (cam_alloc_end > mempool_start)) { ++ loud_error_header(); ++ loud_error( ++ "cam_alloc pool(%x-%x) overlaps " ++ "mempool(%x-%x)", ++ cam_alloc_base, cam_alloc_end, ++ mempool_start, mempool_end); ++ success = 0; ++ } ++ ++ loud_error_footer(); ++ ++close: ++ CloseVideoCoreMemory(mem_hndl); ++ ++out: ++ return success; ++} ++#endif + +static int __init vc_cma_init(void) +{ + int rc = -EFAULT; + struct device *dev; + ++ if (!check_cma_config()) ++ goto out_release; ++ + printk(KERN_INFO "vc-cma: Videocore CMA driver\n"); -+ printk(KERN_INFO "vc-cma: vc_cma_base = 0x%08x\n", -+ vc_cma_base); ++ printk(KERN_INFO "vc-cma: vc_cma_base = 0x%08x\n", vc_cma_base); + printk(KERN_INFO "vc-cma: vc_cma_size = 0x%08x (%u MiB)\n", -+ vc_cma_size, vc_cma_size / (1024 * 1024)); ++ vc_cma_size, vc_cma_size / (1024 * 1024)); + printk(KERN_INFO "vc-cma: vc_cma_initial = 0x%08x (%u MiB)\n", -+ vc_cma_initial, vc_cma_initial / (1024 * 1024)); ++ vc_cma_initial, vc_cma_initial / (1024 * 1024)); + + vc_cma_base_page = phys_to_page(vc_cma_base); ++ + if (vc_cma_chunks) { + int chunks_needed = vc_cma_initial / VC_CMA_CHUNK_SIZE; + + for (vc_cma_chunks_used = 0; -+ vc_cma_chunks_used < chunks_needed; -+ vc_cma_chunks_used++) { ++ vc_cma_chunks_used < chunks_needed; vc_cma_chunks_used++) { + struct page *chunk; -+ chunk = dma_alloc_from_contiguous(&vc_cma_device.dev, -+ PAGES_PER_CHUNK, VC_CMA_CHUNK_ORDER); ++ chunk = dma_alloc_from_contiguous(NULL /*&vc_cma_device.dev*/, ++ PAGES_PER_CHUNK, ++ VC_CMA_CHUNK_ORDER); + if (!chunk) + break; + BUG_ON(((page_to_phys(chunk) - vc_cma_base) % -+ VC_CMA_CHUNK_SIZE) != 0); ++ VC_CMA_CHUNK_SIZE) != 0); + } + if (vc_cma_chunks_used != chunks_needed) { + LOG_ERR("%s: dma_alloc_from_contiguous failed (%d " + "bytes, allocation %d of %d)", + __func__, VC_CMA_CHUNK_SIZE, -+ vc_cma_chunks_used, -+ chunks_needed); ++ vc_cma_chunks_used, chunks_needed); + goto out_release; + } ++ + vchiq_add_connected_callback(vc_cma_connected_init); + } + + rc = alloc_chrdev_region(&vc_cma_devnum, 0, 1, DRIVER_NAME); + if (rc < 0) { -+ LOG_ERR("%s: alloc_chrdev_region failed (rc=%d)", __func__, -+ rc); ++ LOG_ERR("%s: alloc_chrdev_region failed (rc=%d)", __func__, rc); + goto out_release; + } + @@ -7963,7 +9542,7 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d + } + + dev = device_create(vc_cma_class, NULL, vc_cma_devnum, NULL, -+ DRIVER_NAME); ++ DRIVER_NAME); + if (IS_ERR(dev)) { + rc = PTR_ERR(dev); + LOG_ERR("%s: device_create failed (rc=%d)", __func__, rc); @@ -8028,9 +9607,9 @@ diff -Naur linux-3.6.7/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.6.7.patch/d +module_exit(vc_cma_exit); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Broadcom Corporation"); -diff -Naur linux-3.6.7/drivers/char/Kconfig linux-3.6.7.patch/drivers/char/Kconfig +diff -Naur linux-3.6.7/drivers/char/Kconfig linux-rpi-3.6.7/drivers/char/Kconfig --- linux-3.6.7/drivers/char/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/Kconfig 2012-11-18 20:53:35.150715920 +0100 ++++ linux-rpi-3.6.7/drivers/char/Kconfig 2012-11-30 02:32:44.283836465 +0100 @@ -585,6 +585,8 @@ source "drivers/s390/char/Kconfig" @@ -8040,9 +9619,9 @@ diff -Naur linux-3.6.7/drivers/char/Kconfig linux-3.6.7.patch/drivers/char/Kconf config MSM_SMD_PKT bool "Enable device interface for some SMD packet ports" default n -diff -Naur linux-3.6.7/drivers/char/Makefile linux-3.6.7.patch/drivers/char/Makefile +diff -Naur linux-3.6.7/drivers/char/Makefile linux-rpi-3.6.7/drivers/char/Makefile --- linux-3.6.7/drivers/char/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/char/Makefile 2012-11-18 20:53:35.150715920 +0100 ++++ linux-rpi-3.6.7/drivers/char/Makefile 2012-11-30 02:32:44.124833287 +0100 @@ -63,3 +63,6 @@ js-rtc-y = rtc.o @@ -8050,9 +9629,9 @@ diff -Naur linux-3.6.7/drivers/char/Makefile linux-3.6.7.patch/drivers/char/Make + +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/ + -diff -Naur linux-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c linux-3.6.7.patch/drivers/cpufreq/bcm2835-cpufreq.c +diff -Naur linux-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c linux-rpi-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c --- linux-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/cpufreq/bcm2835-cpufreq.c 2012-11-18 20:53:35.151715939 +0100 ++++ linux-rpi-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c 2012-11-30 02:31:58.983931051 +0100 @@ -0,0 +1,239 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -8293,9 +9872,9 @@ diff -Naur linux-3.6.7/drivers/cpufreq/bcm2835-cpufreq.c linux-3.6.7.patch/drive +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); + -diff -Naur linux-3.6.7/drivers/cpufreq/Kconfig.arm linux-3.6.7.patch/drivers/cpufreq/Kconfig.arm +diff -Naur linux-3.6.7/drivers/cpufreq/Kconfig.arm linux-rpi-3.6.7/drivers/cpufreq/Kconfig.arm --- linux-3.6.7/drivers/cpufreq/Kconfig.arm 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/cpufreq/Kconfig.arm 2012-11-18 20:53:35.152715958 +0100 ++++ linux-rpi-3.6.7/drivers/cpufreq/Kconfig.arm 2012-11-30 02:31:58.929929966 +0100 @@ -76,3 +76,12 @@ help This adds the CPUFreq driver for Samsung EXYNOS5250 @@ -8309,9 +9888,9 @@ diff -Naur linux-3.6.7/drivers/cpufreq/Kconfig.arm linux-3.6.7.patch/drivers/cpu + + If in doubt, say N. + -diff -Naur linux-3.6.7/drivers/cpufreq/Makefile linux-3.6.7.patch/drivers/cpufreq/Makefile +diff -Naur linux-3.6.7/drivers/cpufreq/Makefile linux-rpi-3.6.7/drivers/cpufreq/Makefile --- linux-3.6.7/drivers/cpufreq/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/cpufreq/Makefile 2012-11-18 20:53:35.152715958 +0100 ++++ linux-rpi-3.6.7/drivers/cpufreq/Makefile 2012-11-30 02:31:59.029931977 +0100 @@ -48,6 +48,7 @@ obj-$(CONFIG_ARM_EXYNOS4X12_CPUFREQ) += exynos4x12-cpufreq.o obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o @@ -8320,9 +9899,9 @@ diff -Naur linux-3.6.7/drivers/cpufreq/Makefile linux-3.6.7.patch/drivers/cpufre ################################################################################## # PowerPC platform drivers -diff -Naur linux-3.6.7/drivers/hwmon/bcm2835-hwmon.c linux-3.6.7.patch/drivers/hwmon/bcm2835-hwmon.c +diff -Naur linux-3.6.7/drivers/hwmon/bcm2835-hwmon.c linux-rpi-3.6.7/drivers/hwmon/bcm2835-hwmon.c --- linux-3.6.7/drivers/hwmon/bcm2835-hwmon.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/hwmon/bcm2835-hwmon.c 2012-11-18 20:53:35.153715977 +0100 ++++ linux-rpi-3.6.7/drivers/hwmon/bcm2835-hwmon.c 2012-11-30 02:32:32.349597548 +0100 @@ -0,0 +1,219 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -8543,9 +10122,9 @@ diff -Naur linux-3.6.7/drivers/hwmon/bcm2835-hwmon.c linux-3.6.7.patch/drivers/h +MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip"); + +module_platform_driver(bcm2835_hwmon_driver); -diff -Naur linux-3.6.7/drivers/hwmon/Kconfig linux-3.6.7.patch/drivers/hwmon/Kconfig +diff -Naur linux-3.6.7/drivers/hwmon/Kconfig linux-rpi-3.6.7/drivers/hwmon/Kconfig --- linux-3.6.7/drivers/hwmon/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/hwmon/Kconfig 2012-11-18 20:53:35.154715996 +0100 ++++ linux-rpi-3.6.7/drivers/hwmon/Kconfig 2012-11-30 02:32:32.525601098 +0100 @@ -1411,6 +1411,16 @@ help Support for the A/D converter on MC13783 and MC13892 PMIC. @@ -8563,9 +10142,9 @@ diff -Naur linux-3.6.7/drivers/hwmon/Kconfig linux-3.6.7.patch/drivers/hwmon/Kco if ACPI comment "ACPI drivers" -diff -Naur linux-3.6.7/drivers/hwmon/Makefile linux-3.6.7.patch/drivers/hwmon/Makefile +diff -Naur linux-3.6.7/drivers/hwmon/Makefile linux-rpi-3.6.7/drivers/hwmon/Makefile --- linux-3.6.7/drivers/hwmon/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/hwmon/Makefile 2012-11-18 20:53:35.154715996 +0100 ++++ linux-rpi-3.6.7/drivers/hwmon/Makefile 2012-11-30 02:32:32.491600411 +0100 @@ -129,6 +129,7 @@ obj-$(CONFIG_SENSORS_W83L786NG) += w83l786ng.o obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o @@ -8574,9 +10153,9 @@ diff -Naur linux-3.6.7/drivers/hwmon/Makefile linux-3.6.7.patch/drivers/hwmon/Ma obj-$(CONFIG_PMBUS) += pmbus/ -diff -Naur linux-3.6.7/drivers/i2c/busses/i2c-bcm2708.c linux-3.6.7.patch/drivers/i2c/busses/i2c-bcm2708.c +diff -Naur linux-3.6.7/drivers/i2c/busses/i2c-bcm2708.c linux-rpi-3.6.7/drivers/i2c/busses/i2c-bcm2708.c --- linux-3.6.7/drivers/i2c/busses/i2c-bcm2708.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/i2c/busses/i2c-bcm2708.c 2012-11-18 20:53:35.155716015 +0100 ++++ linux-rpi-3.6.7/drivers/i2c/busses/i2c-bcm2708.c 2012-11-30 02:32:47.534901446 +0100 @@ -0,0 +1,400 @@ +/* + * Driver for Broadcom BCM2708 BSC Controllers @@ -8978,9 +10557,9 @@ diff -Naur linux-3.6.7/drivers/i2c/busses/i2c-bcm2708.c linux-3.6.7.patch/driver +MODULE_AUTHOR("Chris Boot "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -diff -Naur linux-3.6.7/drivers/i2c/busses/Kconfig linux-3.6.7.patch/drivers/i2c/busses/Kconfig +diff -Naur linux-3.6.7/drivers/i2c/busses/Kconfig linux-rpi-3.6.7/drivers/i2c/busses/Kconfig --- linux-3.6.7/drivers/i2c/busses/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/i2c/busses/Kconfig 2012-11-18 20:53:35.156716034 +0100 ++++ linux-rpi-3.6.7/drivers/i2c/busses/Kconfig 2012-11-30 02:32:47.575902277 +0100 @@ -314,6 +314,25 @@ This driver can also be built as a module. If so, the module will be called i2c-au1550. @@ -9007,9 +10586,9 @@ diff -Naur linux-3.6.7/drivers/i2c/busses/Kconfig linux-3.6.7.patch/drivers/i2c/ config I2C_BLACKFIN_TWI tristate "Blackfin TWI I2C support" depends on BLACKFIN -diff -Naur linux-3.6.7/drivers/i2c/busses/Makefile linux-3.6.7.patch/drivers/i2c/busses/Makefile +diff -Naur linux-3.6.7/drivers/i2c/busses/Makefile linux-rpi-3.6.7/drivers/i2c/busses/Makefile --- linux-3.6.7/drivers/i2c/busses/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/i2c/busses/Makefile 2012-11-18 20:53:35.156716034 +0100 ++++ linux-rpi-3.6.7/drivers/i2c/busses/Makefile 2012-11-30 02:32:47.569902156 +0100 @@ -30,6 +30,7 @@ # Embedded system I2C/SMBus host controller drivers obj-$(CONFIG_I2C_AT91) += i2c-at91.o @@ -9018,9 +10597,9 @@ diff -Naur linux-3.6.7/drivers/i2c/busses/Makefile linux-3.6.7.patch/drivers/i2c obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o obj-$(CONFIG_I2C_CPM) += i2c-cpm.o obj-$(CONFIG_I2C_DAVINCI) += i2c-davinci.o -diff -Naur linux-3.6.7/drivers/misc/Kconfig linux-3.6.7.patch/drivers/misc/Kconfig +diff -Naur linux-3.6.7/drivers/misc/Kconfig linux-rpi-3.6.7/drivers/misc/Kconfig --- linux-3.6.7/drivers/misc/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/Kconfig 2012-11-18 20:53:35.157716053 +0100 ++++ linux-rpi-3.6.7/drivers/misc/Kconfig 2012-11-30 02:32:13.536221589 +0100 @@ -517,4 +517,6 @@ source "drivers/misc/carma/Kconfig" source "drivers/misc/altera-stapl/Kconfig" @@ -9028,17 +10607,17 @@ diff -Naur linux-3.6.7/drivers/misc/Kconfig linux-3.6.7.patch/drivers/misc/Kconf +source "drivers/misc/vc04_services/Kconfig" endmenu + -diff -Naur linux-3.6.7/drivers/misc/Makefile linux-3.6.7.patch/drivers/misc/Makefile +diff -Naur linux-3.6.7/drivers/misc/Makefile linux-rpi-3.6.7/drivers/misc/Makefile --- linux-3.6.7/drivers/misc/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/Makefile 2012-11-18 20:53:35.157716053 +0100 ++++ linux-rpi-3.6.7/drivers/misc/Makefile 2012-11-30 02:32:12.641203985 +0100 @@ -50,3 +50,4 @@ obj-$(CONFIG_USB_SWITCH_FSA9480) += fsa9480.o obj-$(CONFIG_ALTERA_STAPL) +=altera-stapl/ obj-$(CONFIG_INTEL_MEI) += mei/ +obj-$(CONFIG_BCM2708_VCHIQ) += vc04_services/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/connection.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/connections/connection.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/connection.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/connection.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/connection.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/connections/connection.h 2012-11-18 20:53:35.159716091 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/connection.h 2012-11-30 02:32:12.449200156 +0100 @@ -0,0 +1,313 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -9353,9 +10932,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/connections/con +#endif /* CONNECTION_H_ */ + +/****************************** End of file **********************************/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 2012-11-18 20:53:35.159716091 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 2012-11-30 02:32:12.474200656 +0100 @@ -0,0 +1,189 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -9546,9 +11125,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/message_drivers +#endif // _VCHI_MESSAGE_H_ + +/****************************** End of file ***********************************/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 2012-11-18 20:53:35.160716110 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 2012-11-30 02:32:12.474200656 +0100 @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -9759,9 +11338,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h linu +#endif /* VCHI_CFG_H_ */ + +/****************************** End of file **********************************/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 2012-11-18 20:53:35.160716110 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 2012-11-30 02:32:12.449200156 +0100 @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -9819,9 +11398,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_cfg_intern +//#define VCHI_RX_NANOLOCKS + +#endif /*VCHI_CFG_INTERNAL_H_*/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_common.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_common.h 2012-11-18 20:53:35.161716129 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h 2012-11-30 02:32:12.462200418 +0100 @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -9971,9 +11550,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_common.h l + + +#endif // VCHI_COMMON_H_ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi.h 2012-11-18 20:53:35.162716148 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h 2012-11-30 02:32:12.474200656 +0100 @@ -0,0 +1,355 @@ +/* + * Copyright (c) 2010-2012 Broadcom. All rights reserved. @@ -10330,9 +11909,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi.h linux-3. +#endif /* VCHI_H_ */ + +/****************************** End of file **********************************/ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_mh.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 2012-11-18 20:53:35.162716148 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 2012-11-30 02:32:12.439199954 +0100 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2010-2011 Broadcom. All rights reserved. @@ -10361,9 +11940,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchi/vchi_mh.h linux +#define VCHI_MEM_HANDLE_INVALID 0 + +#endif -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 2012-11-18 20:53:35.163716167 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 2012-11-30 02:32:12.438199934 +0100 @@ -0,0 +1,523 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -10888,9 +12467,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835 + + kfree(pagelist); +} -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 2012-11-18 20:53:35.164716186 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 2012-11-30 02:32:12.413199431 +0100 @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -10919,10 +12498,10 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1 + +#endif /* VCHIQ_2835_H */ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2012-11-18 20:53:35.167716243 +0100 -@@ -0,0 +1,2788 @@ ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2012-11-30 02:32:12.385198872 +0100 +@@ -0,0 +1,2787 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. + * @@ -12295,8 +13874,8 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. + + while (offset < end_offset) { + -+ page_idx = offset / PAGE_SIZE; + int page_offset = offset % PAGE_SIZE; ++ page_idx = offset / PAGE_SIZE; + + if (page_idx != prev_idx) { + @@ -12492,7 +14071,6 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. +vchiq_arm_init_state(VCHIQ_STATE_T *state, VCHIQ_ARM_STATE_T *arm_state) +{ + VCHIQ_STATUS_T status = VCHIQ_SUCCESS; -+ char threadname[10]; + + if (arm_state) { + rwlock_init(&arm_state->susp_res_lock); @@ -12519,19 +14097,6 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. + * completion while things are waiting on the resume blocker */ + complete_all(&arm_state->blocked_blocker); + -+ snprintf(threadname, sizeof(threadname), "VCHIQka-%d", -+ state->id); -+ arm_state->ka_thread = kthread_create( -+ &vchiq_keepalive_thread_func, -+ (void *)state, -+ threadname); -+ if (arm_state->ka_thread == NULL) { -+ vchiq_log_error(vchiq_susp_log_level, -+ "vchiq: FATAL: couldn't create thread %s", -+ threadname); -+ status = VCHIQ_ERROR; -+ } -+ + arm_state->suspend_timer_timeout = SUSPEND_TIMER_TIMEOUT_MS; + arm_state->suspend_timer_running = 0; + init_timer(&arm_state->suspend_timer); @@ -13547,9 +15112,22 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. + if (state->conn_state == VCHIQ_CONNSTATE_CONNECTED) { + write_lock_bh(&arm_state->susp_res_lock); + if (!arm_state->first_connect) { ++ char threadname[10]; + arm_state->first_connect = 1; + write_unlock_bh(&arm_state->susp_res_lock); -+ wake_up_process(arm_state->ka_thread); ++ snprintf(threadname, sizeof(threadname), "VCHIQka-%d", ++ state->id); ++ arm_state->ka_thread = kthread_create( ++ &vchiq_keepalive_thread_func, ++ (void *)state, ++ threadname); ++ if (arm_state->ka_thread == NULL) { ++ vchiq_log_error(vchiq_susp_log_level, ++ "vchiq: FATAL: couldn't create thread %s", ++ threadname); ++ } else { ++ wake_up_process(arm_state->ka_thread); ++ } + } else + write_unlock_bh(&arm_state->susp_res_lock); + } @@ -13711,9 +15289,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. +module_exit(vchiq_exit); +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Broadcom Corporation"); -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 2012-11-18 20:53:35.168716262 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 2012-11-30 02:32:12.412199410 +0100 @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -13912,9 +15490,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm. + + +#endif /* VCHIQ_ARM_H */ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 2012-11-18 20:53:35.168716262 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 2012-11-30 02:32:12.413199431 +0100 @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2010-2011 Broadcom. All rights reserved. @@ -13938,9 +15516,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_buil +const char *vchiq_get_build_version(void); +const char *vchiq_get_build_time(void); +const char *vchiq_get_build_date(void); -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 2012-11-18 20:53:35.169716281 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 2012-11-30 02:32:12.439199954 +0100 @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -13987,9 +15565,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg. +#endif + +#endif /* VCHIQ_CFG_H */ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 2012-11-18 20:53:35.169716281 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 2012-11-30 02:32:12.405199270 +0100 @@ -0,0 +1,100 @@ +/***************************************************************************** +* Copyright 2001 - 2010 Broadcom Corporation. All rights reserved. @@ -14091,9 +15669,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_conn + mutex_unlock(&g_connected_mutex); +} +EXPORT_SYMBOL(vchiq_add_connected_callback); -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 2012-11-18 20:53:35.170716300 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 2012-11-30 02:32:12.422199614 +0100 @@ -0,0 +1,32 @@ +/***************************************************************************** +* Copyright 2001 - 2010 Broadcom Corporation. All rights reserved. @@ -14127,10 +15705,10 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_conn + +#endif /* VCHIQ_CONNECTED_H */ + -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 2012-11-18 20:53:35.174716376 +0100 -@@ -0,0 +1,3676 @@ ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 2012-11-30 02:32:12.438199934 +0100 +@@ -0,0 +1,3700 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. + * @@ -15335,6 +16913,24 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + service_flags = + atomic_xchg(&service->poll_flags, 0); + if (service_flags & ++ (1 << VCHIQ_POLL_REMOVE)) { ++ vchiq_log_info(vchiq_core_log_level, ++ "%d: ps - remove %d<->%d", ++ state->id, service->localport, ++ service->remoteport); ++ ++ /* Make it look like a client, because ++ it must be removed and not left in ++ the LISTENING state. */ ++ service->public_fourcc = ++ VCHIQ_FOURCC_INVALID; ++ ++ if (vchiq_close_service_internal( ++ service, 0/*!close_recvd*/) != ++ VCHIQ_SUCCESS) ++ request_poll(state, service, ++ VCHIQ_POLL_REMOVE); ++ } else if (service_flags & + (1 << VCHIQ_POLL_TERMINATE)) { + vchiq_log_info(vchiq_core_log_level, + "%d: ps - terminate %d<->%d", @@ -15659,6 +17255,26 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + case VCHIQ_MSG_BULK_RX_DONE: + case VCHIQ_MSG_BULK_TX_DONE: + service = find_service_by_port(state, localport); ++ if ((!service || service->remoteport != remoteport) && ++ (localport == 0) && ++ (type == VCHIQ_MSG_CLOSE)) { ++ /* This could be a CLOSE from a client which ++ hadn't yet received the OPENACK - look for ++ the connected service */ ++ if (service) ++ unlock_service(service); ++ service = get_connected_service(state, ++ remoteport); ++ if (service) ++ vchiq_log_warning(vchiq_core_log_level, ++ "%d: prs %s@%x (%d->%d) - " ++ "found connected service %d", ++ state->id, msg_type_str(type), ++ (unsigned int)header, ++ remoteport, localport, ++ service->localport); ++ } ++ + if (!service) { + vchiq_log_error(vchiq_core_log_level, + "%d: prs %s@%x (%d->%d) - " @@ -15668,6 +17284,7 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + remoteport, localport, localport); + goto skip_message; + } ++ break; + default: + break; + } @@ -15729,17 +17346,6 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + state->id, (unsigned int)header, + remoteport, localport); + -+ if ((service->remoteport != remoteport) && -+ VCHIQ_PORT_IS_VALID(service->remoteport)) { -+ /* This could be from a client which hadn't yet -+ ** received the OPENACK - look for the -+ ** connected service */ -+ service = get_connected_service(state, -+ remoteport); -+ if (!service) -+ break; -+ } -+ + mark_service_closing(service); + + if (vchiq_close_service_internal(service, @@ -16915,14 +18521,10 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + vchiq_log_info(vchiq_core_log_level, "%d: tsi - (%d<->%d)", + state->id, service->localport, service->remoteport); + -+ /* Make it look like a client, because it must be removed and not -+ left in the LISTENING state. */ -+ service->public_fourcc = VCHIQ_FOURCC_INVALID; -+ + mark_service_closing(service); + -+ /* Mark the service for termination by the slot handler */ -+ request_poll(state, service, VCHIQ_POLL_TERMINATE); ++ /* Mark the service for removal by the slot handler */ ++ request_poll(state, service, VCHIQ_POLL_REMOVE); +} + +/* Called from the slot handler */ @@ -17127,20 +18729,20 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + return VCHIQ_ERROR; + } + -+ /* Make it look like a client, because it must be removed and not -+ left in the LISTENING state. */ -+ service->public_fourcc = VCHIQ_FOURCC_INVALID; -+ + mark_service_closing(service); + + if ((service->srvstate == VCHIQ_SRVSTATE_HIDDEN) || + (current == service->state->slot_handler_thread)) { ++ /* Make it look like a client, because it must be removed and ++ not left in the LISTENING state. */ ++ service->public_fourcc = VCHIQ_FOURCC_INVALID; ++ + status = vchiq_close_service_internal(service, + 0/*!close_recvd*/); + BUG_ON(status == VCHIQ_RETRY); + } else { -+ /* Mark the service for termination by the slot handler */ -+ request_poll(service->state, service, VCHIQ_POLL_TERMINATE); ++ /* Mark the service for removal by the slot handler */ ++ request_poll(service->state, service, VCHIQ_POLL_REMOVE); + } + while (1) { + if (down_interruptible(&service->remove_event) != 0) { @@ -17807,10 +19409,10 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + numBytes = 0; + } +} -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 2012-11-18 20:53:35.176716414 +0100 -@@ -0,0 +1,682 @@ ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 2012-11-30 02:32:12.438199934 +0100 +@@ -0,0 +1,683 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. + * @@ -18024,6 +19626,7 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + +enum { + VCHIQ_POLL_TERMINATE, ++ VCHIQ_POLL_REMOVE, + VCHIQ_POLL_TXNOTIFY, + VCHIQ_POLL_RXNOTIFY, + VCHIQ_POLL_COUNT @@ -18493,10 +20096,10 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core + size_t numBytes); + +#endif -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 2012-11-18 20:53:35.176716414 +0100 -@@ -0,0 +1,87 @@ ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 2012-11-30 02:32:12.385198872 +0100 +@@ -0,0 +1,89 @@ +#!/usr/bin/perl -w + +use strict; @@ -18540,11 +20143,11 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genv + $tainted =~ s/[ \r\n]*$//; # chomp may not be enough (cygwin). + $tainted =~ s/^[ \r\n]*//; # chomp may not be enough (cygwin). + if (length $tainted) { -+ $version = join ' ', $version, "(tainted)"; -+ } -+ else { -+ $version = join ' ', $version, "(clean)"; -+ } ++ $version = join ' ', $version, "(tainted)"; ++ } ++ else { ++ $version = join ' ', $version, "(clean)"; ++ } + } + } +} @@ -18584,9 +20187,11 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genv + return vchiq_build_time; +} +EOF -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h ++ ++ +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 2012-11-18 20:53:35.176716414 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 2012-11-30 02:32:12.438199934 +0100 @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2010-2011 Broadcom. All rights reserved. @@ -18614,9 +20219,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h li + +#endif + -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 2012-11-18 20:53:35.177716433 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 2012-11-30 02:32:12.411199390 +0100 @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -18785,9 +20390,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h + void *ptr, size_t num_bytes); + +#endif /* VCHIQ_IF_H */ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 2012-11-18 20:53:35.178716452 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 2012-11-30 02:32:12.422199614 +0100 @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -18903,9 +20508,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioct +#define VCHIQ_IOC_MAX 15 + +#endif -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 2012-11-18 20:53:35.178716452 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 2012-11-30 02:32:12.375198672 +0100 @@ -0,0 +1,424 @@ +/***************************************************************************** +* Copyright 2001 - 2011 Broadcom Corporation. All rights reserved. @@ -19331,9 +20936,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern + + return status; +} -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 2012-11-18 20:53:35.179716471 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 2012-11-30 02:32:12.412199410 +0100 @@ -0,0 +1,52 @@ +/***************************************************************************** +* Copyright 2001 - 2010 Broadcom Corporation. All rights reserved. @@ -19387,9 +20992,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memd + const VCHIQ_PLATFORM_DATA_T * platform_data); + +#endif -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 2012-11-18 20:53:35.179716471 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 2012-11-30 02:32:12.411199390 +0100 @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -19434,9 +21039,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_page +} FRAGMENTS_T; + +#endif /* VCHIQ_PAGELIST_H */ -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 2012-11-18 20:53:35.180716490 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 2012-11-30 02:32:12.384198852 +0100 @@ -0,0 +1,225 @@ +/* + * Copyright (c) 2012 Broadcom Corporation. All rights reserved. @@ -19663,9 +21268,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc + return proc_info.clients; +} + -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 2012-11-18 20:53:35.181716508 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 2012-11-30 02:32:12.411199390 +0100 @@ -0,0 +1,787 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -20454,9 +22059,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim + return ret; +} +EXPORT_SYMBOL(vchi_service_release); -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 2012-11-18 20:53:35.182716527 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 2012-11-30 02:32:12.358198338 +0100 @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -20563,9 +22168,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util + + return header; +} -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 2012-11-18 20:53:35.182716527 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 2012-11-30 02:32:12.439199954 +0100 @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2010-2011 Broadcom Corporation. All rights reserved. @@ -20634,9 +22239,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util + +#endif + -diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c +diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c --- linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 2012-11-18 20:53:35.183716546 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 2012-11-30 02:32:12.385198872 +0100 @@ -0,0 +1,27 @@ +#include "vchiq_build_info.h" +#include @@ -20665,9 +22270,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_vers +{ + return vchiq_build_time; +} -diff -Naur linux-3.6.7/drivers/misc/vc04_services/Kconfig linux-3.6.7.patch/drivers/misc/vc04_services/Kconfig +diff -Naur linux-3.6.7/drivers/misc/vc04_services/Kconfig linux-rpi-3.6.7/drivers/misc/vc04_services/Kconfig --- linux-3.6.7/drivers/misc/vc04_services/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/Kconfig 2012-11-18 20:53:35.183716546 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/Kconfig 2012-11-30 02:32:12.570202559 +0100 @@ -0,0 +1,10 @@ +config BCM2708_VCHIQ + tristate "Videocore VCHIQ" @@ -20679,9 +22284,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/Kconfig linux-3.6.7.patch/driv + Defaults to Y when the Broadcom Videocore services + are included in the build, N otherwise. + -diff -Naur linux-3.6.7/drivers/misc/vc04_services/Makefile linux-3.6.7.patch/drivers/misc/vc04_services/Makefile +diff -Naur linux-3.6.7/drivers/misc/vc04_services/Makefile linux-rpi-3.6.7/drivers/misc/vc04_services/Makefile --- linux-3.6.7/drivers/misc/vc04_services/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/misc/vc04_services/Makefile 2012-11-18 20:53:35.184716565 +0100 ++++ linux-rpi-3.6.7/drivers/misc/vc04_services/Makefile 2012-11-30 02:32:12.570202559 +0100 @@ -0,0 +1,18 @@ +ifeq ($(CONFIG_MACH_BCM2708),y) + @@ -20701,9 +22306,9 @@ diff -Naur linux-3.6.7/drivers/misc/vc04_services/Makefile linux-3.6.7.patch/dri + +endif + -diff -Naur linux-3.6.7/drivers/mmc/card/block.c linux-3.6.7.patch/drivers/mmc/card/block.c +diff -Naur linux-3.6.7/drivers/mmc/card/block.c linux-rpi-3.6.7/drivers/mmc/card/block.c --- linux-3.6.7/drivers/mmc/card/block.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/card/block.c 2012-11-18 20:53:35.185716584 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/card/block.c 2012-11-30 02:32:14.528241330 +0100 @@ -1135,7 +1135,7 @@ brq->data.blocks = 1; } @@ -20713,9 +22318,170 @@ diff -Naur linux-3.6.7/drivers/mmc/card/block.c linux-3.6.7.patch/drivers/mmc/ca /* SPI multiblock writes terminate using a special * token, not a STOP_TRANSMISSION request. */ -diff -Naur linux-3.6.7/drivers/mmc/host/Kconfig linux-3.6.7.patch/drivers/mmc/host/Kconfig +diff -Naur linux-3.6.7/drivers/mmc/core/sd.c linux-rpi-3.6.7/drivers/mmc/core/sd.c +--- linux-3.6.7/drivers/mmc/core/sd.c 2012-11-17 22:21:23.000000000 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/core/sd.c 2012-11-30 02:32:14.523241231 +0100 +@@ -13,6 +13,8 @@ + #include + #include + #include ++#include ++#include + + #include + #include +@@ -58,6 +60,15 @@ + __res & __mask; \ + }) + ++// timeout for tries ++static const unsigned long retry_timeout_ms= 10*1000; ++ ++// try at least 10 times, even if timeout is reached ++static const int retry_min_tries= 10; ++ ++// delay between tries ++static const unsigned long retry_delay_ms= 10; ++ + /* + * Given the decoded CSD structure, decode the raw CID to our CID structure. + */ +@@ -210,12 +221,62 @@ + } + + /* +- * Fetch and process SD Status register. ++ * Fetch and process SD Configuration Register. ++ */ ++static int mmc_read_scr(struct mmc_card *card) ++{ ++ unsigned long timeout_at; ++ int err, tries; ++ ++ timeout_at= jiffies + msecs_to_jiffies( retry_timeout_ms ); ++ tries= 0; ++ ++ while( tries < retry_min_tries || time_before( jiffies, timeout_at ) ) ++ { ++ unsigned long delay_at; ++ tries++; ++ ++ err = mmc_app_send_scr(card, card->raw_scr); ++ if( !err ) ++ break; // sucess!!! ++ ++ touch_nmi_watchdog(); // we are still alive! ++ ++ // delay ++ delay_at= jiffies + msecs_to_jiffies( retry_delay_ms ); ++ while( time_before( jiffies, delay_at ) ) ++ { ++ mdelay( 1 ); ++ touch_nmi_watchdog(); // we are still alive! ++ } ++ } ++ ++ if( err) ++ { ++ pr_err("%s: failed to read SD Configuration register (SCR) after %d tries during %lu ms, error %d\n", mmc_hostname(card->host), tries, retry_timeout_ms, err ); ++ return err; ++ } ++ ++ if( tries > 1 ) ++ { ++ pr_info("%s: could read SD Configuration register (SCR) at the %dth attempt\n", mmc_hostname(card->host), tries ); ++ } ++ ++ err = mmc_decode_scr(card); ++ if (err) ++ return err; ++ ++ return err; ++} ++ ++/* ++ * Fetch and process SD Status Register. + */ + static int mmc_read_ssr(struct mmc_card *card) + { ++ unsigned long timeout_at; + unsigned int au, es, et, eo; +- int err, i; ++ int err, i, tries; + u32 *ssr; + + if (!(card->csd.cmdclass & CCC_APP_SPEC)) { +@@ -227,15 +288,41 @@ + ssr = kmalloc(64, GFP_KERNEL); + if (!ssr) + return -ENOMEM; +- +- err = mmc_app_sd_status(card, ssr); +- if (err) { +- pr_warning("%s: problem reading SD Status " +- "register.\n", mmc_hostname(card->host)); +- err = 0; ++ ++ timeout_at= jiffies + msecs_to_jiffies( retry_timeout_ms ); ++ tries= 0; ++ ++ while( tries < retry_min_tries || time_before( jiffies, timeout_at ) ) ++ { ++ unsigned long delay_at; ++ tries++; ++ ++ err= mmc_app_sd_status(card, ssr); ++ if( !err ) ++ break; // sucess!!! ++ ++ touch_nmi_watchdog(); // we are still alive! ++ ++ // delay ++ delay_at= jiffies + msecs_to_jiffies( retry_delay_ms ); ++ while( time_before( jiffies, delay_at ) ) ++ { ++ mdelay( 1 ); ++ touch_nmi_watchdog(); // we are still alive! ++ } ++ } ++ ++ if( err) ++ { ++ pr_err("%s: failed to read SD Status register (SSR) after %d tries during %lu ms, error %d\n", mmc_hostname(card->host), tries, retry_timeout_ms, err ); + goto out; + } + ++ if( tries > 1 ) ++ { ++ pr_info("%s: could read SD Status register (SSR) at the %dth attempt\n", mmc_hostname(card->host), tries ); ++ } ++ + for (i = 0; i < 16; i++) + ssr[i] = be32_to_cpu(ssr[i]); + +@@ -799,15 +886,11 @@ + + if (!reinit) { + /* +- * Fetch SCR from card. ++ * Fetch and decode SD Configuration register. + */ +- err = mmc_app_send_scr(card, card->raw_scr); +- if (err) +- return err; +- +- err = mmc_decode_scr(card); +- if (err) +- return err; ++ err = mmc_read_scr(card); ++ if( err ) ++ return err; + + /* + * Fetch and process SD Status register. +diff -Naur linux-3.6.7/drivers/mmc/host/Kconfig linux-rpi-3.6.7/drivers/mmc/host/Kconfig --- linux-3.6.7/drivers/mmc/host/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/host/Kconfig 2012-11-18 20:53:35.186716603 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/host/Kconfig 2012-11-30 02:32:14.372238221 +0100 @@ -229,6 +229,27 @@ YMMV. @@ -20744,9 +22510,9 @@ diff -Naur linux-3.6.7/drivers/mmc/host/Kconfig linux-3.6.7.patch/drivers/mmc/ho config MMC_OMAP tristate "TI OMAP Multimedia Card Interface support" depends on ARCH_OMAP -diff -Naur linux-3.6.7/drivers/mmc/host/Makefile linux-3.6.7.patch/drivers/mmc/host/Makefile +diff -Naur linux-3.6.7/drivers/mmc/host/Makefile linux-rpi-3.6.7/drivers/mmc/host/Makefile --- linux-3.6.7/drivers/mmc/host/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/host/Makefile 2012-11-18 20:53:35.186716603 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/host/Makefile 2012-11-30 02:32:14.300236792 +0100 @@ -13,6 +13,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -20755,10 +22521,10 @@ diff -Naur linux-3.6.7/drivers/mmc/host/Makefile linux-3.6.7.patch/drivers/mmc/h obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o obj-$(CONFIG_MMC_OMAP) += omap.o -diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/drivers/mmc/host/sdhci-bcm2708.c +diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-rpi-3.6.7/drivers/mmc/host/sdhci-bcm2708.c --- linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/host/sdhci-bcm2708.c 2012-11-18 20:53:35.188716641 +0100 -@@ -0,0 +1,1406 @@ ++++ linux-rpi-3.6.7/drivers/mmc/host/sdhci-bcm2708.c 2012-11-30 02:32:14.330237396 +0100 +@@ -0,0 +1,1413 @@ +/* + * sdhci-bcm2708.c Support for SDHCI device on BCM2708 + * Copyright (c) 2010 Broadcom @@ -20898,6 +22664,7 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver +static int emmc_clock_freq = BCM2708_EMMC_CLOCK_FREQ; +static bool sync_after_dma = 1; +static bool missing_status = 1; ++static bool spurious_crc_acmd51 = 0; +bool enable_llm = 1; + +#if 0 @@ -21864,7 +23631,7 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver + return 1; +} + -+static unsigned int sdhci_bcm2708_quirk_spurious_crc(struct sdhci_host *host) ++static unsigned int sdhci_bcm2708_quirk_spurious_crc_acmd51(struct sdhci_host *host) +{ + return 1; +} @@ -21910,7 +23677,6 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver + .pdma_reset = sdhci_bcm2708_platdma_reset, +#endif + .extra_ints = sdhci_bcm2708_quirk_extra_ints, -+ .spurious_crc_acmd51 = sdhci_bcm2708_quirk_spurious_crc, + .voltage_broken = sdhci_bcm2708_quirk_voltage_broken, + .uhs_broken = sdhci_bcm2708_uhs_broken, +}; @@ -21955,6 +23721,11 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver + sdhci_bcm2708_ops.missing_status = sdhci_bcm2708_missing_status; + } + ++ if( spurious_crc_acmd51 ) { ++ sdhci_bcm2708_ops.spurious_crc_acmd51 = sdhci_bcm2708_quirk_spurious_crc_acmd51; ++ } ++ ++ + printk("sdhci: %s low-latency mode\n",enable_llm?"Enable":"Disable"); + + host->hw_name = "BCM2708_Arasan"; @@ -22150,6 +23921,7 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver +module_param(emmc_clock_freq, int, 0444); +module_param(sync_after_dma, bool, 0444); +module_param(missing_status, bool, 0444); ++module_param(spurious_crc_acmd51, bool, 0444); +module_param(enable_llm, bool, 0444); +module_param(cycle_delay, int, 0444); + @@ -22162,12 +23934,13 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci-bcm2708.c linux-3.6.7.patch/driver +MODULE_PARM_DESC(emmc_clock_freq, "Specify the speed of emmc clock"); +MODULE_PARM_DESC(sync_after_dma, "Block in driver until dma complete"); +MODULE_PARM_DESC(missing_status, "Use the missing status quirk"); ++MODULE_PARM_DESC(spurious_crc_acmd51, "Use the spurious crc quirk for reading SCR (ACMD51)"); +MODULE_PARM_DESC(enable_llm, "Enable low-latency mode"); + + -diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.c linux-3.6.7.patch/drivers/mmc/host/sdhci.c +diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.c linux-rpi-3.6.7/drivers/mmc/host/sdhci.c --- linux-3.6.7/drivers/mmc/host/sdhci.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/host/sdhci.c 2012-11-18 20:54:37.925908084 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/host/sdhci.c 2012-11-30 02:32:14.265236085 +0100 @@ -28,6 +28,7 @@ #include #include @@ -23038,9 +24811,9 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.c linux-3.6.7.patch/drivers/mmc/ho } sdhci_disable_card_detection(host); -diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.h linux-3.6.7.patch/drivers/mmc/host/sdhci.h +diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.h linux-rpi-3.6.7/drivers/mmc/host/sdhci.h --- linux-3.6.7/drivers/mmc/host/sdhci.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/mmc/host/sdhci.h 2012-11-18 20:53:35.194716755 +0100 ++++ linux-rpi-3.6.7/drivers/mmc/host/sdhci.h 2012-11-30 02:32:14.269236167 +0100 @@ -275,6 +275,20 @@ void (*platform_reset_enter)(struct sdhci_host *host, u8 mask); void (*platform_reset_exit)(struct sdhci_host *host, u8 mask); @@ -23101,9 +24874,9 @@ diff -Naur linux-3.6.7/drivers/mmc/host/sdhci.h linux-3.6.7.patch/drivers/mmc/ho + + #endif /* __SDHCI_HW_H */ -diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.c linux-3.6.7.patch/drivers/net/usb/smsc95xx.c +diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.c linux-rpi-3.6.7/drivers/net/usb/smsc95xx.c --- linux-3.6.7/drivers/net/usb/smsc95xx.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/net/usb/smsc95xx.c 2012-11-18 20:53:35.207717002 +0100 ++++ linux-rpi-3.6.7/drivers/net/usb/smsc95xx.c 2012-11-30 02:32:21.574381784 +0100 @@ -46,11 +46,23 @@ #define SMSC95XX_INTERNAL_PHY_ID (1) #define SMSC95XX_TX_OVERHEAD (8) @@ -24118,9 +25891,9 @@ diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.c linux-3.6.7.patch/drivers/net/ .disconnect = usbnet_disconnect, .disable_hub_initiated_lpm = 1, }; -diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.h linux-3.6.7.patch/drivers/net/usb/smsc95xx.h +diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.h linux-rpi-3.6.7/drivers/net/usb/smsc95xx.h --- linux-3.6.7/drivers/net/usb/smsc95xx.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/net/usb/smsc95xx.h 2012-11-18 20:53:35.208717021 +0100 ++++ linux-rpi-3.6.7/drivers/net/usb/smsc95xx.h 2012-11-30 02:32:21.599382285 +0100 @@ -63,6 +63,7 @@ #define INT_STS_TDFO_ (0x00001000) #define INT_STS_RXDF_ (0x00000800) @@ -24159,9 +25932,195 @@ diff -Naur linux-3.6.7/drivers/net/usb/smsc95xx.h linux-3.6.7.patch/drivers/net/ #define COE_CR (0x130) #define Tx_COE_EN_ (0x00010000) -diff -Naur linux-3.6.7/drivers/spi/Kconfig linux-3.6.7.patch/drivers/spi/Kconfig +diff -Naur linux-3.6.7/drivers/net/usb/usbnet.c linux-rpi-3.6.7/drivers/net/usb/usbnet.c +--- linux-3.6.7/drivers/net/usb/usbnet.c 2012-11-17 22:21:23.000000000 +0100 ++++ linux-rpi-3.6.7/drivers/net/usb/usbnet.c 2012-11-30 02:32:21.563381562 +0100 +@@ -359,10 +359,12 @@ + void usbnet_defer_kevent (struct usbnet *dev, int work) + { + set_bit (work, &dev->flags); +- if (!schedule_work (&dev->kevent)) +- netdev_err(dev->net, "kevent %d may have been dropped\n", work); +- else ++ if (!schedule_work (&dev->kevent)) { ++ if (net_ratelimit()) ++ netdev_err(dev->net, "kevent %d may have been dropped\n", work); ++ } else { + netdev_dbg(dev->net, "kevent %d scheduled\n", work); ++ } + } + EXPORT_SYMBOL_GPL(usbnet_defer_kevent); + +diff -Naur linux-3.6.7/drivers/net/wireless/Kconfig linux-rpi-3.6.7/drivers/net/wireless/Kconfig +diff -Naur linux-3.6.7/drivers/net/wireless/Makefile linux-rpi-3.6.7/drivers/net/wireless/Makefile +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/clean linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/clean +\ Kein Zeilenumbruch am Dateiende. +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_debug.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_debug.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_io.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_io.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_iol.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_iol.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mp.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mp.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_recv.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_recv.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_rf.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_rf.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_security.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_security.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/hal_init.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/hal_init.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 +\ Kein Zeilenumbruch am Dateiende. +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/autoconf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/autoconf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/basic_types.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/basic_types.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/circ_buf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/circ_buf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_conf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_conf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/ethernet.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/ethernet.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/farray.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/farray.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/h2clbk.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/h2clbk.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DETestHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DETestHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUTestHWImg.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/Hal8192DUTestHWImg.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/hal_init.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/hal_init.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/ieee80211.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/ieee80211.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/if_ether.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/if_ether.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/ip.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/ip.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/nic_spec.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/nic_spec.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_intf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_intf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_service.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/osdep_service.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_hal.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_hal.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_ops.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_ops.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_osintf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/pci_osintf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/recv_osdep.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/recv_osdep.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_android.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_android.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_debug.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_debug.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_event.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_event.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ht.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ht.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_io.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_io.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_iol.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_iol.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_led.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_led.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_qos.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_qos.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_recv.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_recv.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_rf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_rf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_security.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_security.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_version.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_version.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_hal.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_hal.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_ce.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_ce.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_linux.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_linux.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_xp.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_ops_xp.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_osintf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sdio_osintf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/sta_info.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/sta_info.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_hal.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_hal.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_ops.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_ops.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_osintf.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_osintf.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/wifi.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/wifi.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/Kconfig linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/Kconfig +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/Makefile linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/Makefile +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/sdio_intf.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/sdio_intf.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c +diff -Naur linux-3.6.7/drivers/net/wireless/rtl8192cu/wlan0dhcp linux-rpi-3.6.7/drivers/net/wireless/rtl8192cu/wlan0dhcp +diff -Naur linux-3.6.7/drivers/spi/Kconfig linux-rpi-3.6.7/drivers/spi/Kconfig --- linux-3.6.7/drivers/spi/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/spi/Kconfig 2012-11-18 20:53:35.210717059 +0100 ++++ linux-rpi-3.6.7/drivers/spi/Kconfig 2012-11-30 02:32:13.827227345 +0100 @@ -74,6 +74,14 @@ This selects a driver for the Atmel SPI Controller, present on many AT32 (AVR32) and AT91 (ARM) chips. @@ -24177,9 +26136,9 @@ diff -Naur linux-3.6.7/drivers/spi/Kconfig linux-3.6.7.patch/drivers/spi/Kconfig config SPI_BFIN5XX tristate "SPI controller driver for ADI Blackfin5xx" depends on BLACKFIN -diff -Naur linux-3.6.7/drivers/spi/Makefile linux-3.6.7.patch/drivers/spi/Makefile +diff -Naur linux-3.6.7/drivers/spi/Makefile linux-rpi-3.6.7/drivers/spi/Makefile --- linux-3.6.7/drivers/spi/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/spi/Makefile 2012-11-18 20:53:35.210717059 +0100 ++++ linux-rpi-3.6.7/drivers/spi/Makefile 2012-11-30 02:32:13.823227264 +0100 @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_AU1550) += spi-au1550.o obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o @@ -24188,9 +26147,9 @@ diff -Naur linux-3.6.7/drivers/spi/Makefile linux-3.6.7.patch/drivers/spi/Makefi obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o -diff -Naur linux-3.6.7/drivers/spi/spi-bcm2708.c linux-3.6.7.patch/drivers/spi/spi-bcm2708.c +diff -Naur linux-3.6.7/drivers/spi/spi-bcm2708.c linux-rpi-3.6.7/drivers/spi/spi-bcm2708.c --- linux-3.6.7/drivers/spi/spi-bcm2708.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/spi/spi-bcm2708.c 2012-11-18 20:53:35.211717078 +0100 ++++ linux-rpi-3.6.7/drivers/spi/spi-bcm2708.c 2012-11-30 02:32:13.800226800 +0100 @@ -0,0 +1,594 @@ +/* + * Driver for Broadcom BCM2708 SPI Controllers @@ -24786,9 +26745,12 @@ diff -Naur linux-3.6.7/drivers/spi/spi-bcm2708.c linux-3.6.7.patch/drivers/spi/s +MODULE_AUTHOR("Chris Boot "); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -diff -Naur linux-3.6.7/drivers/thermal/bcm2835-thermal.c linux-3.6.7.patch/drivers/thermal/bcm2835-thermal.c +diff -Naur linux-3.6.7/drivers/staging/media/lirc/Kconfig linux-rpi-3.6.7/drivers/staging/media/lirc/Kconfig +diff -Naur linux-3.6.7/drivers/staging/media/lirc/lirc_rpi.c linux-rpi-3.6.7/drivers/staging/media/lirc/lirc_rpi.c +diff -Naur linux-3.6.7/drivers/staging/media/lirc/Makefile linux-rpi-3.6.7/drivers/staging/media/lirc/Makefile +diff -Naur linux-3.6.7/drivers/thermal/bcm2835-thermal.c linux-rpi-3.6.7/drivers/thermal/bcm2835-thermal.c --- linux-3.6.7/drivers/thermal/bcm2835-thermal.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/thermal/bcm2835-thermal.c 2012-11-18 20:53:35.212717097 +0100 ++++ linux-rpi-3.6.7/drivers/thermal/bcm2835-thermal.c 2012-11-30 02:32:20.289355927 +0100 @@ -0,0 +1,208 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -24998,9 +26960,9 @@ diff -Naur linux-3.6.7/drivers/thermal/bcm2835-thermal.c linux-3.6.7.patch/drive +MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); + +module_platform_driver(bcm2835_thermal_driver); -diff -Naur linux-3.6.7/drivers/thermal/Kconfig linux-3.6.7.patch/drivers/thermal/Kconfig +diff -Naur linux-3.6.7/drivers/thermal/Kconfig linux-rpi-3.6.7/drivers/thermal/Kconfig --- linux-3.6.7/drivers/thermal/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/thermal/Kconfig 2012-11-18 20:53:35.212717097 +0100 ++++ linux-rpi-3.6.7/drivers/thermal/Kconfig 2012-11-30 02:32:20.290355947 +0100 @@ -27,3 +27,14 @@ help Enable this to plug the SPEAr thermal sensor driver into the Linux @@ -25016,9 +26978,9 @@ diff -Naur linux-3.6.7/drivers/thermal/Kconfig linux-3.6.7.patch/drivers/thermal + +endif # THERMAL_BCM2835 + -diff -Naur linux-3.6.7/drivers/thermal/Makefile linux-3.6.7.patch/drivers/thermal/Makefile +diff -Naur linux-3.6.7/drivers/thermal/Makefile linux-rpi-3.6.7/drivers/thermal/Makefile --- linux-3.6.7/drivers/thermal/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/thermal/Makefile 2012-11-18 20:53:35.213717116 +0100 ++++ linux-rpi-3.6.7/drivers/thermal/Makefile 2012-11-30 02:32:20.289355927 +0100 @@ -3,4 +3,5 @@ # @@ -25027,9 +26989,9 @@ diff -Naur linux-3.6.7/drivers/thermal/Makefile linux-3.6.7.patch/drivers/therma \ Kein Zeilenumbruch am Dateiende. +obj-$(CONFIG_SPEAR_THERMAL) += spear_thermal.o +obj-$(CONFIG_THERMAL_BCM2835) += bcm2835-thermal.o -diff -Naur linux-3.6.7/drivers/usb/core/generic.c linux-3.6.7.patch/drivers/usb/core/generic.c +diff -Naur linux-3.6.7/drivers/usb/core/generic.c linux-rpi-3.6.7/drivers/usb/core/generic.c --- linux-3.6.7/drivers/usb/core/generic.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/core/generic.c 2012-11-18 20:53:35.213717116 +0100 ++++ linux-rpi-3.6.7/drivers/usb/core/generic.c 2012-11-30 02:32:16.235275269 +0100 @@ -149,6 +149,7 @@ dev_warn(&udev->dev, "no configuration chosen from %d choice%s\n", @@ -25038,9 +27000,9 @@ diff -Naur linux-3.6.7/drivers/usb/core/generic.c linux-3.6.7.patch/drivers/usb/ } return i; } -diff -Naur linux-3.6.7/drivers/usb/core/hub.c linux-3.6.7.patch/drivers/usb/core/hub.c +diff -Naur linux-3.6.7/drivers/usb/core/hub.c linux-rpi-3.6.7/drivers/usb/core/hub.c --- linux-3.6.7/drivers/usb/core/hub.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/core/hub.c 2012-11-18 20:53:35.216717173 +0100 ++++ linux-rpi-3.6.7/drivers/usb/core/hub.c 2012-11-30 02:32:16.297276498 +0100 @@ -25,7 +25,6 @@ #include #include @@ -25161,9 +27123,9 @@ diff -Naur linux-3.6.7/drivers/usb/core/hub.c linux-3.6.7.patch/drivers/usb/core } if (hub->hdev->parent || !hcd->driver->port_handed_over || -diff -Naur linux-3.6.7/drivers/usb/core/message.c linux-3.6.7.patch/drivers/usb/core/message.c +diff -Naur linux-3.6.7/drivers/usb/core/message.c linux-rpi-3.6.7/drivers/usb/core/message.c --- linux-3.6.7/drivers/usb/core/message.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/core/message.c 2012-11-18 20:53:35.218717211 +0100 ++++ linux-rpi-3.6.7/drivers/usb/core/message.c 2012-11-30 02:32:16.299276536 +0100 @@ -1877,6 +1877,85 @@ if (cp->string == NULL && !(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS)) @@ -25250,9 +27212,9 @@ diff -Naur linux-3.6.7/drivers/usb/core/message.c linux-3.6.7.patch/drivers/usb/ /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); -diff -Naur linux-3.6.7/drivers/usb/core/otg_whitelist.h linux-3.6.7.patch/drivers/usb/core/otg_whitelist.h +diff -Naur linux-3.6.7/drivers/usb/core/otg_whitelist.h linux-rpi-3.6.7/drivers/usb/core/otg_whitelist.h --- linux-3.6.7/drivers/usb/core/otg_whitelist.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/core/otg_whitelist.h 2012-11-18 20:53:35.219717230 +0100 ++++ linux-rpi-3.6.7/drivers/usb/core/otg_whitelist.h 2012-11-30 02:32:16.238275329 +0100 @@ -19,33 +19,82 @@ static struct usb_device_id whitelist_table [] = { @@ -25468,9 +27430,9 @@ diff -Naur linux-3.6.7/drivers/usb/core/otg_whitelist.h linux-3.6.7.patch/driver #endif } -diff -Naur linux-3.6.7/drivers/usb/gadget/file_storage.c linux-3.6.7.patch/drivers/usb/gadget/file_storage.c +diff -Naur linux-3.6.7/drivers/usb/gadget/file_storage.c linux-rpi-3.6.7/drivers/usb/gadget/file_storage.c --- linux-3.6.7/drivers/usb/gadget/file_storage.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/gadget/file_storage.c 2012-11-18 20:53:35.221717268 +0100 ++++ linux-rpi-3.6.7/drivers/usb/gadget/file_storage.c 2012-11-30 02:32:18.891327835 +0100 @@ -573,8 +573,37 @@ .iConfiguration = FSG_STRING_CONFIG, .bmAttributes = USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER, @@ -25598,9 +27560,9 @@ diff -Naur linux-3.6.7/drivers/usb/gadget/file_storage.c linux-3.6.7.patch/drive /* Allocate the request and buffer for endpoint 0 */ fsg->ep0req = req = usb_ep_alloc_request(fsg->ep0, GFP_KERNEL); if (!req) -diff -Naur linux-3.6.7/drivers/usb/gadget/Kconfig linux-3.6.7.patch/drivers/usb/gadget/Kconfig +diff -Naur linux-3.6.7/drivers/usb/gadget/Kconfig linux-rpi-3.6.7/drivers/usb/gadget/Kconfig --- linux-3.6.7/drivers/usb/gadget/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/gadget/Kconfig 2012-11-18 20:53:35.222717287 +0100 ++++ linux-rpi-3.6.7/drivers/usb/gadget/Kconfig 2012-11-30 02:32:18.890327814 +0100 @@ -505,6 +505,12 @@ bool depends on USB_GADGET_DUALSPEED @@ -25614,9 +27576,9 @@ diff -Naur linux-3.6.7/drivers/usb/gadget/Kconfig linux-3.6.7.patch/drivers/usb/ # # USB Gadget Drivers # -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/changes.txt linux-3.6.7.patch/drivers/usb/host/dwc_common_port/changes.txt +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/changes.txt linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/changes.txt --- linux-3.6.7/drivers/usb/host/dwc_common_port/changes.txt 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/changes.txt 2012-11-18 20:53:35.223717306 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/changes.txt 2012-11-30 02:32:14.729245356 +0100 @@ -0,0 +1,174 @@ + +dwc_read_reg32() and friends now take an additional parameter, a pointer to an @@ -25792,9 +27754,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/changes.txt linux-3.6.7. +A DWC_LIBMODULE #define has also been added. If this is not defined, then the +module code in dwc_common_linux.c is not compiled in. This allows linking the +library code directly into a driver module, instead of as a standalone module. -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg linux-3.6.7.patch/drivers/usb/host/dwc_common_port/doc/doxygen.cfg +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg --- linux-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 2012-11-18 20:53:35.224717325 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 2012-11-30 02:32:14.729245356 +0100 @@ -0,0 +1,270 @@ +# Doxyfile 1.4.5 + @@ -26066,9 +28028,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/doc/doxygen.cfg linux-3. +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_cc.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_cc.c 2012-11-18 20:53:35.226717363 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c 2012-11-30 02:32:14.730245377 +0100 @@ -0,0 +1,532 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_cc.c $ @@ -26602,9 +28564,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.c linux-3.6.7.pat +} + +#endif /* DWC_CCLIB */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_cc.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_cc.h 2012-11-18 20:53:35.227717382 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h 2012-11-30 02:32:14.734245458 +0100 @@ -0,0 +1,225 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_cc.h $ @@ -26831,9 +28793,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_cc.h linux-3.6.7.pat + +#endif /* _DWC_CC_H_ */ + -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 2012-11-18 20:53:35.228717401 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 2012-11-30 02:32:14.727245316 +0100 @@ -0,0 +1,1308 @@ +#include "dwc_os.h" +#include "dwc_list.h" @@ -28143,9 +30105,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c linux- +{ + return wq->pending; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_linux.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_linux.c 2012-11-18 20:53:35.230717439 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c 2012-11-30 02:32:14.726245296 +0100 @@ -0,0 +1,1421 @@ +#include +#include @@ -29568,9 +31530,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_linux.c linux +MODULE_LICENSE ("GPL"); + +#endif /* DWC_LIBMODULE */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 2012-11-18 20:53:35.232717477 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 2012-11-30 02:32:14.727245316 +0100 @@ -0,0 +1,1275 @@ +#include "dwc_os.h" +#include "dwc_list.h" @@ -30847,9 +32809,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c linux- +{ + return wq->pending; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_crypto.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_crypto.c 2012-11-18 20:53:35.232717477 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c 2012-11-30 02:32:14.726245296 +0100 @@ -0,0 +1,308 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_crypto.c $ @@ -31159,9 +33121,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.c linux-3.6.7 +} + +#endif /* DWC_CRYPTOLIB */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_crypto.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_crypto.h 2012-11-18 20:53:35.233717496 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h 2012-11-30 02:32:14.728245336 +0100 @@ -0,0 +1,111 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_crypto.h $ @@ -31274,9 +33236,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_crypto.h linux-3.6.7 +#endif + +#endif /* _DWC_CRYPTO_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_dh.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_dh.c 2012-11-18 20:53:35.234717515 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c 2012-11-30 02:32:14.733245438 +0100 @@ -0,0 +1,291 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_dh.c $ @@ -31569,9 +33531,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.c linux-3.6.7.pat +#endif /* !CONFIG_MACH_IPMATE */ + +#endif /* DWC_CRYPTOLIB */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_dh.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_dh.h 2012-11-18 20:53:35.234717515 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h 2012-11-30 02:32:14.728245336 +0100 @@ -0,0 +1,106 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_dh.h $ @@ -31679,9 +33641,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_dh.h linux-3.6.7.pat +#endif + +#endif /* _DWC_DH_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_list.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_list.h 2012-11-18 20:53:35.236717553 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h 2012-11-30 02:32:14.733245438 +0100 @@ -0,0 +1,594 @@ +/* $OpenBSD: queue.h,v 1.26 2004/05/04 16:59:32 grange Exp $ */ +/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */ @@ -32277,9 +34239,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_list.h linux-3.6.7.p +#endif + +#endif /* _DWC_LIST_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_mem.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_mem.c 2012-11-18 20:53:35.236717553 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c 2012-11-30 02:32:14.729245356 +0100 @@ -0,0 +1,245 @@ +/* Memory Debugging */ +#ifdef DWC_DEBUG_MEMORY @@ -32526,9 +34488,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_mem.c linux-3.6.7.pa +} + +#endif /* DWC_DEBUG_MEMORY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_modpow.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_modpow.c 2012-11-18 20:53:35.237717572 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c 2012-11-30 02:32:14.734245458 +0100 @@ -0,0 +1,636 @@ +/* Bignum routines adapted from PUTTY sources. PuTTY copyright notice follows. + * @@ -33166,9 +35128,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.c linux-3.6.7 +#endif /* CONFIG_MACH_IPMATE */ + +#endif /*DWC_CRYPTOLIB */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_modpow.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_modpow.h 2012-11-18 20:53:35.238717591 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h 2012-11-30 02:32:14.727245316 +0100 @@ -0,0 +1,34 @@ +/* + * dwc_modpow.h @@ -33204,9 +35166,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_modpow.h linux-3.6.7 +#endif + +#endif /* _LINUX_BIGNUM_H */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_notifier.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_notifier.c 2012-11-18 20:53:35.238717591 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c 2012-11-30 02:32:14.729245356 +0100 @@ -0,0 +1,319 @@ +#ifdef DWC_NOTIFYLIB + @@ -33527,9 +35489,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.c linux-3.6 +} + +#endif /* DWC_NOTIFYLIB */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_notifier.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_notifier.h 2012-11-18 20:53:35.239717610 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h 2012-11-30 02:32:14.732245418 +0100 @@ -0,0 +1,122 @@ + +#ifndef __DWC_NOTIFIER_H__ @@ -33653,9 +35615,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_notifier.h linux-3.6 +#endif + +#endif /* __DWC_NOTIFIER_H__ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_os.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/dwc_os.h 2012-11-18 20:53:35.241717648 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h 2012-11-30 02:32:14.731245398 +0100 @@ -0,0 +1,1260 @@ +/* ========================================================================= + * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_os.h $ @@ -34917,9 +36879,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/dwc_os.h linux-3.6.7.pat +#endif + +#endif /* _DWC_OS_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile --- linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile 2012-11-18 20:53:35.242717667 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile 2012-11-30 02:32:14.733245438 +0100 @@ -0,0 +1,58 @@ +# +# Makefile for DWC_common library @@ -34979,9 +36941,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile linux-3.6.7.pat + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile.fbsd +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd --- linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile.fbsd 2012-11-18 20:53:35.242717667 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd 2012-11-30 02:32:14.732245418 +0100 @@ -0,0 +1,17 @@ +CFLAGS += -I/sys/i386/compile/GENERIC -I/sys/i386/include -I/usr/include +CFLAGS += -DDWC_FREEBSD @@ -35000,9 +36962,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.fbsd linux-3.6. + dwc_common_fbsd.c dwc_mem.c + +.include -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile.linux +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux --- linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/Makefile.linux 2012-11-18 20:53:35.244717705 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux 2012-11-30 02:32:14.730245377 +0100 @@ -0,0 +1,49 @@ +# +# Makefile for DWC_common library @@ -35053,9 +37015,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/Makefile.linux linux-3.6 + +clean: + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/usb.h linux-3.6.7.patch/drivers/usb/host/dwc_common_port/usb.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/usb.h linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/usb.h --- linux-3.6.7/drivers/usb/host/dwc_common_port/usb.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_common_port/usb.h 2012-11-18 20:53:35.246717742 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_common_port/usb.h 2012-11-30 02:32:14.732245418 +0100 @@ -0,0 +1,946 @@ +/* + * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -36003,9 +37965,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_common_port/usb.h linux-3.6.7.patch/ +#endif + +#endif /* _USB_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-3.6.7.patch/drivers/usb/host/dwc_otg/doc/doxygen.cfg +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-rpi-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg --- linux-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/doc/doxygen.cfg 2012-11-18 20:53:35.247717761 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg 2012-11-30 02:32:15.382258417 +0100 @@ -0,0 +1,224 @@ +# Doxyfile 1.3.9.1 + @@ -36231,9 +38193,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-3.6.7.patc +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dummy_audio.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dummy_audio.c 2012-11-18 20:53:35.249717799 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c 2012-11-30 02:32:15.765265945 +0100 @@ -0,0 +1,1575 @@ +/* + * zero.c -- Gadget Zero, for USB development @@ -37810,9 +39772,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dummy_audio.c linux-3.6.7.patch/ + remove_proc_entry("isoc_test", NULL); +} +module_exit (cleanup); -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_cfi_common.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_cfi_common.h 2012-11-18 20:53:35.250717818 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h 2012-11-30 02:32:15.384258458 +0100 @@ -0,0 +1,142 @@ +/* ========================================================================== + * Synopsys HS OTG Linux Software Driver and documentation (hereinafter, @@ -37956,9 +39918,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-3.6.7.pat +typedef struct cfi_string cfi_string_t; + +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_adp.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_adp.c 2012-11-18 20:53:35.251717837 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c 2012-11-30 02:32:15.650263686 +0100 @@ -0,0 +1,854 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_adp.c $ @@ -38814,9 +40776,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-3.6.7.patch/ +#endif + return 1; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_adp.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_adp.h 2012-11-18 20:53:35.251717837 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h 2012-11-30 02:32:15.389258558 +0100 @@ -0,0 +1,80 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_adp.h $ @@ -38898,9 +40860,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-3.6.7.patch/ +extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if); + +#endif //__DWC_OTG_ADP_H__ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_attr.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_attr.c 2012-11-18 20:53:35.253717875 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c 2012-11-30 02:32:15.733265310 +0100 @@ -0,0 +1,1210 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_attr.c $ @@ -40112,9 +42074,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-3.6.7.patch + device_remove_file(&dev->dev, &dev_attr_sleep_status); +#endif +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_attr.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_attr.h 2012-11-18 20:53:35.254717894 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h 2012-11-30 02:32:15.498260709 +0100 @@ -0,0 +1,89 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_attr.h $ @@ -40205,9 +42167,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-3.6.7.patch +#endif + ); +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cfi.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 2012-11-18 20:53:35.256717932 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 2012-11-30 02:32:15.420259177 +0100 @@ -0,0 +1,1876 @@ +/* ========================================================================== + * Synopsys HS OTG Linux Software Driver and documentation (hereinafter, @@ -42085,9 +44047,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-3.6.7.patch/ +} + +#endif //DWC_UTE_CFI -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cfi.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 2012-11-18 20:53:35.257717951 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 2012-11-30 02:32:15.242255634 +0100 @@ -0,0 +1,320 @@ +/* ========================================================================== + * Synopsys HS OTG Linux Software Driver and documentation (hereinafter, @@ -42409,9 +44371,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-3.6.7.patch/ +int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl); + +#endif /* (__DWC_OTG_CFI_H__) */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil.c 2012-11-18 20:53:35.266718122 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c 2012-11-30 02:32:15.722265096 +0100 @@ -0,0 +1,7151 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil.c $ @@ -49564,9 +51526,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-3.6.7.patch/ + dwc_otg_pcd_start_srp_timer(core_if); + return; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil.h 2012-11-18 20:53:35.269718177 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h 2012-11-30 02:32:15.385258478 +0100 @@ -0,0 +1,1464 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil.h $ @@ -51032,9 +52994,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-3.6.7.patch/ +////////////////////////////////////////////////////////////////////// + +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 2012-11-18 20:53:35.271718217 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 2012-11-30 02:32:15.356257892 +0100 @@ -0,0 +1,1571 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil_intr.c $ @@ -52607,9 +54569,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-3.6.7.p + + return retval; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_core_if.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 2012-11-18 20:53:35.272718237 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 2012-11-30 02:32:15.765265945 +0100 @@ -0,0 +1,705 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_core_if.h $ @@ -53316,9 +55278,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-3.6.7.pa +/** @} */ + +#endif /* __DWC_CORE_IF_H__ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_dbg.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 2012-11-18 20:53:35.273718256 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 2012-11-30 02:32:15.390258578 +0100 @@ -0,0 +1,117 @@ +/* ========================================================================== + * @@ -53437,9 +55399,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-3.6.7.patch/ + +#endif /*DEBUG*/ +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_driver.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_driver.c 2012-11-18 20:53:35.276718311 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c 2012-11-30 02:32:15.386258498 +0100 @@ -0,0 +1,1732 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_driver.c $ @@ -55173,9 +57135,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-3.6.7.pat + + +*/ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_driver.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_driver.h 2012-11-18 20:53:35.276718311 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h 2012-11-30 02:32:15.356257892 +0100 @@ -0,0 +1,86 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_driver.h $ @@ -55263,9 +57225,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-3.6.7.pat +#endif + +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 2012-11-18 20:53:35.281718407 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 2012-11-30 02:32:15.767265984 +0100 @@ -0,0 +1,3498 @@ + +/* ========================================================================== @@ -58765,9 +60727,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-3.6.7.patch/ +} + +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 2012-11-18 20:53:35.283718445 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 2012-11-30 02:32:15.390258578 +0100 @@ -0,0 +1,1132 @@ +/*========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_ddma.c $ @@ -59901,9 +61863,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-3.6.7.p +} + +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 2012-11-18 20:53:35.284718464 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 2012-11-30 02:32:15.757265778 +0100 @@ -0,0 +1,829 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd.h $ @@ -60734,9 +62696,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-3.6.7.patch/ +#endif +#endif +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 2012-11-18 20:53:35.285718483 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 2012-11-30 02:32:15.765265945 +0100 @@ -0,0 +1,417 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_if.h $ @@ -61155,9 +63117,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-3.6.7.pat + +#endif /* __DWC_HCD_IF_H__ */ +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 2012-11-18 20:53:35.288718540 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 2012-11-30 02:32:15.427259317 +0100 @@ -0,0 +1,2248 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_intr.c $ @@ -63407,9 +65369,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-3.6.7.p + return retval; +} +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 2012-11-18 20:53:35.290718578 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 2012-11-30 02:32:15.376258296 +0100 @@ -0,0 +1,938 @@ + +/* ========================================================================== @@ -64349,9 +66311,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-3.6.7. +} + +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 2012-11-18 20:53:35.291718597 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 2012-11-30 02:32:15.388258538 +0100 @@ -0,0 +1,957 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_queue.c $ @@ -65310,9 +67272,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-3.6.7. +} + +#endif /* DWC_DEVICE_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 2012-11-18 20:53:35.292718616 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 2012-11-30 02:32:15.385258478 +0100 @@ -0,0 +1,113 @@ +#include "dwc_otg_regs.h" +#include "dwc_otg_dbg.h" @@ -65427,9 +67389,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-3.6.7.p + + return; +} -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 2012-11-18 20:53:35.292718616 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 2012-11-30 02:32:15.369258154 +0100 @@ -0,0 +1,36 @@ +#ifndef __DWC_OTG_MPHI_FIX_H__ +#define __DWC_OTG_MPHI_FIX_H__ @@ -65467,9 +67429,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-3.6.7.p +#endif + +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 2012-11-18 20:53:35.293718635 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 2012-11-30 02:32:15.387258518 +0100 @@ -0,0 +1,188 @@ +#ifndef _DWC_OS_DEP_H_ +#define _DWC_OS_DEP_H_ @@ -65659,9 +67621,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-3.6.7.pat + + +#endif /* _DWC_OS_DEP_H_ */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 2012-11-18 20:53:35.296718692 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 2012-11-30 02:32:15.371258194 +0100 @@ -0,0 +1,2708 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd.c $ @@ -68371,9 +70333,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-3.6.7.patch/ +} + +#endif /* DWC_HOST_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 2012-11-18 20:53:35.297718711 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 2012-11-30 02:32:15.251255815 +0100 @@ -0,0 +1,266 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd.h $ @@ -68641,9 +70603,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-3.6.7.patch/ +extern void do_test_mode(void *data); +#endif +#endif /* DWC_HOST_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 2012-11-18 20:53:35.298718730 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 2012-11-30 02:32:15.387258518 +0100 @@ -0,0 +1,360 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_if.h $ @@ -69005,9 +70967,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-3.6.7.pat +#endif /* __DWC_PCD_IF_H__ */ + +#endif /* DWC_HOST_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 2012-11-18 20:53:35.304718844 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 2012-11-30 02:32:15.389258558 +0100 @@ -0,0 +1,5147 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_intr.c $ @@ -74156,9 +76118,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-3.6.7.p +} + +#endif /* DWC_HOST_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 2012-11-18 20:53:35.306718882 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 2012-11-30 02:32:15.386258498 +0100 @@ -0,0 +1,1374 @@ + /* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_linux.c $ @@ -75534,9 +77496,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-3.6.7. +EXPORT_SYMBOL(usb_gadget_unregister_driver); + +#endif /* DWC_HOST_ONLY */ -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_regs.h +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h --- linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/dwc_otg_regs.h 2012-11-18 20:53:35.309718939 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h 2012-11-30 02:32:15.764265926 +0100 @@ -0,0 +1,2550 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_regs.h $ @@ -78088,9 +80050,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-3.6.7.patch +} gpwrdn_data_t; + +#endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/Makefile linux-3.6.7.patch/drivers/usb/host/dwc_otg/Makefile +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/Makefile linux-rpi-3.6.7/drivers/usb/host/dwc_otg/Makefile --- linux-3.6.7/drivers/usb/host/dwc_otg/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/Makefile 2012-11-18 20:53:35.310718958 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/Makefile 2012-11-30 02:32:15.650263686 +0100 @@ -0,0 +1,81 @@ +# +# Makefile for DWC_otg Highspeed USB controller driver @@ -78173,9 +80135,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/Makefile linux-3.6.7.patch/drive + rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers + +endif -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm --- linux-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 2012-11-18 20:53:35.311718977 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 2012-11-30 02:32:15.370258174 +0100 @@ -0,0 +1,337 @@ +package dwc_otg_test; + @@ -78514,9 +80476,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux-3.6.7 +); + +1; -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/Makefile linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/Makefile +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/Makefile linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/Makefile --- linux-3.6.7/drivers/usb/host/dwc_otg/test/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/Makefile 2012-11-18 20:53:35.311718977 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/Makefile 2012-11-30 02:32:15.370258174 +0100 @@ -0,0 +1,16 @@ + +PERL=/usr/bin/perl @@ -78534,9 +80496,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/Makefile linux-3.6.7.patch/ + else echo "=======> $$test, FAILED" ; \ + fi \ + done -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/test_mod_param.pl +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl --- linux-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/test_mod_param.pl 2012-11-18 20:53:35.312718995 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl 2012-11-30 02:32:15.371258194 +0100 @@ -0,0 +1,133 @@ +#!/usr/bin/perl -w +# @@ -78671,9 +80633,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_mod_param.pl linux-3.6 + +test_main(); +0; -diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/test_sysfs.pl +diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl --- linux-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/dwc_otg/test/test_sysfs.pl 2012-11-18 20:53:35.312718995 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl 2012-11-30 02:32:15.369258154 +0100 @@ -0,0 +1,193 @@ +#!/usr/bin/perl -w +# @@ -78868,9 +80830,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-3.6.7.p + +test_main(); +0; -diff -Naur linux-3.6.7/drivers/usb/host/Kconfig linux-3.6.7.patch/drivers/usb/host/Kconfig +diff -Naur linux-3.6.7/drivers/usb/host/Kconfig linux-rpi-3.6.7/drivers/usb/host/Kconfig --- linux-3.6.7/drivers/usb/host/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/Kconfig 2012-11-18 20:53:35.313719014 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/Kconfig 2012-11-30 02:32:16.001270640 +0100 @@ -610,6 +610,19 @@ To compile this driver a module, choose M here: the module will be called "hwa-hc". @@ -78891,9 +80853,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/Kconfig linux-3.6.7.patch/drivers/usb/ho config USB_IMX21_HCD tristate "i.MX21 HCD support" depends on USB && ARM && ARCH_MXC -diff -Naur linux-3.6.7/drivers/usb/host/Makefile linux-3.6.7.patch/drivers/usb/host/Makefile +diff -Naur linux-3.6.7/drivers/usb/host/Makefile linux-rpi-3.6.7/drivers/usb/host/Makefile --- linux-3.6.7/drivers/usb/host/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/host/Makefile 2012-11-18 20:53:35.314719033 +0100 ++++ linux-rpi-3.6.7/drivers/usb/host/Makefile 2012-11-30 02:32:15.080252417 +0100 @@ -37,6 +37,8 @@ obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o @@ -78903,9 +80865,9 @@ diff -Naur linux-3.6.7/drivers/usb/host/Makefile linux-3.6.7.patch/drivers/usb/h obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o obj-$(CONFIG_USB_FSL_MPH_DR_OF) += fsl-mph-dr-of.o obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o -diff -Naur linux-3.6.7/drivers/usb/Makefile linux-3.6.7.patch/drivers/usb/Makefile +diff -Naur linux-3.6.7/drivers/usb/Makefile linux-rpi-3.6.7/drivers/usb/Makefile --- linux-3.6.7/drivers/usb/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/usb/Makefile 2012-11-18 20:53:35.314719033 +0100 ++++ linux-rpi-3.6.7/drivers/usb/Makefile 2012-11-30 02:32:18.966329340 +0100 @@ -25,6 +25,7 @@ obj-$(CONFIG_USB_R8A66597_HCD) += host/ obj-$(CONFIG_USB_HWA_HCD) += host/ @@ -78914,9 +80876,9 @@ diff -Naur linux-3.6.7/drivers/usb/Makefile linux-3.6.7.patch/drivers/usb/Makefi obj-$(CONFIG_USB_IMX21_HCD) += host/ obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/ -diff -Naur linux-3.6.7/drivers/video/bcm2708_fb.c linux-3.6.7.patch/drivers/video/bcm2708_fb.c +diff -Naur linux-3.6.7/drivers/video/bcm2708_fb.c linux-rpi-3.6.7/drivers/video/bcm2708_fb.c --- linux-3.6.7/drivers/video/bcm2708_fb.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/video/bcm2708_fb.c 2012-11-18 20:53:35.315719052 +0100 ++++ linux-rpi-3.6.7/drivers/video/bcm2708_fb.c 2012-11-30 02:32:07.046092008 +0100 @@ -0,0 +1,491 @@ +/* + * linux/drivers/video/bcm2708_fb.c @@ -79409,9 +81371,9 @@ diff -Naur linux-3.6.7/drivers/video/bcm2708_fb.c linux-3.6.7.patch/drivers/vide +MODULE_PARM_DESC(fbwidth, "Width of ARM Framebuffer"); +MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer"); +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer"); -diff -Naur linux-3.6.7/drivers/video/Kconfig linux-3.6.7.patch/drivers/video/Kconfig +diff -Naur linux-3.6.7/drivers/video/Kconfig linux-rpi-3.6.7/drivers/video/Kconfig --- linux-3.6.7/drivers/video/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/video/Kconfig 2012-11-18 20:53:35.316719071 +0100 ++++ linux-rpi-3.6.7/drivers/video/Kconfig 2012-11-30 02:32:08.766126503 +0100 @@ -312,6 +312,20 @@ help Support the Permedia2 FIFO disconnect feature. @@ -79433,9 +81395,9 @@ diff -Naur linux-3.6.7/drivers/video/Kconfig linux-3.6.7.patch/drivers/video/Kco config FB_ARMCLCD tristate "ARM PrimeCell PL110 support" depends on FB && ARM && ARM_AMBA -diff -Naur linux-3.6.7/drivers/video/logo/logo_linux_clut224.ppm linux-3.6.7.patch/drivers/video/logo/logo_linux_clut224.ppm +diff -Naur linux-3.6.7/drivers/video/logo/logo_linux_clut224.ppm linux-rpi-3.6.7/drivers/video/logo/logo_linux_clut224.ppm --- linux-3.6.7/drivers/video/logo/logo_linux_clut224.ppm 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/video/logo/logo_linux_clut224.ppm 2012-11-18 20:53:35.321719166 +0100 ++++ linux-rpi-3.6.7/drivers/video/logo/logo_linux_clut224.ppm 2012-11-30 02:32:06.552082117 +0100 @@ -1,1604 +1,883 @@ P3 -# Standard 224-color Linux logo @@ -81922,9 +83884,9 @@ diff -Naur linux-3.6.7/drivers/video/logo/logo_linux_clut224.ppm linux-3.6.7.pat +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -diff -Naur linux-3.6.7/drivers/video/Makefile linux-3.6.7.patch/drivers/video/Makefile +diff -Naur linux-3.6.7/drivers/video/Makefile linux-rpi-3.6.7/drivers/video/Makefile --- linux-3.6.7/drivers/video/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/video/Makefile 2012-11-18 20:53:35.321719166 +0100 ++++ linux-rpi-3.6.7/drivers/video/Makefile 2012-11-30 02:32:08.136113880 +0100 @@ -99,6 +99,7 @@ obj-$(CONFIG_FB_PVR2) += pvr2fb.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o @@ -81933,9 +83895,9 @@ diff -Naur linux-3.6.7/drivers/video/Makefile linux-3.6.7.patch/drivers/video/Ma obj-$(CONFIG_FB_68328) += 68328fb.o obj-$(CONFIG_FB_GBE) += gbefb.o obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o -diff -Naur linux-3.6.7/drivers/watchdog/bcm2708_wdog.c linux-3.6.7.patch/drivers/watchdog/bcm2708_wdog.c +diff -Naur linux-3.6.7/drivers/watchdog/bcm2708_wdog.c linux-rpi-3.6.7/drivers/watchdog/bcm2708_wdog.c --- linux-3.6.7/drivers/watchdog/bcm2708_wdog.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/drivers/watchdog/bcm2708_wdog.c 2012-11-18 20:53:35.322719185 +0100 ++++ linux-rpi-3.6.7/drivers/watchdog/bcm2708_wdog.c 2012-11-30 02:32:38.320717114 +0100 @@ -0,0 +1,385 @@ +/* + * Broadcom BCM2708 watchdog driver. @@ -82322,9 +84284,9 @@ diff -Naur linux-3.6.7/drivers/watchdog/bcm2708_wdog.c linux-3.6.7.patch/drivers +MODULE_ALIAS_MISCDEV(TEMP_MINOR); +MODULE_LICENSE("GPL"); + -diff -Naur linux-3.6.7/drivers/watchdog/Kconfig linux-3.6.7.patch/drivers/watchdog/Kconfig +diff -Naur linux-3.6.7/drivers/watchdog/Kconfig linux-rpi-3.6.7/drivers/watchdog/Kconfig --- linux-3.6.7/drivers/watchdog/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/watchdog/Kconfig 2012-11-18 20:53:35.323719204 +0100 ++++ linux-rpi-3.6.7/drivers/watchdog/Kconfig 2012-11-30 02:32:38.608722892 +0100 @@ -352,6 +352,12 @@ To compile this driver as a module, choose M here: the module will be called imx2_wdt. @@ -82338,9 +84300,9 @@ diff -Naur linux-3.6.7/drivers/watchdog/Kconfig linux-3.6.7.patch/drivers/watchd # AVR32 Architecture config AT32AP700X_WDT -diff -Naur linux-3.6.7/drivers/watchdog/Makefile linux-3.6.7.patch/drivers/watchdog/Makefile +diff -Naur linux-3.6.7/drivers/watchdog/Makefile linux-rpi-3.6.7/drivers/watchdog/Makefile --- linux-3.6.7/drivers/watchdog/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/drivers/watchdog/Makefile 2012-11-18 20:53:35.324719223 +0100 ++++ linux-rpi-3.6.7/drivers/watchdog/Makefile 2012-11-30 02:32:38.545721632 +0100 @@ -52,6 +52,7 @@ obj-$(CONFIG_NUC900_WATCHDOG) += nuc900_wdt.o obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o @@ -82349,9 +84311,10 @@ diff -Naur linux-3.6.7/drivers/watchdog/Makefile linux-3.6.7.patch/drivers/watch # AVR32 Architecture obj-$(CONFIG_AT32AP700X_WDT) += at32ap700x_wdt.o -diff -Naur linux-3.6.7/include/linux/broadcom/vc_cma.h linux-3.6.7.patch/include/linux/broadcom/vc_cma.h +diff -Naur linux-3.6.7/.gitignore linux-rpi-3.6.7/.gitignore +diff -Naur linux-3.6.7/include/linux/broadcom/vc_cma.h linux-rpi-3.6.7/include/linux/broadcom/vc_cma.h --- linux-3.6.7/include/linux/broadcom/vc_cma.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/include/linux/broadcom/vc_cma.h 2012-11-18 20:53:35.325719242 +0100 ++++ linux-rpi-3.6.7/include/linux/broadcom/vc_cma.h 2012-11-30 02:34:30.351945705 +0100 @@ -0,0 +1,30 @@ +/***************************************************************************** +* Copyright 2012 Broadcom Corporation. All rights reserved. @@ -82383,9 +84346,9 @@ diff -Naur linux-3.6.7/include/linux/broadcom/vc_cma.h linux-3.6.7.patch/include + +#endif /* VC_CMA_H */ + -diff -Naur linux-3.6.7/include/linux/mmc/host.h linux-3.6.7.patch/include/linux/mmc/host.h +diff -Naur linux-3.6.7/include/linux/mmc/host.h linux-rpi-3.6.7/include/linux/mmc/host.h --- linux-3.6.7/include/linux/mmc/host.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/include/linux/mmc/host.h 2012-11-18 20:53:35.325719242 +0100 ++++ linux-rpi-3.6.7/include/linux/mmc/host.h 2012-11-30 02:34:27.906896939 +0100 @@ -257,6 +257,7 @@ #define MMC_CAP2_HC_ERASE_SZ (1 << 9) /* High-capacity erase size */ #define MMC_CAP2_CD_ACTIVE_HIGH (1 << 10) /* Card-detect signal active high */ @@ -82394,9 +84357,9 @@ diff -Naur linux-3.6.7/include/linux/mmc/host.h linux-3.6.7.patch/include/linux/ mmc_pm_flag_t pm_caps; /* supported pm features */ unsigned int power_notify_type; -diff -Naur linux-3.6.7/include/linux/mmc/sdhci.h linux-3.6.7.patch/include/linux/mmc/sdhci.h +diff -Naur linux-3.6.7/include/linux/mmc/sdhci.h linux-rpi-3.6.7/include/linux/mmc/sdhci.h --- linux-3.6.7/include/linux/mmc/sdhci.h 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/include/linux/mmc/sdhci.h 2012-11-18 20:53:35.326719261 +0100 ++++ linux-rpi-3.6.7/include/linux/mmc/sdhci.h 2012-11-30 02:34:27.931897441 +0100 @@ -93,6 +93,7 @@ #define SDHCI_QUIRK2_HOST_OFF_CARD_ON (1<<0) @@ -82421,9 +84384,9 @@ diff -Naur linux-3.6.7/include/linux/mmc/sdhci.h linux-3.6.7.patch/include/linux struct mmc_data *data; /* Current data request */ unsigned int data_early:1; /* Data finished before cmd */ -diff -Naur linux-3.6.7/kernel/module.c linux-3.6.7.patch/kernel/module.c +diff -Naur linux-3.6.7/kernel/module.c linux-rpi-3.6.7/kernel/module.c --- linux-3.6.7/kernel/module.c 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/kernel/module.c 2012-11-18 20:53:35.327719280 +0100 ++++ linux-rpi-3.6.7/kernel/module.c 2012-11-30 02:34:47.068277307 +0100 @@ -2675,20 +2675,23 @@ memset(ptr, 0, mod->core_size); mod->module_core = ptr; @@ -82461,9 +84424,9 @@ diff -Naur linux-3.6.7/kernel/module.c linux-3.6.7.patch/kernel/module.c /* Transfer each section which specifies SHF_ALLOC */ pr_debug("final section addresses:\n"); -diff -Naur linux-3.6.7/sound/arm/bcm2835.c linux-3.6.7.patch/sound/arm/bcm2835.c +diff -Naur linux-3.6.7/sound/arm/bcm2835.c linux-rpi-3.6.7/sound/arm/bcm2835.c --- linux-3.6.7/sound/arm/bcm2835.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/bcm2835.c 2012-11-18 20:53:35.328719299 +0100 ++++ linux-rpi-3.6.7/sound/arm/bcm2835.c 2012-11-30 02:35:22.239974059 +0100 @@ -0,0 +1,413 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -82878,9 +84841,9 @@ diff -Naur linux-3.6.7/sound/arm/bcm2835.c linux-3.6.7.patch/sound/arm/bcm2835.c +MODULE_DESCRIPTION("Alsa driver for BCM2835 chip"); +MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:bcm2835_alsa"); -diff -Naur linux-3.6.7/sound/arm/bcm2835-ctl.c linux-3.6.7.patch/sound/arm/bcm2835-ctl.c +diff -Naur linux-3.6.7/sound/arm/bcm2835-ctl.c linux-rpi-3.6.7/sound/arm/bcm2835-ctl.c --- linux-3.6.7/sound/arm/bcm2835-ctl.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/bcm2835-ctl.c 2012-11-18 20:53:35.329719318 +0100 ++++ linux-rpi-3.6.7/sound/arm/bcm2835-ctl.c 2012-11-30 02:35:22.142972091 +0100 @@ -0,0 +1,200 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -83082,9 +85045,9 @@ diff -Naur linux-3.6.7/sound/arm/bcm2835-ctl.c linux-3.6.7.patch/sound/arm/bcm28 + } + return 0; +} -diff -Naur linux-3.6.7/sound/arm/bcm2835.h linux-3.6.7.patch/sound/arm/bcm2835.h +diff -Naur linux-3.6.7/sound/arm/bcm2835.h linux-rpi-3.6.7/sound/arm/bcm2835.h --- linux-3.6.7/sound/arm/bcm2835.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/bcm2835.h 2012-11-18 20:53:35.329719318 +0100 ++++ linux-rpi-3.6.7/sound/arm/bcm2835.h 2012-11-30 02:35:22.238974039 +0100 @@ -0,0 +1,155 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -83241,9 +85204,9 @@ diff -Naur linux-3.6.7/sound/arm/bcm2835.h linux-3.6.7.patch/sound/arm/bcm2835.h +void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream); + +#endif /* __SOUND_ARM_BCM2835_H */ -diff -Naur linux-3.6.7/sound/arm/bcm2835-pcm.c linux-3.6.7.patch/sound/arm/bcm2835-pcm.c +diff -Naur linux-3.6.7/sound/arm/bcm2835-pcm.c linux-rpi-3.6.7/sound/arm/bcm2835-pcm.c --- linux-3.6.7/sound/arm/bcm2835-pcm.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/bcm2835-pcm.c 2012-11-18 20:53:35.330719337 +0100 ++++ linux-rpi-3.6.7/sound/arm/bcm2835-pcm.c 2012-11-30 02:35:22.138972009 +0100 @@ -0,0 +1,408 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -83653,9 +85616,9 @@ diff -Naur linux-3.6.7/sound/arm/bcm2835-pcm.c linux-3.6.7.patch/sound/arm/bcm28 + + return 0; +} -diff -Naur linux-3.6.7/sound/arm/bcm2835-vchiq.c linux-3.6.7.patch/sound/arm/bcm2835-vchiq.c +diff -Naur linux-3.6.7/sound/arm/bcm2835-vchiq.c linux-rpi-3.6.7/sound/arm/bcm2835-vchiq.c --- linux-3.6.7/sound/arm/bcm2835-vchiq.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/bcm2835-vchiq.c 2012-11-18 20:53:35.331719356 +0100 ++++ linux-rpi-3.6.7/sound/arm/bcm2835-vchiq.c 2012-11-30 02:35:22.142972091 +0100 @@ -0,0 +1,826 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -84483,9 +86446,9 @@ diff -Naur linux-3.6.7/sound/arm/bcm2835-vchiq.c linux-3.6.7.patch/sound/arm/bcm + atomic_sub(count, &alsa_stream->retrieved); + return count; +} -diff -Naur linux-3.6.7/sound/arm/Kconfig linux-3.6.7.patch/sound/arm/Kconfig +diff -Naur linux-3.6.7/sound/arm/Kconfig linux-rpi-3.6.7/sound/arm/Kconfig --- linux-3.6.7/sound/arm/Kconfig 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/Kconfig 2012-11-18 20:53:35.332719375 +0100 ++++ linux-rpi-3.6.7/sound/arm/Kconfig 2012-11-30 02:35:22.239974059 +0100 @@ -39,5 +39,12 @@ Say Y or M if you want to support any AC97 codec attached to the PXA2xx AC97 interface. @@ -84499,9 +86462,9 @@ diff -Naur linux-3.6.7/sound/arm/Kconfig linux-3.6.7.patch/sound/arm/Kconfig + endif # SND_ARM -diff -Naur linux-3.6.7/sound/arm/Makefile linux-3.6.7.patch/sound/arm/Makefile +diff -Naur linux-3.6.7/sound/arm/Makefile linux-rpi-3.6.7/sound/arm/Makefile --- linux-3.6.7/sound/arm/Makefile 2012-11-17 22:21:23.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/Makefile 2012-11-18 20:53:35.332719375 +0100 ++++ linux-rpi-3.6.7/sound/arm/Makefile 2012-11-30 02:35:22.237974019 +0100 @@ -14,3 +14,9 @@ obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o @@ -84512,9 +86475,9 @@ diff -Naur linux-3.6.7/sound/arm/Makefile linux-3.6.7.patch/sound/arm/Makefile + +EXTRA_CFLAGS += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 + -diff -Naur linux-3.6.7/sound/arm/vc_vchi_audioserv_defs.h linux-3.6.7.patch/sound/arm/vc_vchi_audioserv_defs.h +diff -Naur linux-3.6.7/sound/arm/vc_vchi_audioserv_defs.h linux-rpi-3.6.7/sound/arm/vc_vchi_audioserv_defs.h --- linux-3.6.7/sound/arm/vc_vchi_audioserv_defs.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-3.6.7.patch/sound/arm/vc_vchi_audioserv_defs.h 2012-11-18 20:53:35.333719393 +0100 ++++ linux-rpi-3.6.7/sound/arm/vc_vchi_audioserv_defs.h 2012-11-30 02:35:22.133971907 +0100 @@ -0,0 +1,114 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. @@ -84630,3 +86593,17 @@ diff -Naur linux-3.6.7/sound/arm/vc_vchi_audioserv_defs.h linux-3.6.7.patch/soun +} VC_AUDIO_MSG_T; + +#endif // _VC_AUDIO_DEFS_H_ +diff -Naur linux-3.6.7/sound/pci/Kconfig linux-rpi-3.6.7/sound/pci/Kconfig +--- linux-3.6.7/sound/pci/Kconfig 2012-11-17 22:21:23.000000000 +0100 ++++ linux-rpi-3.6.7/sound/pci/Kconfig 2012-11-30 02:35:25.413037285 +0100 +@@ -2,8 +2,8 @@ + + config SND_TEA575X + tristate +- depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO +- default SND_FM801 || SND_ES1968 || RADIO_SF16FMR2 || RADIO_MAXIRADIO ++ depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO || RADIO_SHARK ++ default SND_FM801 || SND_ES1968 || RADIO_SF16FMR2 || RADIO_MAXIRADIO || RADIO_SHARK + + menuconfig SND_PCI + bool "PCI sound devices" diff --git a/projects/RPi/linux/linux.arm.conf b/projects/RPi/linux/linux.arm.conf index 49d3ab42e7..1ea3d7a003 100644 --- a/projects/RPi/linux/linux.arm.conf +++ b/projects/RPi/linux/linux.arm.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 3.6.7 Kernel Configuration +# Linux/arm 3.6.8 Kernel Configuration # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -312,6 +312,7 @@ CONFIG_MACH_BCM2708=y CONFIG_BCM2708_GPIO=y CONFIG_BCM2708_VCMEM=y # CONFIG_BCM2708_NOL2CACHE is not set +CONFIG_BCM2708_DMAER=y # # Processor Type