mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-02 15:37:49 +00:00
Merge pull request #1545 from MilhouseVH/md_april_2017
media_build: update to 2017-04-17-rpi
This commit is contained in:
commit
29c860de8a
@ -2,135 +2,138 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# V4L/DVB menu
|
||||
#
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_SND_SOC_SI476X is not set
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
# CONFIG_SOC_IMX27 is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_BROKEN is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_REGMAP=y
|
||||
# CONFIG_STA2X11 is not set
|
||||
# CONFIG_ARCH_OMAP4 is not set
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_METAG is not set
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_SND_MIRO is not set
|
||||
# CONFIG_FB_VIA is not set
|
||||
# CONFIG_SOC_AM43XX is not set
|
||||
# CONFIG_MFD_TIMBERDALE is not set
|
||||
# CONFIG_SND_SOC_SI476X is not set
|
||||
# CONFIG_ARCH_RENESAS is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_GENERIC_ALLOCATOR is not set
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_SOC_EXYNOS4212 is not set
|
||||
# CONFIG_SPARC64 is not set
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_RFKILL=m
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_VIDEO_V4L1 is not set
|
||||
CONFIG_FIREWIRE=m
|
||||
# CONFIG_ARCH_BCM2835 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
# CONFIG_ARCH_OMAP3 is not set
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
# CONFIG_ARCH_EXYNOS is not set
|
||||
# CONFIG_ISA is not set
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
# CONFIG_PLAT_S5P is not set
|
||||
CONFIG_USB_ACM=m
|
||||
# CONFIG_ALPHA is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_ARCH_OMAP2 is not set
|
||||
# CONFIG_FB_VIA is not set
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_MTK_IOMMU is not set
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
# CONFIG_PLAT_S3C24XX is not set
|
||||
# CONFIG_ARM_DMA_USE_IOMMU is not set
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_MFD_TIMBERDALE is not set
|
||||
CONFIG_BITREVERSE=y
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_FONT_SUPPORT=y
|
||||
# CONFIG_TI_ST is not set
|
||||
# CONFIG_SOC_EXYNOS5250 is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_SOC_EXYNOS4212 is not set
|
||||
CONFIG_I2C_MUX=m
|
||||
# CONFIG_MFD_SI476X_CORE is not set
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_PNP=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_REGMAP_MMIO is not set
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_LEDS_CLASS_FLASH=y
|
||||
CONFIG_PM=y
|
||||
# CONFIG_ARCH_MEDIATEK is not set
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_SPARC64 is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
CONFIG_SND_AC97_CODEC=m
|
||||
CONFIG_SND=y
|
||||
# CONFIG_ARCH_MULTIPLATFORM is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
# CONFIG_METAG is not set
|
||||
# CONFIG_OMAP2_VRFB is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_OF is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_PWM_OMAP_DMTIMER is not set
|
||||
CONFIG_RFKILL=m
|
||||
# CONFIG_SONY_LAPTOP is not set
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_OMAP_IOMMU is not set
|
||||
# CONFIG_SPARC32 is not set
|
||||
# CONFIG_SOC_AM43XX is not set
|
||||
CONFIG_HAS_DMA=y
|
||||
# CONFIG_OMAP_DM_TIMER is not set
|
||||
CONFIG_I2C=y
|
||||
# CONFIG_M32R is not set
|
||||
# CONFIG_SND_ISA is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_ARCH_OMAP3 is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
CONFIG_FW_LOADER=y
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_ARCH_STI is not set
|
||||
# CONFIG_ARCH_RENESAS is not set
|
||||
CONFIG_TTY=y
|
||||
# CONFIG_SND_MIRO is not set
|
||||
# CONFIG_GENERIC_ALLOCATOR is not set
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
# CONFIG_SOC_EXYNOS4412 is not set
|
||||
CONFIG_FIREWIRE=m
|
||||
CONFIG_NET=y
|
||||
# CONFIG_ARCH_EXYNOS is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_PWM_OMAP_DMTIMER is not set
|
||||
# CONFIG_ARCH_OMAP2 is not set
|
||||
CONFIG_HDMI=y
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_SONY_LAPTOP is not set
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_TI_ST is not set
|
||||
# CONFIG_ARM64 is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_I2C_GPIO is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_PINCTRL=y
|
||||
# CONFIG_ARCH_STI is not set
|
||||
CONFIG_LEDS_CLASS_FLASH=y
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_MEDIATEK is not set
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_PNP=y
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_OMAP2_VRFB is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
CONFIG_FONT_SUPPORT=y
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_STA2X11 is not set
|
||||
# CONFIG_SOC_EXYNOS4412 is not set
|
||||
# CONFIG_PXA27x is not set
|
||||
# CONFIG_M32R is not set
|
||||
# CONFIG_ALPHA is not set
|
||||
# CONFIG_BROKEN is not set
|
||||
# CONFIG_REGMAP_MMIO is not set
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_OMAP_DM_TIMER is not set
|
||||
# CONFIG_PLAT_M32700UT is not set
|
||||
# CONFIG_ARCH_OMAP2PLUS is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_MTK_IOMMU_V1 is not set
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_BCM2835_VCHIQ is not set
|
||||
# CONFIG_SOC_DRA7XX is not set
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_ARM_DMA_USE_IOMMU is not set
|
||||
CONFIG_SND=y
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
# CONFIG_MFD_SI476X_CORE is not set
|
||||
# CONFIG_ARCH_OMAP4 is not set
|
||||
CONFIG_X86=y
|
||||
# CONFIG_OMAP_IOMMU is not set
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
# CONFIG_SPARC32 is not set
|
||||
# CONFIG_ARCH_MESON is not set
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_ARM64 is not set
|
||||
# CONFIG_ARCH_OMAP2PLUS is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_X86=y
|
||||
# CONFIG_SOC_DRA7XX is not set
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_HDMI=y
|
||||
# CONFIG_VIDEO_V4L1 is not set
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_PXA27x is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_SND_ISA is not set
|
||||
# CONFIG_RPMSG is not set
|
||||
# CONFIG_OF is not set
|
||||
# CONFIG_SOC_EXYNOS5250 is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_PLAT_S3C24XX is not set
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_I2C_MUX=m
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_PLAT_M32700UT is not set
|
||||
# CONFIG_I2C_GPIO is not set
|
||||
# CONFIG_ARCH_MULTIPLATFORM is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARM is not set
|
||||
CONFIG_DMA_ENGINE=y
|
||||
# CONFIG_BLACKFIN is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_LEDS_CLASS=y
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_ARCH_DAVINCI_DM365 is not set
|
||||
# CONFIG_ISA is not set
|
||||
CONFIG_I2C=y
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
# CONFIG_MTK_IOMMU is not set
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_VIDEO_KERNEL_VERSION is not set
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
|
||||
@ -202,6 +205,7 @@ CONFIG_RC_LOOPBACK=m
|
||||
CONFIG_IR_GPIO_CIR=m
|
||||
CONFIG_IR_SERIAL=m
|
||||
CONFIG_IR_SERIAL_TRANSMITTER=y
|
||||
CONFIG_IR_SIR=m
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
|
||||
#
|
||||
@ -226,7 +230,6 @@ CONFIG_VIDEO_PVRUSB2_DVB=y
|
||||
CONFIG_VIDEO_HDPVR=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
CONFIG_VIDEO_STK1160_COMMON=m
|
||||
# CONFIG_VIDEO_STK1160_AC97 is not set
|
||||
CONFIG_VIDEO_STK1160=m
|
||||
CONFIG_VIDEO_GO7007=m
|
||||
CONFIG_VIDEO_GO7007_USB=m
|
||||
@ -290,6 +293,7 @@ CONFIG_DVB_USB_TBS5220=m
|
||||
CONFIG_DVB_USB_TBS5881=m
|
||||
CONFIG_DVB_USB_TBS5520=m
|
||||
CONFIG_DVB_USB_TBS5927=m
|
||||
CONFIG_DVB_USB_TBS5520SE=m
|
||||
CONFIG_DVB_USB_V2=m
|
||||
CONFIG_DVB_USB_AF9015=m
|
||||
CONFIG_DVB_USB_AF9035=m
|
||||
@ -303,6 +307,7 @@ CONFIG_DVB_USB_LME2510=m
|
||||
CONFIG_DVB_USB_MXL111SF=m
|
||||
CONFIG_DVB_USB_RTL28XXU=m
|
||||
CONFIG_DVB_USB_DVBSKY=m
|
||||
CONFIG_DVB_USB_ZD1301=m
|
||||
CONFIG_DVB_TTUSB_BUDGET=m
|
||||
CONFIG_DVB_TTUSB_DEC=m
|
||||
CONFIG_SMS_USB_DRV=m
|
||||
@ -593,6 +598,7 @@ CONFIG_DVB_RTL2830=m
|
||||
CONFIG_DVB_RTL2832=m
|
||||
CONFIG_DVB_SI2168=m
|
||||
CONFIG_DVB_AS102_FE=m
|
||||
CONFIG_DVB_ZD1301_DEMOD=m
|
||||
CONFIG_DVB_GP8PSK_FE=m
|
||||
|
||||
#
|
||||
@ -611,7 +617,6 @@ CONFIG_DVB_OR51132=m
|
||||
CONFIG_DVB_BCM3510=m
|
||||
CONFIG_DVB_LGDT330X=m
|
||||
CONFIG_DVB_LGDT3305=m
|
||||
CONFIG_DVB_LGDT3306A=m
|
||||
CONFIG_DVB_LG2160=m
|
||||
CONFIG_DVB_S5H1409=m
|
||||
CONFIG_DVB_AU8522=m
|
||||
@ -660,6 +665,7 @@ CONFIG_DVB_TAS2101=m
|
||||
CONFIG_DVB_AVL6882=m
|
||||
CONFIG_DVB_STV0910=m
|
||||
CONFIG_DVB_MXL5XX=m
|
||||
CONFIG_DVB_SI2183=m
|
||||
|
||||
#
|
||||
# Tools to develop new frontends
|
||||
|
@ -2,135 +2,138 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# V4L/DVB menu
|
||||
#
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_SND_SOC_SI476X is not set
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
# CONFIG_SOC_IMX27 is not set
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_BROKEN is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_REGMAP=y
|
||||
# CONFIG_STA2X11 is not set
|
||||
# CONFIG_ARCH_OMAP4 is not set
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_METAG is not set
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_SND_MIRO is not set
|
||||
# CONFIG_FB_VIA is not set
|
||||
# CONFIG_SOC_AM43XX is not set
|
||||
# CONFIG_MFD_TIMBERDALE is not set
|
||||
# CONFIG_SND_SOC_SI476X is not set
|
||||
# CONFIG_ARCH_RENESAS is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_PM=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_GENERIC_ALLOCATOR is not set
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_SOC_EXYNOS4212 is not set
|
||||
# CONFIG_SPARC64 is not set
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_RFKILL=m
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_VIDEO_V4L1 is not set
|
||||
CONFIG_FIREWIRE=m
|
||||
# CONFIG_ARCH_BCM2835 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
# CONFIG_ARCH_OMAP3 is not set
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
# CONFIG_ARCH_EXYNOS is not set
|
||||
# CONFIG_ISA is not set
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
# CONFIG_PLAT_S5P is not set
|
||||
CONFIG_USB_ACM=m
|
||||
# CONFIG_ALPHA is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_ARCH_OMAP2 is not set
|
||||
# CONFIG_FB_VIA is not set
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_MTK_IOMMU is not set
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
# CONFIG_PLAT_S3C24XX is not set
|
||||
# CONFIG_ARM_DMA_USE_IOMMU is not set
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_MFD_TIMBERDALE is not set
|
||||
CONFIG_BITREVERSE=y
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_FONT_SUPPORT=y
|
||||
# CONFIG_TI_ST is not set
|
||||
# CONFIG_SOC_EXYNOS5250 is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
# CONFIG_REGULATOR is not set
|
||||
# CONFIG_SOC_EXYNOS4212 is not set
|
||||
CONFIG_I2C_MUX=m
|
||||
# CONFIG_MFD_SI476X_CORE is not set
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_PNP=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_REGMAP_MMIO is not set
|
||||
CONFIG_SND_PCM=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_PINCTRL=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_LEDS_CLASS_FLASH=y
|
||||
CONFIG_PM=y
|
||||
# CONFIG_ARCH_MEDIATEK is not set
|
||||
# CONFIG_PPC_MPC512x is not set
|
||||
# CONFIG_SPARC64 is not set
|
||||
# CONFIG_ARCH_SHMOBILE is not set
|
||||
CONFIG_SND_AC97_CODEC=m
|
||||
CONFIG_SND=y
|
||||
# CONFIG_ARCH_MULTIPLATFORM is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
# CONFIG_METAG is not set
|
||||
# CONFIG_OMAP2_VRFB is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_ARCH_S5PV210 is not set
|
||||
# CONFIG_OF is not set
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_PWM_OMAP_DMTIMER is not set
|
||||
CONFIG_RFKILL=m
|
||||
# CONFIG_SONY_LAPTOP is not set
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_OMAP_IOMMU is not set
|
||||
# CONFIG_SPARC32 is not set
|
||||
# CONFIG_SOC_AM43XX is not set
|
||||
CONFIG_HAS_DMA=y
|
||||
# CONFIG_OMAP_DM_TIMER is not set
|
||||
CONFIG_I2C=y
|
||||
# CONFIG_M32R is not set
|
||||
# CONFIG_SND_ISA is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_ARCH_OMAP3 is not set
|
||||
CONFIG_MFD_CORE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
CONFIG_FW_LOADER=y
|
||||
CONFIG_DMA_SHARED_BUFFER=y
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_ARCH_STI is not set
|
||||
# CONFIG_ARCH_RENESAS is not set
|
||||
CONFIG_TTY=y
|
||||
# CONFIG_SND_MIRO is not set
|
||||
# CONFIG_GENERIC_ALLOCATOR is not set
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
# CONFIG_SOC_EXYNOS4412 is not set
|
||||
CONFIG_FIREWIRE=m
|
||||
CONFIG_NET=y
|
||||
# CONFIG_ARCH_EXYNOS is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_PWM_OMAP_DMTIMER is not set
|
||||
# CONFIG_ARCH_OMAP2 is not set
|
||||
CONFIG_HDMI=y
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_SONY_LAPTOP is not set
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_TI_ST is not set
|
||||
# CONFIG_ARM64 is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_I2C_GPIO is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_PINCTRL=y
|
||||
# CONFIG_ARCH_STI is not set
|
||||
CONFIG_LEDS_CLASS_FLASH=y
|
||||
# CONFIG_ARCH_MMP is not set
|
||||
# CONFIG_ARCH_MEDIATEK is not set
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_PNP=y
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_OMAP2_VRFB is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
CONFIG_FONT_SUPPORT=y
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_STA2X11 is not set
|
||||
# CONFIG_SOC_EXYNOS4412 is not set
|
||||
# CONFIG_PXA27x is not set
|
||||
# CONFIG_M32R is not set
|
||||
# CONFIG_ALPHA is not set
|
||||
# CONFIG_BROKEN is not set
|
||||
# CONFIG_REGMAP_MMIO is not set
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_OMAP_DM_TIMER is not set
|
||||
# CONFIG_PLAT_M32700UT is not set
|
||||
# CONFIG_ARCH_OMAP2PLUS is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_MTK_IOMMU_V1 is not set
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_BCM2835_VCHIQ is not set
|
||||
# CONFIG_SOC_DRA7XX is not set
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_FB=y
|
||||
# CONFIG_ARM_DMA_USE_IOMMU is not set
|
||||
CONFIG_SND=y
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
# CONFIG_MFD_SI476X_CORE is not set
|
||||
# CONFIG_ARCH_OMAP4 is not set
|
||||
CONFIG_X86=y
|
||||
# CONFIG_OMAP_IOMMU is not set
|
||||
# CONFIG_ARCH_SUNXI is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
# CONFIG_SPARC32 is not set
|
||||
# CONFIG_ARCH_MESON is not set
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_MFD_WL1273_CORE is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_MFD_SYSCON is not set
|
||||
# CONFIG_ARM64 is not set
|
||||
# CONFIG_ARCH_OMAP2PLUS is not set
|
||||
CONFIG_REGMAP_I2C=y
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_X86=y
|
||||
# CONFIG_SOC_DRA7XX is not set
|
||||
CONFIG_DMA_ENGINE=y
|
||||
CONFIG_HDMI=y
|
||||
# CONFIG_VIDEO_V4L1 is not set
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_PXA27x is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_ARCH_MXC is not set
|
||||
# CONFIG_SND_ISA is not set
|
||||
# CONFIG_RPMSG is not set
|
||||
# CONFIG_OF is not set
|
||||
# CONFIG_SOC_EXYNOS5250 is not set
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_PLAT_S3C24XX is not set
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_I2C_MUX=m
|
||||
# CONFIG_ARCH_S3C64XX is not set
|
||||
# CONFIG_PLAT_M32700UT is not set
|
||||
# CONFIG_I2C_GPIO is not set
|
||||
# CONFIG_ARCH_MULTIPLATFORM is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
# CONFIG_ARCH_AT91 is not set
|
||||
# CONFIG_ARM is not set
|
||||
CONFIG_DMA_ENGINE=y
|
||||
# CONFIG_BLACKFIN is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
# CONFIG_MIPS is not set
|
||||
CONFIG_LEDS_CLASS=y
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_ARCH_DAVINCI_DM365 is not set
|
||||
# CONFIG_ISA is not set
|
||||
CONFIG_I2C=y
|
||||
# CONFIG_GENERIC_PHY is not set
|
||||
# CONFIG_MTK_IOMMU is not set
|
||||
CONFIG_I2C_ALGOBIT=y
|
||||
# CONFIG_VIDEO_KERNEL_VERSION is not set
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
|
||||
@ -199,6 +202,7 @@ CONFIG_RC_LOOPBACK=m
|
||||
CONFIG_IR_GPIO_CIR=m
|
||||
CONFIG_IR_SERIAL=m
|
||||
CONFIG_IR_SERIAL_TRANSMITTER=y
|
||||
CONFIG_IR_SIR=m
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
|
||||
#
|
||||
@ -223,7 +227,6 @@ CONFIG_VIDEO_PVRUSB2_DVB=y
|
||||
CONFIG_VIDEO_HDPVR=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
CONFIG_VIDEO_STK1160_COMMON=m
|
||||
# CONFIG_VIDEO_STK1160_AC97 is not set
|
||||
CONFIG_VIDEO_STK1160=m
|
||||
CONFIG_VIDEO_GO7007=m
|
||||
CONFIG_VIDEO_GO7007_USB=m
|
||||
@ -287,6 +290,7 @@ CONFIG_DVB_USB_TBS5220=m
|
||||
CONFIG_DVB_USB_TBS5881=m
|
||||
CONFIG_DVB_USB_TBS5520=m
|
||||
CONFIG_DVB_USB_TBS5927=m
|
||||
CONFIG_DVB_USB_TBS5520SE=m
|
||||
CONFIG_DVB_USB_V2=m
|
||||
CONFIG_DVB_USB_AF9015=m
|
||||
CONFIG_DVB_USB_AF9035=m
|
||||
@ -300,6 +304,7 @@ CONFIG_DVB_USB_LME2510=m
|
||||
CONFIG_DVB_USB_MXL111SF=m
|
||||
CONFIG_DVB_USB_RTL28XXU=m
|
||||
CONFIG_DVB_USB_DVBSKY=m
|
||||
CONFIG_DVB_USB_ZD1301=m
|
||||
CONFIG_DVB_TTUSB_BUDGET=m
|
||||
CONFIG_DVB_TTUSB_DEC=m
|
||||
CONFIG_SMS_USB_DRV=m
|
||||
@ -503,6 +508,7 @@ CONFIG_DVB_RTL2830=m
|
||||
CONFIG_DVB_RTL2832=m
|
||||
CONFIG_DVB_SI2168=m
|
||||
CONFIG_DVB_AS102_FE=m
|
||||
CONFIG_DVB_ZD1301_DEMOD=m
|
||||
CONFIG_DVB_GP8PSK_FE=m
|
||||
|
||||
#
|
||||
@ -519,7 +525,6 @@ CONFIG_DVB_NXT200X=m
|
||||
CONFIG_DVB_BCM3510=m
|
||||
CONFIG_DVB_LGDT330X=m
|
||||
CONFIG_DVB_LGDT3305=m
|
||||
CONFIG_DVB_LGDT3306A=m
|
||||
CONFIG_DVB_LG2160=m
|
||||
CONFIG_DVB_S5H1409=m
|
||||
CONFIG_DVB_AU8522=m
|
||||
@ -564,6 +569,7 @@ CONFIG_DVB_AF9033=m
|
||||
CONFIG_DVB_TAS2101=m
|
||||
CONFIG_DVB_AVL6882=m
|
||||
CONFIG_DVB_STV0910=m
|
||||
CONFIG_DVB_SI2183=m
|
||||
|
||||
#
|
||||
# Tools to develop new frontends
|
||||
@ -578,3 +584,7 @@ CONFIG_MISC_DEVICES=y
|
||||
#
|
||||
CONFIG_ALTERA_STAPL=m
|
||||
# CONFIG_STAGING is not set
|
||||
|
||||
CONFIG_DVB_CXD2820R=m
|
||||
CONFIG_DVB_CXD2841ER=m
|
||||
CONFIG_DVB_CXD2880=m
|
||||
|
@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="media_build"
|
||||
PKG_VERSION="2017-01-22"
|
||||
PKG_VERSION="2017-04-17-rpi"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/crazycat69/linux_media"
|
||||
|
@ -1,19 +1,17 @@
|
||||
--- a/backports/backports.txt
|
||||
+++ b/backports/backports.txt
|
||||
@@ -25,6 +25,16 @@
|
||||
@@ -25,6 +25,14 @@
|
||||
add pr_fmt.patch
|
||||
add debug.patch
|
||||
add drx39xxj.patch
|
||||
+add linux-202-lnbp22_patch_for_more_power_if_rotor.patch
|
||||
+add linux-203-stb0899_enable_low_symbol_rate.patch
|
||||
+add linux-222-stb0899_signal_quality.patch
|
||||
+add linux-052-XBOX_remote_support.patch
|
||||
+add linux-054-nuvoton_revert_d7b290a1056c5564eec8a1b169c6e84ff3.6.114c13.patch
|
||||
+add linux-057-Removed-MCE-customer-code-restriction-in-rc6-decode.patch
|
||||
+add linux-062-imon_pad_ignore_diagonal.patch
|
||||
+add linux-063-fix-rc-raw-decoder-loading.patch
|
||||
+add linux-240-pctv452e_kernel_oops_in_4.9.patch
|
||||
+add linux-250-fix-for-kernel-4.10.patch
|
||||
+add linux-260-fix-for-kernel-4.11.patch
|
||||
+add cxd2880-support.patch
|
||||
|
||||
[4.8.255]
|
||||
add v4.8_user_pages_flag.patch
|
||||
|
@ -1,13 +0,0 @@
|
||||
make config and make menuconfig work now
|
||||
|
||||
--- a/v4l/Kconfig.staging
|
||||
+++ b/v4l/Kconfig.staging
|
||||
@@ -27,7 +27,7 @@ menu "Media devices in staging"
|
||||
config STAGING_BROKEN
|
||||
bool "Enable drivers that are known to not compile"
|
||||
default n
|
||||
- --- help ---
|
||||
+ ---help---
|
||||
Say N here, except if you will be fixing the drivers
|
||||
compilation.
|
||||
|
@ -1,10 +1,13 @@
|
||||
diff -Naur linux-3.9.4/drivers/staging/media/lirc/Kconfig linux-3.9.4.patch/drivers/staging/media/lirc/Kconfig
|
||||
--- linux-3.9.4/drivers/staging/media/lirc/Kconfig 2013-05-24 20:45:59.000000000 +0200
|
||||
+++ linux-3.9.4.patch/drivers/staging/media/lirc/Kconfig 2013-05-30 18:18:57.238957100 +0200
|
||||
@@ -63,10 +63,17 @@
|
||||
Subject: linux-052-XBOX_remote_support updated for kernel 4.11
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig
|
||||
index bc67da2..87d894e 100644
|
||||
--- a/drivers/staging/media/lirc/Kconfig
|
||||
+++ b/drivers/staging/media/lirc/Kconfig
|
||||
@@ -24,10 +24,17 @@ config LIRC_SIR
|
||||
help
|
||||
Driver for the SIR IrDA port
|
||||
|
||||
|
||||
+config LIRC_XBOX
|
||||
+ tristate "XBOX USB IR Remote"
|
||||
+ depends on LIRC && USB
|
||||
@ -19,9 +22,22 @@ diff -Naur linux-3.9.4/drivers/staging/media/lirc/Kconfig linux-3.9.4.patch/driv
|
||||
PVR-150/500, HVR-1200/1250/1700/1800, HD-PVR and other cards
|
||||
+
|
||||
endif
|
||||
diff -Naur linux-3.9.4/drivers/staging/media/lirc/lirc_xbox.c linux-3.9.4.patch/drivers/staging/media/lirc/lirc_xbox.c
|
||||
--- linux-3.9.4/drivers/staging/media/lirc/lirc_xbox.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-3.9.4.patch/drivers/staging/media/lirc/lirc_xbox.c 2013-05-30 18:40:22.523775446 +0200
|
||||
diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile
|
||||
index 28740c9..b3e331e4 100644
|
||||
--- a/drivers/staging/media/lirc/Makefile
|
||||
+++ b/drivers/staging/media/lirc/Makefile
|
||||
@@ -3,4 +3,5 @@
|
||||
|
||||
# Each configuration option enables a list of files.
|
||||
|
||||
+obj-$(CONFIG_LIRC_XBOX) += lirc_xbox.o
|
||||
obj-$(CONFIG_LIRC_ZILOG) += lirc_zilog.o
|
||||
|
||||
diff --git a/drivers/staging/media/lirc/lirc_xbox.c b/drivers/staging/media/lirc/lirc_xbox.c
|
||||
new file mode 100644
|
||||
index 0000000..c269d5d
|
||||
--- /dev/null
|
||||
+++ b/drivers/staging/media/lirc/lirc_xbox.c
|
||||
@@ -0,0 +1,995 @@
|
||||
+/*
|
||||
+ * lirc_xbox - USB remote support for LIRC
|
||||
@ -1018,12 +1034,6 @@ diff -Naur linux-3.9.4/drivers/staging/media/lirc/lirc_xbox.c linux-3.9.4.patch/
|
||||
+
|
||||
+module_param(repeat, uint, S_IRUGO | S_IWUSR);
|
||||
+MODULE_PARM_DESC(repeat, "Repeat timeout (1/100 sec) (default: 10)");
|
||||
diff -Naur linux-3.9.4/drivers/staging/media/lirc/Makefile linux-3.9.4.patch/drivers/staging/media/lirc/Makefile
|
||||
--- linux-3.9.4/drivers/staging/media/lirc/Makefile 2013-05-24 20:45:59.000000000 +0200
|
||||
+++ linux-3.9.4.patch/drivers/staging/media/lirc/Makefile 2013-05-30 18:17:39.163634834 +0200
|
||||
@@ -10,4 +10,5 @@
|
||||
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
|
||||
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o
|
||||
obj-$(CONFIG_LIRC_SIR) += lirc_sir.o
|
||||
+obj-$(CONFIG_LIRC_XBOX) += lirc_xbox.o
|
||||
obj-$(CONFIG_LIRC_ZILOG) += lirc_zilog.o
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
@ -1,46 +0,0 @@
|
||||
From d13ee07f431c94ea72320ea4136e75ebeaee98c1 Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Fri, 3 Mar 2017 10:27:44 +0100
|
||||
Subject: [PATCH] backport: rc: raw decoder for keymap protocol is not loaded
|
||||
on register
|
||||
|
||||
see http://www.spinics.net/lists/linux-media/msg111651.html
|
||||
---
|
||||
drivers/media/rc/rc-main.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index dedaf38..9a397da 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1441,6 +1441,7 @@ int rc_register_device(struct rc_dev *dev)
|
||||
int attr = 0;
|
||||
int minor;
|
||||
int rc;
|
||||
+ u64 rc_type;
|
||||
|
||||
if (!dev || !dev->map_name)
|
||||
return -EINVAL;
|
||||
@@ -1526,14 +1527,18 @@ int rc_register_device(struct rc_dev *dev)
|
||||
goto out_input;
|
||||
}
|
||||
|
||||
+ rc_type = BIT_ULL(rc_map->rc_type);
|
||||
+
|
||||
if (dev->change_protocol) {
|
||||
- u64 rc_type = (1ll << rc_map->rc_type);
|
||||
rc = dev->change_protocol(dev, &rc_type);
|
||||
if (rc < 0)
|
||||
goto out_raw;
|
||||
dev->enabled_protocols = rc_type;
|
||||
}
|
||||
|
||||
+ if (dev->driver_type == RC_DRIVER_IR_RAW)
|
||||
+ ir_raw_load_modules(&rc_type);
|
||||
+
|
||||
/* Allow the RC sysfs nodes to be accessible */
|
||||
atomic_set(&dev->initialized, 1);
|
||||
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,61 +0,0 @@
|
||||
--- a/drivers/media/dvb-frontends/stb0899_drv.c
|
||||
+++ b/drivers/media/dvb-frontends/stb0899_drv.c
|
||||
@@ -976,6 +976,16 @@ static int stb0899_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
|
||||
|
||||
*strength = stb0899_table_lookup(stb0899_dvbsrf_tab, ARRAY_SIZE(stb0899_dvbsrf_tab) - 1, val);
|
||||
*strength += 750;
|
||||
+
|
||||
+ const int MIN_STRENGTH_DVBS = 0;
|
||||
+ const int MAX_STRENGTH_DVBS = 680;
|
||||
+ if (*strength < MIN_STRENGTH_DVBS)
|
||||
+ *strength = 0;
|
||||
+ else if(*strength > MAX_STRENGTH_DVBS)
|
||||
+ *strength = 0xFFFF;
|
||||
+ else
|
||||
+ *strength = (*strength - MIN_STRENGTH_DVBS) * 0xFFFF / (MAX_STRENGTH_DVBS - MIN_STRENGTH_DVBS);
|
||||
+
|
||||
dprintk(state->verbose, FE_DEBUG, 1, "AGCIQVALUE = 0x%02x, C = %d * 0.1 dBm",
|
||||
val & 0xff, *strength);
|
||||
}
|
||||
@@ -988,6 +998,7 @@ static int stb0899_read_signal_strength(struct dvb_frontend *fe, u16 *strength)
|
||||
|
||||
*strength = stb0899_table_lookup(stb0899_dvbs2rf_tab, ARRAY_SIZE(stb0899_dvbs2rf_tab) - 1, val);
|
||||
*strength += 950;
|
||||
+ *strength = *strength << 4;
|
||||
dprintk(state->verbose, FE_DEBUG, 1, "IF_AGC_GAIN = 0x%04x, C = %d * 0.1 dBm",
|
||||
val & 0x3fff, *strength);
|
||||
}
|
||||
@@ -1021,6 +1032,16 @@ static int stb0899_read_snr(struct dvb_frontend *fe, u16 *snr)
|
||||
val = MAKEWORD16(buf[0], buf[1]);
|
||||
|
||||
*snr = stb0899_table_lookup(stb0899_cn_tab, ARRAY_SIZE(stb0899_cn_tab) - 1, val);
|
||||
+
|
||||
+ const int MIN_SNR_DVBS = 0;
|
||||
+ const int MAX_SNR_DVBS = 200;
|
||||
+ if (*snr < MIN_SNR_DVBS)
|
||||
+ *snr = 0;
|
||||
+ else if(*snr > MAX_SNR_DVBS)
|
||||
+ *snr = 0xFFFF;
|
||||
+ else
|
||||
+ *snr = (*snr - MIN_SNR_DVBS) * 0xFFFF / (MAX_SNR_DVBS - MIN_SNR_DVBS);
|
||||
+
|
||||
dprintk(state->verbose, FE_DEBUG, 1, "NIR = 0x%02x%02x = %u, C/N = %d * 0.1 dBm\n",
|
||||
buf[0], buf[1], val, *snr);
|
||||
}
|
||||
@@ -1045,6 +1066,16 @@ static int stb0899_read_snr(struct dvb_frontend *fe, u16 *snr)
|
||||
val = (quantn - estn) / 10;
|
||||
}
|
||||
*snr = val;
|
||||
+
|
||||
+ const int MIN_SNR_DVBS2 = 10;
|
||||
+ const int MAX_SNR_DVBS2 = 70;
|
||||
+ if (*snr < MIN_SNR_DVBS2)
|
||||
+ *snr = 0;
|
||||
+ else if(*snr > MAX_SNR_DVBS2)
|
||||
+ *snr = 0xFFFF;
|
||||
+ else
|
||||
+ *snr = (*snr - MIN_SNR_DVBS2) * 0xFFFF / (MAX_SNR_DVBS2 - MIN_SNR_DVBS2);
|
||||
+
|
||||
dprintk(state->verbose, FE_DEBUG, 1, "Es/N0 quant = %d (%d) estimate = %u (%d), C/N = %d * 0.1 dBm",
|
||||
quant, quantn, est, estn, val);
|
||||
}
|
@ -1,311 +0,0 @@
|
||||
fixes:
|
||||
dvb-usb: found a 'Technotrend TT Connect S2-3600' in warm state.
|
||||
pctv452e: pctv452e_power_ctrl: 1
|
||||
|
||||
Unable to handle kernel NULL pointer dereference at virtual address 00000000
|
||||
pgd = adb60000
|
||||
[00000000] *pgd=00000000
|
||||
Internal error: Oops: 805 [#1] SMP ARM
|
||||
|
||||
fixed in kernel 4.10
|
||||
|
||||
---
|
||||
From 48775cb73c2e26b7ca9d679875a6e570c8b8e124 Mon Sep 17 00:00:00 2001
|
||||
From: Max Kellermann <max.kellermann@gmail.com>
|
||||
Date: Thu, 15 Dec 2016 19:51:07 -0200
|
||||
Subject: [PATCH] [media] pctv452e: move buffer to heap, no mutex
|
||||
|
||||
commit 73d5c5c864f4 ("[media] pctv452e: don't do DMA on stack") caused
|
||||
a NULL pointer dereference which occurs when dvb_usb_init()
|
||||
calls dvb_usb_device_power_ctrl() for the first time, before the
|
||||
frontend has been attached. It also caused a recursive deadlock because
|
||||
tt3650_ci_msg_locked() has already locked the mutex.
|
||||
|
||||
So, partially revert it, but move the buffer to the heap
|
||||
(DMA capable), not to the stack (may not be DMA capable).
|
||||
Instead of sharing one buffer which needs mutex protection,
|
||||
do a new heap allocation for each call.
|
||||
|
||||
Fixes: commit 73d5c5c864f4 ("[media] pctv452e: don't do DMA on stack")
|
||||
|
||||
---
|
||||
drivers/media/usb/dvb-usb/pctv452e.c | 133 +++++++++++++++++++----------------
|
||||
1 file changed, 72 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/usb/dvb-usb/pctv452e.c b/drivers/media/usb/dvb-usb/pctv452e.c
|
||||
index 07fa08b..d54ebe7 100644
|
||||
--- a/drivers/media/usb/dvb-usb/pctv452e.c
|
||||
+++ b/drivers/media/usb/dvb-usb/pctv452e.c
|
||||
@@ -97,14 +97,13 @@ struct pctv452e_state {
|
||||
u8 c; /* transaction counter, wraps around... */
|
||||
u8 initialized; /* set to 1 if 0x15 has been sent */
|
||||
u16 last_rc_key;
|
||||
-
|
||||
- unsigned char data[80];
|
||||
};
|
||||
|
||||
static int tt3650_ci_msg(struct dvb_usb_device *d, u8 cmd, u8 *data,
|
||||
unsigned int write_len, unsigned int read_len)
|
||||
{
|
||||
struct pctv452e_state *state = (struct pctv452e_state *)d->priv;
|
||||
+ u8 *buf;
|
||||
u8 id;
|
||||
unsigned int rlen;
|
||||
int ret;
|
||||
@@ -114,36 +113,39 @@ static int tt3650_ci_msg(struct dvb_usb_device *d, u8 cmd, u8 *data,
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
- mutex_lock(&state->ca_mutex);
|
||||
+ buf = kmalloc(64, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
id = state->c++;
|
||||
|
||||
- state->data[0] = SYNC_BYTE_OUT;
|
||||
- state->data[1] = id;
|
||||
- state->data[2] = cmd;
|
||||
- state->data[3] = write_len;
|
||||
+ buf[0] = SYNC_BYTE_OUT;
|
||||
+ buf[1] = id;
|
||||
+ buf[2] = cmd;
|
||||
+ buf[3] = write_len;
|
||||
|
||||
- memcpy(state->data + 4, data, write_len);
|
||||
+ memcpy(buf + 4, data, write_len);
|
||||
|
||||
rlen = (read_len > 0) ? 64 : 0;
|
||||
- ret = dvb_usb_generic_rw(d, state->data, 4 + write_len,
|
||||
- state->data, rlen, /* delay_ms */ 0);
|
||||
+ ret = dvb_usb_generic_rw(d, buf, 4 + write_len,
|
||||
+ buf, rlen, /* delay_ms */ 0);
|
||||
if (0 != ret)
|
||||
goto failed;
|
||||
|
||||
ret = -EIO;
|
||||
- if (SYNC_BYTE_IN != state->data[0] || id != state->data[1])
|
||||
+ if (SYNC_BYTE_IN != buf[0] || id != buf[1])
|
||||
goto failed;
|
||||
|
||||
- memcpy(data, state->data + 4, read_len);
|
||||
+ memcpy(data, buf + 4, read_len);
|
||||
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
+ kfree(buf);
|
||||
return 0;
|
||||
|
||||
failed:
|
||||
err("CI error %d; %02X %02X %02X -> %*ph.",
|
||||
- ret, SYNC_BYTE_OUT, id, cmd, 3, state->data);
|
||||
+ ret, SYNC_BYTE_OUT, id, cmd, 3, buf);
|
||||
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
+ kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -410,53 +412,57 @@ static int pctv452e_i2c_msg(struct dvb_usb_device *d, u8 addr,
|
||||
u8 *rcv_buf, u8 rcv_len)
|
||||
{
|
||||
struct pctv452e_state *state = (struct pctv452e_state *)d->priv;
|
||||
+ u8 *buf;
|
||||
u8 id;
|
||||
int ret;
|
||||
|
||||
- mutex_lock(&state->ca_mutex);
|
||||
+ buf = kmalloc(64, GFP_KERNEL);
|
||||
+ if (!buf)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
id = state->c++;
|
||||
|
||||
ret = -EINVAL;
|
||||
if (snd_len > 64 - 7 || rcv_len > 64 - 7)
|
||||
goto failed;
|
||||
|
||||
- state->data[0] = SYNC_BYTE_OUT;
|
||||
- state->data[1] = id;
|
||||
- state->data[2] = PCTV_CMD_I2C;
|
||||
- state->data[3] = snd_len + 3;
|
||||
- state->data[4] = addr << 1;
|
||||
- state->data[5] = snd_len;
|
||||
- state->data[6] = rcv_len;
|
||||
+ buf[0] = SYNC_BYTE_OUT;
|
||||
+ buf[1] = id;
|
||||
+ buf[2] = PCTV_CMD_I2C;
|
||||
+ buf[3] = snd_len + 3;
|
||||
+ buf[4] = addr << 1;
|
||||
+ buf[5] = snd_len;
|
||||
+ buf[6] = rcv_len;
|
||||
|
||||
- memcpy(state->data + 7, snd_buf, snd_len);
|
||||
+ memcpy(buf + 7, snd_buf, snd_len);
|
||||
|
||||
- ret = dvb_usb_generic_rw(d, state->data, 7 + snd_len,
|
||||
- state->data, /* rcv_len */ 64,
|
||||
+ ret = dvb_usb_generic_rw(d, buf, 7 + snd_len,
|
||||
+ buf, /* rcv_len */ 64,
|
||||
/* delay_ms */ 0);
|
||||
if (ret < 0)
|
||||
goto failed;
|
||||
|
||||
/* TT USB protocol error. */
|
||||
ret = -EIO;
|
||||
- if (SYNC_BYTE_IN != state->data[0] || id != state->data[1])
|
||||
+ if (SYNC_BYTE_IN != buf[0] || id != buf[1])
|
||||
goto failed;
|
||||
|
||||
/* I2C device didn't respond as expected. */
|
||||
ret = -EREMOTEIO;
|
||||
- if (state->data[5] < snd_len || state->data[6] < rcv_len)
|
||||
+ if (buf[5] < snd_len || buf[6] < rcv_len)
|
||||
goto failed;
|
||||
|
||||
- memcpy(rcv_buf, state->data + 7, rcv_len);
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
+ memcpy(rcv_buf, buf + 7, rcv_len);
|
||||
|
||||
+ kfree(buf);
|
||||
return rcv_len;
|
||||
|
||||
failed:
|
||||
err("I2C error %d; %02X %02X %02X %02X %02X -> %*ph",
|
||||
ret, SYNC_BYTE_OUT, id, addr << 1, snd_len, rcv_len,
|
||||
- 7, state->data);
|
||||
+ 7, buf);
|
||||
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
+ kfree(buf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -505,7 +511,7 @@ static u32 pctv452e_i2c_func(struct i2c_adapter *adapter)
|
||||
static int pctv452e_power_ctrl(struct dvb_usb_device *d, int i)
|
||||
{
|
||||
struct pctv452e_state *state = (struct pctv452e_state *)d->priv;
|
||||
- u8 *rx;
|
||||
+ u8 *b0, *rx;
|
||||
int ret;
|
||||
|
||||
info("%s: %d\n", __func__, i);
|
||||
@@ -516,11 +522,12 @@ static int pctv452e_power_ctrl(struct dvb_usb_device *d, int i)
|
||||
if (state->initialized)
|
||||
return 0;
|
||||
|
||||
- rx = kmalloc(PCTV_ANSWER_LEN, GFP_KERNEL);
|
||||
- if (!rx)
|
||||
+ b0 = kmalloc(5 + PCTV_ANSWER_LEN, GFP_KERNEL);
|
||||
+ if (!b0)
|
||||
return -ENOMEM;
|
||||
|
||||
- mutex_lock(&state->ca_mutex);
|
||||
+ rx = b0 + 5;
|
||||
+
|
||||
/* hmm where shoud this should go? */
|
||||
ret = usb_set_interface(d->udev, 0, ISOC_INTERFACE_ALTERNATIVE);
|
||||
if (ret != 0)
|
||||
@@ -528,66 +535,70 @@ static int pctv452e_power_ctrl(struct dvb_usb_device *d, int i)
|
||||
__func__, ret);
|
||||
|
||||
/* this is a one-time initialization, dont know where to put */
|
||||
- state->data[0] = 0xaa;
|
||||
- state->data[1] = state->c++;
|
||||
- state->data[2] = PCTV_CMD_RESET;
|
||||
- state->data[3] = 1;
|
||||
- state->data[4] = 0;
|
||||
+ b0[0] = 0xaa;
|
||||
+ b0[1] = state->c++;
|
||||
+ b0[2] = PCTV_CMD_RESET;
|
||||
+ b0[3] = 1;
|
||||
+ b0[4] = 0;
|
||||
/* reset board */
|
||||
- ret = dvb_usb_generic_rw(d, state->data, 5, rx, PCTV_ANSWER_LEN, 0);
|
||||
+ ret = dvb_usb_generic_rw(d, b0, 5, rx, PCTV_ANSWER_LEN, 0);
|
||||
if (ret)
|
||||
goto ret;
|
||||
|
||||
- state->data[1] = state->c++;
|
||||
- state->data[4] = 1;
|
||||
+ b0[1] = state->c++;
|
||||
+ b0[4] = 1;
|
||||
/* reset board (again?) */
|
||||
- ret = dvb_usb_generic_rw(d, state->data, 5, rx, PCTV_ANSWER_LEN, 0);
|
||||
+ ret = dvb_usb_generic_rw(d, b0, 5, rx, PCTV_ANSWER_LEN, 0);
|
||||
if (ret)
|
||||
goto ret;
|
||||
|
||||
state->initialized = 1;
|
||||
|
||||
ret:
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
- kfree(rx);
|
||||
+ kfree(b0);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int pctv452e_rc_query(struct dvb_usb_device *d)
|
||||
{
|
||||
struct pctv452e_state *state = (struct pctv452e_state *)d->priv;
|
||||
+ u8 *b, *rx;
|
||||
int ret, i;
|
||||
u8 id;
|
||||
|
||||
- mutex_lock(&state->ca_mutex);
|
||||
+ b = kmalloc(CMD_BUFFER_SIZE + PCTV_ANSWER_LEN, GFP_KERNEL);
|
||||
+ if (!b)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
+ rx = b + CMD_BUFFER_SIZE;
|
||||
+
|
||||
id = state->c++;
|
||||
|
||||
/* prepare command header */
|
||||
- state->data[0] = SYNC_BYTE_OUT;
|
||||
- state->data[1] = id;
|
||||
- state->data[2] = PCTV_CMD_IR;
|
||||
- state->data[3] = 0;
|
||||
+ b[0] = SYNC_BYTE_OUT;
|
||||
+ b[1] = id;
|
||||
+ b[2] = PCTV_CMD_IR;
|
||||
+ b[3] = 0;
|
||||
|
||||
/* send ir request */
|
||||
- ret = dvb_usb_generic_rw(d, state->data, 4,
|
||||
- state->data, PCTV_ANSWER_LEN, 0);
|
||||
+ ret = dvb_usb_generic_rw(d, b, 4, rx, PCTV_ANSWER_LEN, 0);
|
||||
if (ret != 0)
|
||||
goto ret;
|
||||
|
||||
if (debug > 3) {
|
||||
- info("%s: read: %2d: %*ph: ", __func__, ret, 3, state->data);
|
||||
- for (i = 0; (i < state->data[3]) && ((i + 3) < PCTV_ANSWER_LEN); i++)
|
||||
- info(" %02x", state->data[i + 3]);
|
||||
+ info("%s: read: %2d: %*ph: ", __func__, ret, 3, rx);
|
||||
+ for (i = 0; (i < rx[3]) && ((i+3) < PCTV_ANSWER_LEN); i++)
|
||||
+ info(" %02x", rx[i+3]);
|
||||
|
||||
info("\n");
|
||||
}
|
||||
|
||||
- if ((state->data[3] == 9) && (state->data[12] & 0x01)) {
|
||||
+ if ((rx[3] == 9) && (rx[12] & 0x01)) {
|
||||
/* got a "press" event */
|
||||
- state->last_rc_key = RC_SCANCODE_RC5(state->data[7], state->data[6]);
|
||||
+ state->last_rc_key = RC_SCANCODE_RC5(rx[7], rx[6]);
|
||||
if (debug > 2)
|
||||
info("%s: cmd=0x%02x sys=0x%02x\n",
|
||||
- __func__, state->data[6], state->data[7]);
|
||||
+ __func__, rx[6], rx[7]);
|
||||
|
||||
rc_keydown(d->rc_dev, RC_TYPE_RC5, state->last_rc_key, 0);
|
||||
} else if (state->last_rc_key) {
|
||||
@@ -595,7 +606,7 @@ static int pctv452e_rc_query(struct dvb_usb_device *d)
|
||||
state->last_rc_key = 0;
|
||||
}
|
||||
ret:
|
||||
- mutex_unlock(&state->ca_mutex);
|
||||
+ kfree(b);
|
||||
return ret;
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
mm: use vmf->address instead of of vmf->virtual_address
|
||||
drop at media_build bump
|
||||
taken from https://github.com/torvalds/linux/commit/1a29d85eb0f19b7d8271923d8917d7b4f5540b3e
|
||||
--- a/drivers/media/v4l2-core/videobuf-dma-sg.c
|
||||
+++ b/drivers/media/v4l2-core/videobuf-dma-sg.c
|
||||
@@ -439,13 +439,12 @@ static int videobuf_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
struct page *page;
|
||||
|
||||
dprintk(3, "fault: fault @ %08lx [vma %08lx-%08lx]\n",
|
||||
- (unsigned long)vmf->virtual_address,
|
||||
- vma->vm_start, vma->vm_end);
|
||||
+ vmf->address, vma->vm_start, vma->vm_end);
|
||||
|
||||
page = alloc_page(GFP_USER | __GFP_DMA32);
|
||||
if (!page)
|
||||
return VM_FAULT_OOM;
|
||||
- clear_user_highpage(page, (unsigned long)vmf->virtual_address);
|
||||
+ clear_user_highpage(page, vmf->address);
|
||||
vmf->page = page;
|
||||
|
||||
return 0;
|
@ -0,0 +1,38 @@
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index d845336..a89d7bd 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1699,6 +1699,16 @@ static int rc_setup_rx_device(struct rc_dev *dev)
|
||||
if (dev->close)
|
||||
dev->input_dev->close = ir_close;
|
||||
|
||||
+ dev->input_dev->dev.parent = &dev->dev;
|
||||
+ memcpy(&dev->input_dev->id, &dev->input_id, sizeof(dev->input_id));
|
||||
+ dev->input_dev->phys = dev->input_phys;
|
||||
+ dev->input_dev->name = dev->input_name;
|
||||
+
|
||||
+ /* rc_open will be called here */
|
||||
+ rc = input_register_device(dev->input_dev);
|
||||
+ if (rc)
|
||||
+ goto out_table;
|
||||
+
|
||||
/*
|
||||
* Default delay of 250ms is too short for some protocols, especially
|
||||
* since the timeout is currently set to 250ms. Increase it to 500ms,
|
||||
@@ -1714,16 +1724,6 @@ static int rc_setup_rx_device(struct rc_dev *dev)
|
||||
*/
|
||||
dev->input_dev->rep[REP_PERIOD] = 125;
|
||||
|
||||
- dev->input_dev->dev.parent = &dev->dev;
|
||||
- memcpy(&dev->input_dev->id, &dev->input_id, sizeof(dev->input_id));
|
||||
- dev->input_dev->phys = dev->input_phys;
|
||||
- dev->input_dev->name = dev->input_name;
|
||||
-
|
||||
- /* rc_open will be called here */
|
||||
- rc = input_register_device(dev->input_dev);
|
||||
- if (rc)
|
||||
- goto out_table;
|
||||
-
|
||||
return 0;
|
||||
|
||||
out_table:
|
Loading…
x
Reference in New Issue
Block a user