Accepting request 426150 from hardware

Clean up NVRAM config symlink generation

OBS-URL: https://build.opensuse.org/request/show/426150
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bcm43xx-firmware?expand=0&rev=2
This commit is contained in:
Dominique Leuenberger 2016-09-12 11:26:04 +00:00 committed by Git OBS Bridge
commit 5e5cadd344
4 changed files with 53 additions and 27 deletions

1
50-brcmfmac.conf Normal file
View File

@ -0,0 +1 @@
install brcmfmac /usr/sbin/install-brcmfmac $CMDLINE_OPTS

View File

@ -1,9 +1,16 @@
-------------------------------------------------------------------
Wed Sep 7 17:32:02 UTC 2016 - afaerber@suse.de
- Move %post script to install-brcmfmac.sh, add 50-brcmfmac.conf.
This avoids workarounds for Kiwi images. (tiwai)
-------------------------------------------------------------------
Sat Sep 3 00:47:54 UTC 2016 - afaerber@suse.de
- Renamed package from bcm43430-firmware to bcm43xx-firmware (duwe)
- Renamed brcmfmac43430-sdio.txt to brcmfmac43430-sdio-rpi3.txt and
added post-install script to symlink
* Added brcmfmac43362-sdio-{cubietruck,bananapi-{m1+,m2}}.txt
-------------------------------------------------------------------
Tue Aug 30 17:49:22 UTC 2016 - afaerber@suse.de

View File

@ -19,28 +19,35 @@
Name: bcm43xx-firmware
Version: 20160301
Release: 0
Summary: Firmware for the Broadcom BCM43xx chipset family
Summary: Firmware for the Broadcom/Cypress BCM43xx chipset family
License: SUSE-Firmware
Group: System/Kernel
Url: http://www.broadcom.com/products/wireless-connectivity
Url: https://community.cypress.com/community/linux
# From https://github.com/raspberrypi/linux/issues/1325#issuecomment-195560582
# Phil Elwell (Raspberry Pi Foundation) wrote: "Broadcom have said that
# the firmware files for the BCM43438 are covered under this licence:"
Source0: https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/LICENCE.broadcom_bcm43xx
Source1: 50-brcmfmac.conf
Source2: install-brcmfmac.sh
#BCM43362
Source3621: http://dl.cubieboard.org/public/Cubieboard/benn/firmware/ap6210/nvram_ap6210.txt#/brcmfmac43362-sdio-cubietruck.txt
Source3622: https://github.com/Bananian/bananian/raw/master/deb/u-boot-m2-bananian_armhf/lib/firmware/brcm/brcmfmac43362-sdio.txt#/brcmfmac43362-sdio-bananapi-m2.txt
Source3623: https://github.com/Bananian/bananian/raw/master/deb/u-boot-pro-bananian_armhf/lib/firmware/brcm/brcmfmac43362-sdio.txt#/brcmfmac43362-sdio-bananapi-m1+.txt
#BCM43430
Source4300: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.bin
Source4301: https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm80211/brcm/brcmfmac43430-sdio.txt#/brcmfmac43430-sdio-raspberrypi3b.txt
Source4309: http://phelum.net/temp/BCM43430A1.hcd
# Owns /lib/firmware/brcm and potentially conflicts
BuildRequires: kernel-firmware
# Owns /etc/modprobe.d
BuildRequires: suse-module-tools
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
This package provides the firmware files needed for the
Broadcom BCM43430 Wifi+Bluetooth chipset.
Broadcom (now Cypress) BCM43430 Wifi+Bluetooth chipset
as well as NVRAM config files for BCM43362 and BCM43430.
%prep
%setup -q -c -T
@ -49,32 +56,19 @@ cp %{SOURCE0} .
%build
%install
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d
install -c -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/modprobe.d
mkdir -p %{buildroot}%{_sbindir}
install -c -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/install-brcmfmac
# Used by brcmfmac
install -D -m 0644 %{SOURCE3621} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-cubietruck.txt
install -D -m 0644 %{SOURCE3622} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-bananapi-m2.txt
install -D -m 0644 %{SOURCE3623} %{buildroot}/lib/firmware/brcm/brcmfmac43362-sdio-bananapi-m1+.txt
install -D -m 0644 %{SOURCE4300} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio.bin
install -D -m 0644 %{SOURCE4301} %{buildroot}/lib/firmware/brcm/brcmfmac43430-sdio-raspberrypi3b.txt
mkdir -p %{buildroot}/lib/firmware/brcm
install -c -m 0644 %{SOURCE3621} %{buildroot}/lib/firmware/brcm/
install -c -m 0644 %{SOURCE3622} %{buildroot}/lib/firmware/brcm/
install -c -m 0644 %{SOURCE3623} %{buildroot}/lib/firmware/brcm/
install -c -m 0644 %{SOURCE4300} %{buildroot}/lib/firmware/brcm/
install -c -m 0644 %{SOURCE4301} %{buildroot}/lib/firmware/brcm/
# Used by bluez (hciattach)
install -D -m 0644 %{SOURCE4309} %{buildroot}/lib/firmware/BCM43430A1.hcd
%post
if [[ -e /sys/firmware/devicetree/base/compatible ]]; then
case "$(cat /sys/firmware/devicetree/base/compatible 2>/dev/null)" in
*cubietech,cubietruck*)
ln -sf brcmfmac43362-sdio-cubietruck.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*sinovoip,bpi-m2*)
ln -sf brcmfmac43362-sdio-bananapi-m2.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*lemaker,bananapro*)
ln -sf brcmfmac43362-sdio-bananapi-m1+.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*raspberrypi,3-model-b*)
ln -sf brcmfmac43430-sdio-raspberrypi3b.txt /lib/firmware/brcm/brcmfmac43430-sdio.txt
;;
esac
fi
install -c -m 0644 %{SOURCE4309} %{buildroot}/lib/firmware/
%files
%defattr(-,root,root)
@ -84,5 +78,7 @@ fi
/lib/firmware/brcm/*.txt
%ghost /lib/firmware/brcm/brcmfmac43362-sdio.txt
%ghost /lib/firmware/brcm/brcmfmac43430-sdio.txt
%{_sysconfdir}/modprobe.d/50-brcmfmac.conf
%{_sbindir}/install-brcmfmac
%changelog

22
install-brcmfmac.sh Normal file
View File

@ -0,0 +1,22 @@
#!/bin/sh
if [[ -e /sys/firmware/devicetree/base/compatible ]]; then
case "$(cat /sys/firmware/devicetree/base/compatible 2>/dev/null)" in
*cubietech,cubietruck*)
ln -sf brcmfmac43362-sdio-cubietruck.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*sinovoip,bpi-m2*)
ln -sf brcmfmac43362-sdio-bananapi-m2.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*lemaker,bananapro*)
ln -sf brcmfmac43362-sdio-bananapi-m1+.txt /lib/firmware/brcm/brcmfmac43362-sdio.txt
;;
*raspberrypi,3-model-b*)
ln -sf brcmfmac43430-sdio-raspberrypi3b.txt /lib/firmware/brcm/brcmfmac43430-sdio.txt
;;
esac
fi
/usr/sbin/modprobe --ignore-install brcmfmac "$@" || exit $?
exit 0