Search Linux Wireless

Re: Patch for compat-wireless-2.6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Feb 16, 2008 10:12 AM, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote:
> Hi
>
> This patch fixes some compile errors in the newest version of
> compat-wireless-2.6. I have tested it with kernel 2.6.24 and 2.6.22

Thanks for the patch! Going to paste the patch below as if sent inline
and address some things:

> diff --git a/compat/compat.diff b/compat/compat.diff
> index c857ea2..49325b5 100644
> --- a/compat/compat.diff
> +++ b/compat/compat.diff
> @@ -633,3 +633,34 @@
>   obj-$(CONFIG_EEPROM_93CX6)	+= eeprom_93cx6.o
>  -obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
>  -obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
> +--- a/drivers/net/wireless/zd1211rw/zd_chip.c	2008-02-15 16:29:43.000000000 -0500
> ++++ b/drivers/net/wireless/zd1211rw/zd_chip.c	2008-02-15 16:29:43.000000000 -0500
> +@@ -1280,7 +1280,7 @@ int zd_chip_control_leds(struct zd_chip *chip, enum led_status status)
> + 	other_led = chip->link_led == LED1 ? LED2 : LED1;
> +
> + 	switch (status) {
> +-	case LED_OFF:
> ++	case LED_OFF_ZD:
> + 		ioreqs[0].value = FW_LINK_OFF;
> + 		ioreqs[1].value = v[1] & ~(LED1|LED2);
> + 		break;
> +--- a/drivers/net/wireless/zd1211rw/zd_chip.h	2008-02-15 16:29:43.000000000 -0500
> ++++ b/drivers/net/wireless/zd1211rw/zd_chip.h	2008-02-15 16:29:43.000000000 -0500
> +@@ -890,7 +890,7 @@ int zd_chip_lock_phy_regs(struct zd_chip *chip);
> + int zd_chip_unlock_phy_regs(struct zd_chip *chip);
> +
> + enum led_status {
> +-	LED_OFF = 0,
> ++	LED_OFF_ZD = 0,
> + 	LED_SCANNING = 1,
> + 	LED_ASSOCIATED = 2,
> + };
> +--- a/drivers/net/wireless/zd1211rw/zd_mac.c	2008-02-15 16:29:43.000000000 -0500
> ++++ b/drivers/net/wireless/zd1211rw/zd_mac.c	2008-02-15 16:29:43.000000000 -0500
> +@@ -965,5 +965,5 @@ static void housekeeping_disable(struct zd_mac *mac)
> + 	dev_dbg_f(zd_mac_dev(mac), "\n");
> + 	cancel_rearming_delayed_workqueue(zd_workqueue,
> + 		&mac->housekeeping.link_led_work);
> +-	zd_chip_control_leds(&mac->chip, LED_OFF);
> ++	zd_chip_control_leds(&mac->chip, LED_OFF_ZD);
> + }

This could possibly go upstream so we don't have to keep an extra
patch around. Up to zd guys though. If not we'll have to keep updating
this hunk as the driver changes. Not a big issue. This is just so we
can keep including from compat.h leds.h which has its own definition
of LEDS_OFF.

> diff --git a/compat/compat.h b/compat/compat.h
> index b438a5a..a25192d 100644
> --- a/compat/compat.h
> +++ b/compat/compat.h
> @@ -10,6 +10,8 @@
>  #include <linux/scatterlist.h>
>  #include <linux/usb.h>
>  #include <linux/compat_autoconf.h>
> +#include <linux/hw_random.h>
> +#include <linux/leds.h>

b43 now can get leds support, will enable that, thanks.

>  /* Compat work for 2.6.22 and 2.6.23 */
>  #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24))
> @@ -17,7 +19,7 @@
>  /* From include/linux/mod_devicetable.h */
>
>  /* SSB core, see drivers/ssb/ */
> -#ifndef CONFIG_SSB
> +#ifndef SSB_DEVICE
>  struct ssb_device_id {
>  	__u16   vendor;
>  	__u16   coreid;
> @@ -190,4 +192,20 @@ static inline void set_freezable(void) {}
>  #endif /* CONFIG_PM_SLEEP */
>
>  #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)) */
> +
> +/* Compat work for 2.6.24 */
> +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25))
> +
> +static inline void __hwrng_unregister(struct hwrng *rng, bool suspended)
> +{
> +	hwrng_unregister(rng);
> +}
> +
> +static inline void led_classdev_unregister_suspended(struct led_classdev *lcd)
> +{
> +	led_classdev_unregister(lcd);
> +}
> +
> +
> +#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)) */
>  #endif /* LINUX_26_COMPAT_H */
> diff --git a/scripts/admin-update.sh b/scripts/admin-update.sh
> index 5f6e9e1..147a01e 100755
> --- a/scripts/admin-update.sh
> +++ b/scripts/admin-update.sh
> @@ -18,7 +18,7 @@
>  GIT_URL="git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git"
>
>  INCLUDE_LINUX="ieee80211.h nl80211.h wireless.h"
> -INCLUDE_LINUX="$INCLUDE_LINUX pci_ids.h bitops.h eeprom_93cx6.h"
> +INCLUDE_LINUX="$INCLUDE_LINUX pci_ids.h bitops.h eeprom_93cx6.h pm_qos_params.h"

pm_qos_params.h requires porting (work is in kernel/pm_qos_params.c)
for kernels <= 2.6.24 but I've gone ahead and added this work to
compat.c ontop of your patch.

Changes pushed, and new tarball re-generated. Also minor note, I've
enabled PID rate control algorithm as the default rate control
algorithm as 'simple' is scheduled for removal for 2.6.26. Please let
me know if you have any issues.

  Luis
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux