include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=acx-mac80211
-PKG_VERSION:=20070718
+PKG_VERSION:=20071003
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://teknoraver.campuslife.it/software/acx-mac80211/
-PKG_MD5SUM:=c6f339384c8ad17181a9f867a227ddae
+PKG_SOURCE_URL:=@SF/acx100
+PKG_MD5SUM:=dff7b396299001724e522d3ccf79c883
PKG_FW_NAME:=tiacx111c16
PKG_FW_URL:=http://teknoraver.campuslife.it/software/acx-mac80211/
TITLE:=ACX111 Mac80211 driver
DESCRIPTION:=Driver for acx111 cards (Mac80211 version)
DEPENDS:=@LINUX_2_6 +kmod-mac80211 @!TARGET_atheros
- KCONFIG:=CONFIG_MAC80211
+# KCONFIG:=CONFIG_MAC80211
FILES:=$(PKG_BUILD_DIR)/acx-mac80211.$(LINUX_KMOD_SUFFIX)
AUTOLOAD:=$(call AutoLoad,50,acx-mac80211)
endef
+++ /dev/null
---- acx-mac80211-20070610/pci.c 2007-06-10 20:23:27.000000000 +0200
-+++ acx-mac80211-20070610/pci.c 2007-07-23 16:49:06.000000000 +0200
-@@ -104,6 +104,11 @@
- ** Register access
- */
-
-+#define acx_readl(v) le32_to_cpu(readl((v)))
-+#define acx_readw(v) le16_to_cpu(readw((v)))
-+#define acx_writew(v,r) writew(le16_to_cpu((v)), r)
-+#define acx_writel(v,r) writel(le32_to_cpu((v)), r)
-+
- /* Pick one */
- /* #define INLINE_IO static */
- #define INLINE_IO static inline
-@@ -111,16 +116,16 @@
- INLINE_IO u32 read_reg32(acx_device_t * adev, unsigned int offset)
- {
- #if ACX_IO_WIDTH == 32
-- return readl((u8 *) adev->iobase + adev->io[offset]);
-+ return acx_readl((u8 *) adev->iobase + adev->io[offset]);
- #else
-- return readw((u8 *) adev->iobase + adev->io[offset])
-- + (readw((u8 *) adev->iobase + adev->io[offset] + 2) << 16);
-+ return acx_readw((u8 *) adev->iobase + adev->io[offset])
-+ + (acx_readw((u8 *) adev->iobase + adev->io[offset] + 2) << 16);
- #endif
- }
-
- INLINE_IO u16 read_reg16(acx_device_t * adev, unsigned int offset)
- {
-- return readw((u8 *) adev->iobase + adev->io[offset]);
-+ return acx_readw((u8 *) adev->iobase + adev->io[offset]);
- }
-
- INLINE_IO u8 read_reg8(acx_device_t * adev, unsigned int offset)
-@@ -131,16 +136,16 @@
- INLINE_IO void write_reg32(acx_device_t * adev, unsigned int offset, u32 val)
- {
- #if ACX_IO_WIDTH == 32
-- writel(val, (u8 *) adev->iobase + adev->io[offset]);
-+ acx_writel(val, (u8 *) adev->iobase + adev->io[offset]);
- #else
-- writew(val & 0xffff, (u8 *) adev->iobase + adev->io[offset]);
-- writew(val >> 16, (u8 *) adev->iobase + adev->io[offset] + 2);
-+ acx_writew(val & 0xffff, (u8 *) adev->iobase + adev->io[offset]);
-+ acx_writew(val >> 16, (u8 *) adev->iobase + adev->io[offset] + 2);
- #endif
- }
-
- INLINE_IO void write_reg16(acx_device_t * adev, unsigned int offset, u16 val)
- {
-- writew(val, (u8 *) adev->iobase + adev->io[offset]);
-+ acx_writew(val, (u8 *) adev->iobase + adev->io[offset]);
- }
-
- INLINE_IO void write_reg8(acx_device_t * adev, unsigned int offset, u8 val)
-@@ -165,7 +170,7 @@
- {
- /* fast version (accesses the first register, IO_ACX_SOFT_RESET,
- * which should be safe): */
-- return readl(adev->iobase) != 0xffffffff;
-+ return acx_readl(adev->iobase) != 0xffffffff;
- }
-
-
-@@ -821,7 +826,7 @@
- static inline void
- acxpci_write_cmd_type_status(acx_device_t * adev, u16 type, u16 status)
- {
-- writel(type | (status << 16), adev->cmd_area);
-+ acx_writel(type | (status << 16), adev->cmd_area);
- write_flush(adev);
- }
-
-@@ -833,7 +838,7 @@
- {
- u32 cmd_type, cmd_status;
-
-- cmd_type = readl(adev->cmd_area);
-+ cmd_type = acx_readl(adev->cmd_area);
- cmd_status = (cmd_type >> 16);
- cmd_type = (u16) cmd_type;
-
-@@ -2421,12 +2426,12 @@
- #endif
- u32 info_type, info_status;
-
-- info_type = readl(adev->info_area);
-+ info_type = acx_readl(adev->info_area);
- info_status = (info_type >> 16);
- info_type = (u16) info_type;
-
- /* inform fw that we have read this info message */
-- writel(info_type | 0x00010000, adev->info_area);
-+ acx_writel(info_type | 0x00010000, adev->info_area);
- write_reg16(adev, IO_ACX_INT_TRIG, INT_TRIG_INFOACK);
- write_flush(adev);
-
-@@ -4304,8 +4309,8 @@
- #define ENDIANNESS_STRING "running on a BIG-ENDIAN CPU\n"
- #endif
- log(L_INIT,
-- ENDIANNESS_STRING
-- "PCI module " ACX_RELEASE " initialized, "
-+ "acx: " ENDIANNESS_STRING
-+ "acx: PCI module " ACX_RELEASE " initialized, "
- "waiting for cards to probe...\n");
-
- res = pci_register_driver(&acxpci_drv_id);
+++ /dev/null
---- acx-mac80211-20070610/pci.c 2007-06-10 20:23:27.000000000 +0200
-+++ acx-mac80211-20070610.new/pci.c 2007-09-17 01:07:38.000000000 +0200
-@@ -1693,7 +1693,9 @@
- /** done with board specific setup **/
-
- /* need to be able to restore PCI state after a suspend */
-+#ifdef CONFIG_PM
- pci_save_state(pdev);
-+#endif
-
-
- acx_init_task_scheduler(adev);
-@@ -1740,7 +1742,9 @@
- pci_disable_device(pdev);
- fail_pci_enable_device:
-
-+#ifdef CONFIG_PM
- pci_set_power_state(pdev, PCI_D3hot);
-+#endif
- fail_register_netdev:
- ieee80211_free_hw(ieee);
- done:
-@@ -1809,7 +1821,9 @@
- ieee80211_free_hw(adev->ieee);
-
- /* put device into ACPI D3 mode (shutdown) */
-+#ifdef CONFIG_PM
- pci_set_power_state(pdev, PCI_D3hot);
-+#endif
- end:
- FN_EXIT0;
- }
\ No newline at end of file
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=acx
-PKG_VERSION:=20070610
+PKG_VERSION:=20071003
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@openwrt/
-PKG_MD5SUM:=ce36d3d00f87a331d3dee6d5359d4499
+PKG_SOURCE_URL:=@SF/acx100
+PKG_MD5SUM:=09cbaa558e1850d4996e7083d8b7bb93
PKG_FW_NAME:=tiacx111c16
PKG_FW_URL:=http://teknoraver.campuslife.it/software/acx-mac80211/
+++ /dev/null
-Index: acx-20070101/pci.c
-===================================================================
---- acx-20070101.orig/pci.c 2007-06-04 13:22:42.557385576 +0200
-+++ acx-20070101/pci.c 2007-06-04 13:22:42.946326448 +0200
-@@ -123,6 +123,11 @@
- ** Register access
- */
-
-+#define acx_readl(v) le32_to_cpu(readl((v)))
-+#define acx_readw(v) le16_to_cpu(readw((v)))
-+#define acx_writew(v,r) writew(le16_to_cpu((v)), r)
-+#define acx_writel(v,r) writel(le32_to_cpu((v)), r)
-+
- /* Pick one */
- /* #define INLINE_IO static */
- #define INLINE_IO static inline
-@@ -131,17 +136,17 @@
- read_reg32(acx_device_t *adev, unsigned int offset)
- {
- #if ACX_IO_WIDTH == 32
-- return readl((u8 *)adev->iobase + adev->io[offset]);
-+ return acx_readl((u8 *)adev->iobase + adev->io[offset]);
- #else
-- return readw((u8 *)adev->iobase + adev->io[offset])
-- + (readw((u8 *)adev->iobase + adev->io[offset] + 2) << 16);
-+ return acx_readw((u8 *)adev->iobase + adev->io[offset])
-+ + (acx_readw((u8 *)adev->iobase + adev->io[offset] + 2) << 16);
- #endif
- }
-
- INLINE_IO u16
- read_reg16(acx_device_t *adev, unsigned int offset)
- {
-- return readw((u8 *)adev->iobase + adev->io[offset]);
-+ return acx_readw((u8 *)adev->iobase + adev->io[offset]);
- }
-
- INLINE_IO u8
-@@ -154,17 +159,17 @@
- write_reg32(acx_device_t *adev, unsigned int offset, u32 val)
- {
- #if ACX_IO_WIDTH == 32
-- writel(val, (u8 *)adev->iobase + adev->io[offset]);
-+ acx_writel(val, (u8 *)adev->iobase + adev->io[offset]);
- #else
-- writew(val & 0xffff, (u8 *)adev->iobase + adev->io[offset]);
-- writew(val >> 16, (u8 *)adev->iobase + adev->io[offset] + 2);
-+ acx_writew(val & 0xffff, (u8 *)adev->iobase + adev->io[offset]);
-+ acx_writew(val >> 16, (u8 *)adev->iobase + adev->io[offset] + 2);
- #endif
- }
-
- INLINE_IO void
- write_reg16(acx_device_t *adev, unsigned int offset, u16 val)
- {
-- writew(val, (u8 *)adev->iobase + adev->io[offset]);
-+ acx_writew(val, (u8 *)adev->iobase + adev->io[offset]);
- }
-
- INLINE_IO void
-@@ -192,7 +197,7 @@
- {
- /* fast version (accesses the first register, IO_ACX_SOFT_RESET,
- * which should be safe): */
-- return readl(adev->iobase) != 0xffffffff;
-+ return acx_readl(adev->iobase) != 0xffffffff;
- }
-
-
-@@ -835,7 +840,7 @@
- static inline void
- acxpci_write_cmd_type_status(acx_device_t *adev, u16 type, u16 status)
- {
-- writel(type | (status << 16), adev->cmd_area);
-+ acx_writel(type | (status << 16), adev->cmd_area);
- write_flush(adev);
- }
-
-@@ -848,7 +853,7 @@
- {
- u32 cmd_type, cmd_status;
-
-- cmd_type = readl(adev->cmd_area);
-+ cmd_type = acx_readl(adev->cmd_area);
- cmd_status = (cmd_type >> 16);
- cmd_type = (u16)cmd_type;
-
-@@ -2415,12 +2420,12 @@
- #endif
- u32 info_type, info_status;
-
-- info_type = readl(adev->info_area);
-+ info_type = acx_readl(adev->info_area);
- info_status = (info_type >> 16);
- info_type = (u16)info_type;
-
- /* inform fw that we have read this info message */
-- writel(info_type | 0x00010000, adev->info_area);
-+ acx_writel(info_type | 0x00010000, adev->info_area);
- write_reg16(adev, IO_ACX_INT_TRIG, INT_TRIG_INFOACK);
- write_flush(adev);
-
-@@ -4209,8 +4214,8 @@
- #define ENDIANNESS_STRING "running on a BIG-ENDIAN CPU\n"
- #endif
- log(L_INIT,
-- ENDIANNESS_STRING
-- "PCI module " ACX_RELEASE " initialized, "
-+ "acx: " ENDIANNESS_STRING
-+ "acx: PCI module " ACX_RELEASE " initialized, "
- "waiting for cards to probe...\n"
- );
-
+++ /dev/null
-diff -ruN acx-20070610-old/pci.c acx-20070610-new/pci.c
---- acx-20070610-old/pci.c 2007-09-16 17:57:55.000000000 +0200
-+++ acx-20070610-new/pci.c 2007-09-16 17:59:25.000000000 +0200
-@@ -1630,7 +1630,9 @@
- log(L_IRQ|L_INIT, "using IRQ %d\n", pdev->irq);
-
- /* need to be able to restore PCI state after a suspend */
-+#ifdef CONFIG_PM
- pci_save_state(pdev);
-+#endif
- pci_set_drvdata(pdev, ndev);
-
- /* ok, pci setup is finished, now start initializing the card */
-@@ -1728,7 +1730,9 @@
- pci_disable_device(pdev);
- fail_pci_enable_device:
-
-+#ifdef CONFIG_PM
- pci_set_power_state(pdev, PCI_D3hot);
-+#endif
-
- done:
- FN_EXIT1(result);
-@@ -1848,7 +1852,9 @@
- free_netdev(ndev);
-
- /* put device into ACPI D3 mode (shutdown) */
-+#ifdef CONFIG_PM
- pci_set_power_state(pdev, PCI_D3hot);
-+#endif
-
- end:
- FN_EXIT0;