wl1251-modules: make upgrade work
[openpandora.oe.git] / recipes / pandora-system / wl1251-modules.bb
index 770a6db..806ded3 100755 (executable)
@@ -1,15 +1,13 @@
 DESCRIPTION = "Kernel drivers for the TI WL1251 WiFi chip found on the Pandora - Connected via SDIO"
 LICENSE = "GPLv2"
 
+SRCREV = "ccb56baff992d682cc84eca10472298b2cce1bf1"
+
+SRC_URI = " \
+           git://git.openpandora.org/pandora-wifi.git;protocol=git;branch=compat-wireless \
+"
+
 SRC_URI += " \
-       http://www.orbit-lab.org/kernel/compat-wireless-2.6/compat-wireless-2010-03-10.tar.bz2;name=compat-wireless \
-       file://0001-wl1251-make-local-symbols-static.patch;patch=1 \
-       file://0002-wl1251-fix-ELP_CTRL-register-accesses-when-using-SDI.patch;patch=1 \
-       file://0003-wl1251-reduce-eeprom-read-wait-time.patch;patch=1 \
-       file://0004-wl1251-fix-potential-crash.patch;patch=1 \
-       file://0005-pandora-hacks.patch;patch=1 \
-       file://no-scan-while-connected.patch;patch=1 \
-       file://print-chip-id.patch;patch=1 \
        file://rc.wl1251 \
        file://50-compat_firmware.rules \
        file://compat_firmware.sh \
@@ -17,18 +15,18 @@ SRC_URI += " \
 
 RDEPENDS = "udev"
 
-SRC_URI[compat-wireless.md5sum] = "bd1875aebcc2a72f66529ba625751a8c"
-SRC_URI[compat-wireless.sha256sum] = "dd8d8bc79ccb24a1d043325979e337678991b79f2011df160c2d924f181a82c9"
-
 inherit update-rc.d
 
 INITSCRIPT_NAME = "wl1251-init"
 INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
 
-S = "${WORKDIR}/compat-wireless-2010-03-10"
+S = "${WORKDIR}/git"
 
 inherit module
 
+# must be above r28
+PR = "r29"
+
 PARALLEL_MAKE = ""
 
 EXTRA_OEMAKE = " \
@@ -42,28 +40,41 @@ do_compile_prepend() {
 }
 
 do_install() {
-          install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/compat
-          install -m 0644 ${S}/compat/*.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/compat
-          install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
-          install -m 0644 ${S}/net/mac80211/*.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
-          install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
-          install -m 0644 ${S}/net/wireless/*.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
-          install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
-          install -m 0644 ${S}/net/rfkill/*.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
-          install -d ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx      
-          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
-          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251_sdio.ko ${D}/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/compat
+          install -m 0644 ${S}/compat/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/compat
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
+          install -m 0644 ${S}/net/mac80211/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
+          install -m 0644 ${S}/net/wireless/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/wireless
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
+          install -m 0644 ${S}/net/rfkill/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx      
+          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
+          install -m 0644 ${S}/drivers/net/wireless/wl12xx/wl1251_sdio.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx
           
           install -d ${D}${sysconfdir}/init.d/
           install -m 0755 ${WORKDIR}/rc.wl1251 ${D}${sysconfdir}/init.d/wl1251-init
 
-          install -d ${D}${sysconfdir}/udev/rules.d/
-          install -m 0644 ${WORKDIR}/50-compat_firmware.rules ${D}${sysconfdir}/udev/rules.d/
-          install -m 0755 ${WORKDIR}/compat_firmware.sh ${D}${sysconfdir}/udev/rules.d/          
+          # Install UDEV rules to /lib/udev/rules.d not /etc/udev/rules.d as they are system rules.
+          install -d ${D}${base_libdir}/udev/rules.d/
+          install -m 0644 ${WORKDIR}/50-compat_firmware.rules ${D}${base_libdir}/udev/rules.d/
+          install -m 0755 ${WORKDIR}/compat_firmware.sh ${D}${base_libdir}/udev/rules.d/          
+
+          # some bonus not wl1251 related drivers
+          install -m 0644 ${S}/drivers/net/wireless/at76c50x-usb.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00
+          install -m 0644 ${S}/drivers/net/wireless/rt2x00/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00/
+          install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54
+          install -m 0644 ${S}/drivers/net/wireless/p54/*.ko ${D}${base_libdir}/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54/
 }
 
+FILES_${PN} += "/lib/udev/rules.d/*"
 FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/compat/*.ko.*"
 FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/mac80211/*.ko.*"
 FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/wireless/*.ko.*"
 FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/net/rfkill/*.ko.*"
 FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/wl12xx/*.ko.*"
+
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/at76c50x-usb.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/rt2x00/*.ko.*"
+FILES_${PN} += "/lib/modules/${KERNEL_VERSION}/updates/kernel/drivers/net/wireless/p54/*.ko.*"