# For each kver release, start extra with an empty string, then count
# from 1 if changes are needed that require rebuilding the tarball.
-kver=4.4 extra=
+kver=4.4 extra=1
set -e
announce MICROCODE_EARLY - "Early load microcode"
clean_blob Documentation/x86/early-microcode.txt
+# Do no recommend non-Free microcode update.
+announce CPU_SUP_INTEL - "Support Intel processors"
+clean_blob arch/x86/kernel/cpu/perf_event_intel.c
+clean_kconfig arch/x86/Kconfig.cpu CPU_SUP_INTEL
+clean_mk CONFIG_CPU_SUP_INTEL arch/x86/kernel/cpu/Makefile
+
+# Do no recommend non-Free microcode update.
+announce SENSORS_CORETEMP - "Intel Core/Core2/Atom temperature sensor"
+clean_blob drivers/hwmon/coretemp.c
+clean_kconfig drivers/hwmon/Kconfig SENSORS_CORETEMP
+clean_mk CONFIG_SENSORS_CORETEMP drivers/hwmon/Makefile
+
# arm
announce IXP4XX_NPE - "IXP4xx Network Processor Engine support"
clean_kconfig drivers/gpu/drm/sti/Kconfig DRM_STI
clean_mk CONFIG_DRM_STI drivers/gpu/drm/sti/Makefile
+# ppc
+
+announce UCODE_PATCH - "ppc microcode"
+clean_blob arch/powerpc/sysdev/micropatch.c
+clean_kconfig arch/powerpc/platforms/8xx/Kconfig UCODE_PATCH
+clean_mk CONFIG_UCODE_PATCH arch/powerpc/sysdev/Makefile
+
+announce USB_SOF_UCODE_PATCH - "USB SOF patch"
+clean_kconfig arch/powerpc/platforms/8xx/Kconfig USB_SOF_UCODE_PATCH
+
+announce I2C_SPI_UCODE_PATCH - "I2C/SPI relocation patch"
+clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_UCODE_PATCH
+
+announce I2C_SPI_SMC1_UCODE_PATCH - "I2C/SPI/SMC1 relocation patch"
+clean_kconfig arch/powerpc/platforms/8xx/Kconfig I2C_SPI_SMC1_UCODE_PATCH
+
#######
# dma #
#######
clean_kconfig drivers/media/i2c/Kconfig VIDEO_S5K5BAF
clean_mk CONFIG_VIDEO_S5K5BAF drivers/media/i2c/Makefile
+announce VIDEO_VS6624 - "ST VS6624 sensor support"
+clean_blob drivers/media/i2c/vs6624.c
+clean_kconfig drivers/media/i2c/Kconfig VIDEO_VS6624
+clean_mk CONFIG_VIDEO_VS6624 drivers/media/i2c/Makefile
+
announce VIDEO_SAMSUNG_S5P_MFC - "Samsung S5P MFC 5.1 Video Codec"
reject_firmware drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
clean_blob drivers/media/platform/s5p-mfc/s5p_mfc.c
goto error;\
}
}' drivers/net/wireless/b43/main.c 'double-check and reject non-Free firmware'
-# Major portions of firmware filenames not deblobbed.
+clean_sed '
+/^[\t]*filename = "\(ucode\|b0g0\(bs\)\?initvals\)5";$/! {
+ s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g
+}' drivers/net/wireless/b43/main.c 'cleaned up blob basenames'
clean_blob drivers/net/wireless/b43/main.c
clean_kconfig drivers/net/wireless/b43/Kconfig B43
clean_mk CONFIG_B43 drivers/net/wireless/b43/Makefile
announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)"
reject_firmware drivers/net/wireless/b43legacy/main.c
-# Major portions of firwmare filenames not deblobbed.
+clean_sed '
+{
+ s,^\([\t]*filename = "\)\(ucode\|pcm\|[^ "]*initvals\)[0-9][^ ."]*";,\1/*(DEBLOBBED)*/";,g
+}' drivers/net/wireless/b43legacy/main.c 'cleaned up blob basenames'
clean_blob drivers/net/wireless/b43legacy/main.c
clean_kconfig drivers/net/wireless/b43legacy/Kconfig B43LEGACY
clean_mk CONFIG_B43LEGACY drivers/net/wireless/b43legacy/Makefile
# this is the hardware or the software inducing to the installation of
# non-Free firmware.
reject_firmware drivers/scsi/lpfc/lpfc_init.c
+clean_blob drivers/scsi/lpfc/lpfc_init.c
clean_kconfig drivers/scsi/Kconfig SCSI_LPFC
clean_mk CONFIG_SCSI_LPFC drivers/scsi/lpfc/Makefile
clean_kconfig sound/pci/Kconfig SND_HDSP
clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile
-announce SND_AICA - "Dreamcast Yamaha AICA sound"
-reject_firmware sound/sh/aica.c
-clean_blob sound/sh/aica.c
-clean_kconfig sound/sh/Kconfig SND_AICA
-clean_mk CONFIG_SND_AICA sound/sh/Makefile
+# SND_AICA is no longer disabled, its firmware is Free Software.
announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle"
clean_blob sound/isa/msnd/msnd_pinnacle.h