[ar71xx] ag71xx driver: fix a kernel crash caused by r14496
[openwrt.git] / target / linux / brcm47xx / patches-2.6.25 / 680-ssb-support-8bit-writes.patch
index 82b64a3..f96b4d2 100644 (file)
@@ -1,9 +1,7 @@
 Add support for 8bit reads/writes to SSB.
 Add support for 8bit reads/writes to SSB.
-Index: linux-2.6.23.16/drivers/ssb/main.c
-===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/main.c    2008-02-20 14:10:07.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/main.c 2008-02-20 18:34:48.000000000 +0100
-@@ -507,6 +507,14 @@ error:
+--- a/drivers/ssb/main.c
++++ b/drivers/ssb/main.c
+@@ -508,6 +508,14 @@ error:
        return err;
  }
  
        return err;
  }
  
@@ -18,7 +16,7 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
  static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
  static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -523,6 +531,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
+@@ -524,6 +532,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
        return readl(bus->mmio + offset);
  }
  
        return readl(bus->mmio + offset);
  }
  
@@ -33,7 +31,7 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
  static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
  static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -541,8 +557,10 @@ static void ssb_ssb_write32(struct ssb_d
+@@ -542,8 +558,10 @@ static void ssb_ssb_write32(struct ssb_d
  
  /* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
  static const struct ssb_bus_ops ssb_ssb_ops = {
  
  /* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
  static const struct ssb_bus_ops ssb_ssb_ops = {
@@ -44,11 +42,9 @@ Index: linux-2.6.23.16/drivers/ssb/main.c
        .write16        = ssb_ssb_write16,
        .write32        = ssb_ssb_write32,
  };
        .write16        = ssb_ssb_write16,
        .write32        = ssb_ssb_write32,
  };
-Index: linux-2.6.23.16/drivers/ssb/pci.c
-===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/pci.c     2008-02-20 14:10:03.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/pci.c  2008-02-20 14:10:07.000000000 +0100
-@@ -572,6 +572,19 @@ static inline int ssb_pci_assert_buspowe
+--- a/drivers/ssb/pci.c
++++ b/drivers/ssb/pci.c
+@@ -577,6 +577,19 @@ static inline int ssb_pci_assert_buspowe
  }
  #endif /* DEBUG */
  
  }
  #endif /* DEBUG */
  
@@ -68,7 +64,7 @@ Index: linux-2.6.23.16/drivers/ssb/pci.c
  static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
  static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -598,6 +611,19 @@ static u32 ssb_pci_read32(struct ssb_dev
+@@ -603,6 +616,19 @@ static u32 ssb_pci_read32(struct ssb_dev
        return ioread32(bus->mmio + offset);
  }
  
        return ioread32(bus->mmio + offset);
  }
  
@@ -88,7 +84,7 @@ Index: linux-2.6.23.16/drivers/ssb/pci.c
  static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
  static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
  {
        struct ssb_bus *bus = dev->bus;
-@@ -626,8 +652,10 @@ static void ssb_pci_write32(struct ssb_d
+@@ -631,8 +657,10 @@ static void ssb_pci_write32(struct ssb_d
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pci_ops = {
  
  /* Not "static", as it's used in main.c */
  const struct ssb_bus_ops ssb_pci_ops = {
@@ -99,10 +95,8 @@ Index: linux-2.6.23.16/drivers/ssb/pci.c
        .write16        = ssb_pci_write16,
        .write32        = ssb_pci_write32,
  };
        .write16        = ssb_pci_write16,
        .write32        = ssb_pci_write32,
  };
-Index: linux-2.6.23.16/drivers/ssb/pcmcia.c
-===================================================================
---- linux-2.6.23.16.orig/drivers/ssb/pcmcia.c  2008-02-20 14:10:03.000000000 +0100
-+++ linux-2.6.23.16/drivers/ssb/pcmcia.c       2008-02-20 14:10:07.000000000 +0100
+--- a/drivers/ssb/pcmcia.c
++++ b/drivers/ssb/pcmcia.c
 @@ -172,6 +172,22 @@ static int select_core_and_segment(struc
        return 0;
  }
 @@ -172,6 +172,22 @@ static int select_core_and_segment(struc
        return 0;
  }
@@ -158,10 +152,8 @@ Index: linux-2.6.23.16/drivers/ssb/pcmcia.c
        .write16        = ssb_pcmcia_write16,
        .write32        = ssb_pcmcia_write32,
  };
        .write16        = ssb_pcmcia_write16,
        .write32        = ssb_pcmcia_write32,
  };
-Index: linux-2.6.23.16/include/linux/ssb/ssb.h
-===================================================================
---- linux-2.6.23.16.orig/include/linux/ssb/ssb.h       2008-02-20 14:10:07.000000000 +0100
-+++ linux-2.6.23.16/include/linux/ssb/ssb.h    2008-02-20 18:33:21.000000000 +0100
+--- a/include/linux/ssb/ssb.h
++++ b/include/linux/ssb/ssb.h
 @@ -72,8 +72,10 @@ struct ssb_device;
  /* Lowlevel read/write operations on the device MMIO.
   * Internal, don't use that outside of ssb. */
 @@ -72,8 +72,10 @@ struct ssb_device;
  /* Lowlevel read/write operations on the device MMIO.
   * Internal, don't use that outside of ssb. */
@@ -173,7 +165,7 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb.h
        void (*write16)(struct ssb_device *dev, u16 offset, u16 value);
        void (*write32)(struct ssb_device *dev, u16 offset, u32 value);
  };
        void (*write16)(struct ssb_device *dev, u16 offset, u16 value);
        void (*write32)(struct ssb_device *dev, u16 offset, u32 value);
  };
-@@ -344,6 +346,10 @@ void ssb_device_disable(struct ssb_devic
+@@ -348,6 +350,10 @@ void ssb_device_disable(struct ssb_devic
  
  
  /* Device MMIO register read/write functions. */
  
  
  /* Device MMIO register read/write functions. */
@@ -184,7 +176,7 @@ Index: linux-2.6.23.16/include/linux/ssb/ssb.h
  static inline u16 ssb_read16(struct ssb_device *dev, u16 offset)
  {
        return dev->ops->read16(dev, offset);
  static inline u16 ssb_read16(struct ssb_device *dev, u16 offset)
  {
        return dev->ops->read16(dev, offset);
-@@ -352,6 +358,10 @@ static inline u32 ssb_read32(struct ssb_
+@@ -356,6 +362,10 @@ static inline u32 ssb_read32(struct ssb_
  {
        return dev->ops->read32(dev, offset);
  }
  {
        return dev->ops->read32(dev, offset);
  }
This page took 0.024007 seconds and 4 git commands to generate.