<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.linux.ports.ppc.embedded">
    <title>gmane.linux.ports.ppc.embedded</title>
    <link>http://blog.gmane.org/gmane.linux.ports.ppc.embedded</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50749"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50748"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50747"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50746"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50745"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50744"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50743"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50742"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50741"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50740"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50739"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50738"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50737"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50736"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50735"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50734"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50733"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50732"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50731"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50730"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50749">
    <title>pread() and pwrite() system calls</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50749</link>
    <description>&lt;pre&gt;We have a system with linux 2.6.32 and the somewhat archaic
uClibc 0.9.27 (but I'm not sure the current version is
any better, and I think there are binary compatibility
if we update).

I've just discovered that pread() is 'implemented'
by using 3 lseek() system calls and read().
(the same is true for the 64bit versions).

I thought that pread() was supposed to be atomic
(so usable concurrently by multiple threads) which
means that this implementation is completely broken.

I've not looked to see what glibc does.

I can see that part of the problem is the alignment
of the 64bit value on the argument list of syscall()
(when the register save area is cast to a sycall
argument structure).
But it also looks as though the uClibc syscall()
stub can only pass 5 arguments in registers, and
pread() (with an aligned 64bit offset) requires 6.

The ucLibc source seems to be predicated by __NR_pread,
but if that were defined it would try to call
__syscall_pread() and I can't find that anywhere.

A special pread/pwrite asm stub that just copies
r7 to r0 could be used.

Would it be enough to do:
syscall_pread_pwrite:
mov 0,7
sc
blr
and handle the -ve -&amp;gt; errno in C?

I've seen other parts of linux pass structures to
avoid issues with excessive number of arguments.
Unlike things like NetBSD amd64 which will read
additional args off the user stack (and has per-system
call stubs in libc so doesn't lose one argument).
(I rearranged the NetBSD amd64 kernel trap frame
layout so all the args ended up adjacent...)

David
&lt;/pre&gt;</description>
    <dc:creator>David Laight</dc:creator>
    <dc:date>2012-05-25T13:29:06</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50748">
    <title>Re: module loading issue/flaw in busy memory situation?</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50748</link>
    <description>&lt;pre&gt;Hi,

The basic question is, has the GPR r11 a dedicated function (to point to the previous stack frame)
or is it still a volatile GPR, according to EABI definition ?
In the case of a dedicated function was assigned, the trampoline code generation in

     arch/powerpc/kernel/module_32.c

must be corrected. I'd suggest to use r12 instead of r11, in this case.

Best Regards
Steffen
&lt;/pre&gt;</description>
    <dc:creator>Steffen Rumler</dc:creator>
    <dc:date>2012-05-25T07:56:07</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50747">
    <title>Re: [PATCH v3 1/2] powerpc/PCI: move DMA &amp; IRQ init to device_add() notification path</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50747</link>
    <description>&lt;pre&gt;
I'm not that worried about cardbus ... in fact I wouldn't be surprised
if it's already somewhat broken, I haven't tested it in a long time...

I'm more worried about basic functionality and expectations about when
things happen during boot vs. platform hacks, that and pseries specific
kind of hotplug which can be a bit odd.

Cheers,
Ben.
&lt;/pre&gt;</description>
    <dc:creator>Benjamin Herrenschmidt</dc:creator>
    <dc:date>2012-05-25T03:38:25</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50746">
    <title>Re: [PATCH v3 1/2] powerpc/PCI: move DMA &amp; IRQ init to device_add() notification path</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50746</link>
    <description>&lt;pre&gt;On Thu, May 24, 2012 at 9:00 PM, Benjamin Herrenschmidt
&amp;lt;benh&amp;lt; at &amp;gt;kernel.crashing.org&amp;gt; wrote:

OK.  Are you worried about cardbus in particular?

This is headed for the 3.6, not 3.5, so we should have plenty of time.
 As soon as everything for the current merge window gets merged and
-next is ready for the next batch, I'll put this in there.

&lt;/pre&gt;</description>
    <dc:creator>Bjorn Helgaas</dc:creator>
    <dc:date>2012-05-25T03:08:24</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50745">
    <title>Re: [PATCH v3 1/2] powerpc/PCI: move DMA &amp; IRQ init to device_add() notification path</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50745</link>
    <description>&lt;pre&gt;
Hrm. That will require a good deal of testing... Unfortunately I'm out
for a few weeks getting some surgery and then recovering...

Our PCI code has ancient roots and I wouldn't be surprised if that
change breaks subtle assumptions made here or there, we'd need to test
at least on a good range of macs and ibm hotplug stuff.

Cheers,
Ben.

&lt;/pre&gt;</description>
    <dc:creator>Benjamin Herrenschmidt</dc:creator>
    <dc:date>2012-05-25T03:00:11</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50744">
    <title>Re: Oops with Radeon/Uninorth on Maple</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50744</link>
    <description>&lt;pre&gt;
Machine Check probably means that there's a HW configuration issue,
possibly something missing in the initialization of the AGP hardware to
make it actually work.

Cheers,
Ben.

&lt;/pre&gt;</description>
    <dc:creator>Benjamin Herrenschmidt</dc:creator>
    <dc:date>2012-05-25T00:59:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50743">
    <title>module loading issue/flaw in busy memory situation?</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50743</link>
    <description>&lt;pre&gt;Hi,

let's assume a module gets loaded into an already busy system, and the ".init.text" section with the __init function gets loaded into one memory region, and the normal ".text" section gets loaded into a totally different memory region.
Now assume that both regions are &amp;gt;32MB apart in addressing, so that a call from the __init .init.text function to any function in .text requires a trampoline as set up by the do_plt_call() function in arch/kernel/module*.c
So far so good for user code.

Now assume that the __init function is not trivial and will require register save/restore functions in prologue/epilogue with such calls generated by gcc, e.g., the __init function calls _rest32gpr_28_x() in the epilogue. This restore functions however is in the .text section due to the static link of the normal libs.

Now we have the __init function calling the trampoline, which is destroying r11. The trampoline is then jumping to the register restore function which relies on r11 still being intact, which it now isn't anymore.
Net result is a crash because the trampoline ABI conflicts with the register restore ABI and you get a case of garbage in leading to garbage out.

This situation has apparently occurred based on the debug results I have here.

In the general case of module development it seems unpredictable if gcc will actually call a register restore function from the __init function, or if the sections get loaded to require a trampoline, so for any non-trivial function in non-trivial memory setups, a crash would have to be expected, depending on the time of day and moon phase when the module gets loaded.

Is this a fundamental flaw in the interaction of the module section use specification and the module load mechanism with the ABI definition?

Or am I missing some incorrect setup or requirement for __init functions that I should deal with?

Thanks,

Heinz
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev&amp;lt; at &amp;gt;lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev&lt;/pre&gt;</description>
    <dc:creator>Wrobel Heinz-R39252</dc:creator>
    <dc:date>2012-05-24T20:05:19</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50742">
    <title>Re: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50742</link>
    <description>&lt;pre&gt;
You will have to debug it and find out why the device match is failing, 
then fix it.

David Daney
&lt;/pre&gt;</description>
    <dc:creator>David Daney</dc:creator>
    <dc:date>2012-05-24T19:19:53</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50741">
    <title>Re: [PATCH] gianfar:don't add FCB length to hard_header_len</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50741</link>
    <description>&lt;pre&gt;
Thanks Joe.

I also don't have the card; the kinds of changes I was proposing to make
are code-neutral, whose correctness I was intending to prove by a binary
compare of the before-and-after .o.

Still happy to do that taking your contribution as a starting point.

Thanks, Jan
&lt;/pre&gt;</description>
    <dc:creator>Jan Ceuleers</dc:creator>
    <dc:date>2012-05-24T18:03:13</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50740">
    <title>Re: [PATCH] gianfar:don't add FCB length to hard_header_len</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50740</link>
    <description>&lt;pre&gt;
May I give that a go?
&lt;/pre&gt;</description>
    <dc:creator>Jan Ceuleers</dc:creator>
    <dc:date>2012-05-24T15:04:34</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50739">
    <title>Re: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50739</link>
    <description>&lt;pre&gt;

Ok, let me give you some background.  We actually already have MDIO muxing
code in-house, but it's different from yours.  So now I'm rewriting it to
use your design instead.

So our current code looks for "virtual MDIO nodes", and we call
mdiobus_alloc() and then of_mdiobus_register().  I think this is what I'm
missing now.

I just don't know what to do next.  Part of the problem is that I don't
have much experience with MDIO drivers.


Ok, that makes sense.


I only gave you part of the device tree.  Here's my mdio mux node:

mdio-mux {
compatible = "mdio-mux-gpio";
gpios = &amp;lt;&amp;amp;gpio0 0 0&amp;gt;, &amp;lt;&amp;amp;gpio0 1 0&amp;gt;;
mdio-parent-bus = &amp;lt;&amp;amp;mdio0&amp;gt;;
#address-cells = &amp;lt;1&amp;gt;;
#size-cells = &amp;lt;0&amp;gt;;

mdio&amp;lt; at &amp;gt;2 {
reg = &amp;lt;2&amp;gt;;
#address-cells = &amp;lt;1&amp;gt;;
#size-cells = &amp;lt;0&amp;gt;;

phy21: ethernet-phy&amp;lt; at &amp;gt;1 {
reg = &amp;lt;1&amp;gt;;
//compatible = "marvell,88e1149r", "ethernet-phy-ieee802.3-c22";
marvell,reg-init = &amp;lt;3 0x10 0 0x5777&amp;gt;,
&amp;lt;3 0x11 0 0x00aa&amp;gt;,
&amp;lt;3 0x12 0 0x4105&amp;gt;,
&amp;lt;3 0x13 0 0x0a60&amp;gt;;
interrupt-parent = &amp;lt;&amp;amp;gpio0&amp;gt;;
//interrupts = &amp;lt;10 8&amp;gt;; /* Pin 10, active low */
};
};
};
};






&lt;/pre&gt;</description>
    <dc:creator>Timur Tabi</dc:creator>
    <dc:date>2012-05-24T19:03:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50738">
    <title>Re: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50738</link>
    <description>&lt;pre&gt;
Well, the MDIO bus must have an associated device tree node.

For my OCTEON code, the MDIO bus device is created as a result of the 
call to of_platform_bus_probe(), which takes care of filling in all the 
device tree nodes of the devices it finds and creates.


For starters, I do not see any compatible properties that would allow 
the proper drivers to be bound to anything.

Also I see no MDIO mux node there, so it is unclear why you are even 
asking these questions.

David Daney
&lt;/pre&gt;</description>
    <dc:creator>David Daney</dc:creator>
    <dc:date>2012-05-24T18:50:26</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50737">
    <title>Re: [PATCH v6 0/3] netdev/of/phy: MDIO bus multiplexer support.</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50737</link>
    <description>&lt;pre&gt;
I'm till have trouble understanding all this.  I'm just hacking things up
in order to help me understand it, but it's a slow and painful process.

This call in mdio_mux_init() is failing:

parent_bus = of_mdio_find_bus(parent_bus_node);

It returns NULL.  Here is my MDIO node:

fman0: fman&amp;lt; at &amp;gt;400000 {
enet0: ethernet&amp;lt; at &amp;gt;e0000 {
tbi-handle = &amp;lt;&amp;amp;tbi0&amp;gt;;
phy-handle = &amp;lt;&amp;amp;phy0&amp;gt;;
phy-connection-type = "sgmii";
};

mdio0: mdio&amp;lt; at &amp;gt;e1120 {
gpios = &amp;lt;&amp;amp;gpio0 0 0
 &amp;amp;gpio0 1 0&amp;gt;;

tbi0: tbi-phy&amp;lt; at &amp;gt;8 {
reg = &amp;lt;0x8&amp;gt;;
device_type = "tbi-phy";
};

phy0: ethernet-phy&amp;lt; at &amp;gt;1c {
reg = &amp;lt;0x1c&amp;gt;;
};
};
};

What am I missing?  What do I need to do in order to get
of_mdio_find_bus() to return a real value?

&lt;/pre&gt;</description>
    <dc:creator>Timur Tabi</dc:creator>
    <dc:date>2012-05-24T18:28:40</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50736">
    <title>Re: [PATCH] gianfar:don't add FCB length to hard_header_len</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50736</link>
    <description>&lt;pre&gt;
I have scripts that automate most of this.
I don't have the card though.

Maybe this is a starting point?
It doesn't fix most 80 column warnings.

 drivers/net/ethernet/freescale/gianfar.c         |  299 +++++++++++-----------
 drivers/net/ethernet/freescale/gianfar_ethtool.c |  131 +++++-----
 drivers/net/ethernet/freescale/gianfar_ptp.c     |    8 +-
 drivers/net/ethernet/freescale/gianfar_sysfs.c   |    2 +-
 4 files changed, 225 insertions(+), 215 deletions(-)

diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 1adb024..b1985aa 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -87,10 +87,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/in.h&amp;gt;
 #include &amp;lt;linux/net_tstamp.h&amp;gt;
 
-#include &amp;lt;asm/io.h&amp;gt;
+#include &amp;lt;linux/io.h&amp;gt;
 #include &amp;lt;asm/reg.h&amp;gt;
 #include &amp;lt;asm/irq.h&amp;gt;
-#include &amp;lt;asm/uaccess.h&amp;gt;
+#include &amp;lt;linux/uaccess.h&amp;gt;
 #include &amp;lt;linux/module.h&amp;gt;
 #include &amp;lt;linux/dma-mapping.h&amp;gt;
 #include &amp;lt;linux/crc32.h&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -114,7 +114,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_timeout(struct net_device *dev);
 static int gfar_close(struct net_device *dev);
 struct sk_buff *gfar_new_skb(struct net_device *dev);
 static void gfar_new_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp,
-struct sk_buff *skb);
+   struct sk_buff *skb);
 static int gfar_set_mac_address(struct net_device *dev);
 static int gfar_change_mtu(struct net_device *dev, int new_mtu);
 static irqreturn_t gfar_error(int irq, void *dev_id);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -251,9 +251,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_alloc_skb_resources(struct net_device *ndev)
 
 /* Allocate memory for the buffer descriptors */
 vaddr = dma_alloc_coherent(dev,
-sizeof(struct txbd8) * priv-&amp;gt;total_tx_ring_size +
-sizeof(struct rxbd8) * priv-&amp;gt;total_rx_ring_size,
-&amp;amp;addr, GFP_KERNEL);
+   sizeof(struct txbd8) * priv-&amp;gt;total_tx_ring_size +
+   sizeof(struct rxbd8) * priv-&amp;gt;total_rx_ring_size,
+   &amp;amp;addr, GFP_KERNEL);
 if (!vaddr) {
 netif_err(priv, ifup, ndev,
   "Could not allocate buffer descriptors!\n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -266,8 +266,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_alloc_skb_resources(struct net_device *ndev)
 tx_queue-&amp;gt;tx_bd_dma_base = addr;
 tx_queue-&amp;gt;dev = ndev;
 /* enet DMA only understands physical addresses */
-addr    += sizeof(struct txbd8) *tx_queue-&amp;gt;tx_ring_size;
-vaddr   += sizeof(struct txbd8) *tx_queue-&amp;gt;tx_ring_size;
+addr    += sizeof(struct txbd8) * tx_queue-&amp;gt;tx_ring_size;
+vaddr   += sizeof(struct txbd8) * tx_queue-&amp;gt;tx_ring_size;
 }
 
 /* Start the rx descriptor ring where the tx ring leaves off */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -276,15 +276,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_alloc_skb_resources(struct net_device *ndev)
 rx_queue-&amp;gt;rx_bd_base = vaddr;
 rx_queue-&amp;gt;rx_bd_dma_base = addr;
 rx_queue-&amp;gt;dev = ndev;
-addr    += sizeof (struct rxbd8) * rx_queue-&amp;gt;rx_ring_size;
-vaddr   += sizeof (struct rxbd8) * rx_queue-&amp;gt;rx_ring_size;
+addr    += sizeof(struct rxbd8) * rx_queue-&amp;gt;rx_ring_size;
+vaddr   += sizeof(struct rxbd8) * rx_queue-&amp;gt;rx_ring_size;
 }
 
 /* Setup the skbuff rings */
 for (i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++) {
 tx_queue = priv-&amp;gt;tx_queue[i];
 tx_queue-&amp;gt;tx_skbuff = kmalloc(sizeof(*tx_queue-&amp;gt;tx_skbuff) *
-  tx_queue-&amp;gt;tx_ring_size, GFP_KERNEL);
+      tx_queue-&amp;gt;tx_ring_size,
+      GFP_KERNEL);
 if (!tx_queue-&amp;gt;tx_skbuff) {
 netif_err(priv, ifup, ndev,
   "Could not allocate tx_skbuff\n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -298,7 +299,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_alloc_skb_resources(struct net_device *ndev)
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++) {
 rx_queue = priv-&amp;gt;rx_queue[i];
 rx_queue-&amp;gt;rx_skbuff = kmalloc(sizeof(*rx_queue-&amp;gt;rx_skbuff) *
-  rx_queue-&amp;gt;rx_ring_size, GFP_KERNEL);
+      rx_queue-&amp;gt;rx_ring_size,
+      GFP_KERNEL);
 
 if (!rx_queue-&amp;gt;rx_skbuff) {
 netif_err(priv, ifup, ndev,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -327,13 +329,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_init_tx_rx_base(struct gfar_private *priv)
 int i;
 
 baddr = &amp;amp;regs-&amp;gt;tbase0;
-for(i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++) {
+for (i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++) {
 gfar_write(baddr, priv-&amp;gt;tx_queue[i]-&amp;gt;tx_bd_dma_base);
 baddr+= 2;
 }
 
 baddr = &amp;amp;regs-&amp;gt;rbase0;
-for(i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++) {
+for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++) {
 gfar_write(baddr, priv-&amp;gt;rx_queue[i]-&amp;gt;rx_bd_dma_base);
 baddr   += 2;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -501,7 +503,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void unlock_tx_qs(struct gfar_private *priv)
 static bool gfar_is_vlan_on(struct gfar_private *priv)
 {
 return (priv-&amp;gt;ndev-&amp;gt;features &amp;amp; NETIF_F_HW_VLAN_RX) ||
-       (priv-&amp;gt;ndev-&amp;gt;features &amp;amp; NETIF_F_HW_VLAN_TX);
+(priv-&amp;gt;ndev-&amp;gt;features &amp;amp; NETIF_F_HW_VLAN_TX);
 }
 
 /* Returns 1 if incoming frames use an FCB */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -554,7 +556,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void enable_napi(struct gfar_private *priv)
 }
 
 static int gfar_parse_group(struct device_node *np,
-struct gfar_private *priv, const char *model)
+    struct gfar_private *priv, const char *model)
 {
 u32 *queue_mask;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -563,14 +565,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_parse_group(struct device_node *np,
 return -ENOMEM;
 
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptTransmit =
-irq_of_parse_and_map(np, 0);
+irq_of_parse_and_map(np, 0);
 
 /* If we aren't the FEC we have multiple interrupts */
 if (model &amp;amp;&amp;amp; strcasecmp(model, "FEC")) {
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptReceive =
 irq_of_parse_and_map(np, 1);
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptError =
-irq_of_parse_and_map(np,2);
+irq_of_parse_and_map(np, 2);
 if (priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptTransmit == NO_IRQ ||
     priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptReceive  == NO_IRQ ||
     priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].interruptError    == NO_IRQ)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -580,15 +582,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_parse_group(struct device_node *np,
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].grp_id = priv-&amp;gt;num_grps;
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].priv = priv;
 spin_lock_init(&amp;amp;priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].grplock);
-if(priv-&amp;gt;mode == MQ_MG_MODE) {
-queue_mask = (u32 *)of_get_property(np,
-"fsl,rx-bit-map", NULL);
+if (priv-&amp;gt;mode == MQ_MG_MODE) {
+queue_mask = (u32 *)of_get_property(np, "fsl,rx-bit-map", NULL);
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].rx_bit_map =
-queue_mask ?  *queue_mask :(DEFAULT_MAPPING &amp;gt;&amp;gt; priv-&amp;gt;num_grps);
-queue_mask = (u32 *)of_get_property(np,
-"fsl,tx-bit-map", NULL);
+queue_mask ? *queue_mask
+   : (DEFAULT_MAPPING &amp;gt;&amp;gt; priv-&amp;gt;num_grps);
+queue_mask = (u32 *)of_get_property(np, "fsl,tx-bit-map", NULL);
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].tx_bit_map =
-queue_mask ? *queue_mask : (DEFAULT_MAPPING &amp;gt;&amp;gt; priv-&amp;gt;num_grps);
+queue_mask ? *queue_mask
+   : (DEFAULT_MAPPING &amp;gt;&amp;gt; priv-&amp;gt;num_grps);
 } else {
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].rx_bit_map = 0xFF;
 priv-&amp;gt;gfargrp[priv-&amp;gt;num_grps].tx_bit_map = 0xFF;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -673,12 +675,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_of_init(struct platform_device *ofdev, struct net_device **pdev)
 } else {
 priv-&amp;gt;mode = SQ_SG_MODE;
 err = gfar_parse_group(np, priv, model);
-if(err)
+if (err)
 goto err_grp_init;
 }
 
 for (i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++)
-       priv-&amp;gt;tx_queue[i] = NULL;
+priv-&amp;gt;tx_queue[i] = NULL;
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++)
 priv-&amp;gt;rx_queue[i] = NULL;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -781,7 +783,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; err_grp_init:
 }
 
 static int gfar_hwtstamp_ioctl(struct net_device *netdev,
-struct ifreq *ifr, int cmd)
+       struct ifreq *ifr, int cmd)
 {
 struct hwtstamp_config config;
 struct gfar_private *priv = netdev_priv(netdev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -936,22 +938,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_detect_errata(struct gfar_private *priv)
 
 /* MPC8313 Rev 2.0 and higher; All MPC837x */
 if ((pvr == 0x80850010 &amp;amp;&amp;amp; mod == 0x80b0 &amp;amp;&amp;amp; rev &amp;gt;= 0x0020) ||
-(pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
+    (pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
 priv-&amp;gt;errata |= GFAR_ERRATA_74;
 
 /* MPC8313 and MPC837x all rev */
 if ((pvr == 0x80850010 &amp;amp;&amp;amp; mod == 0x80b0) ||
-(pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
+    (pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
 priv-&amp;gt;errata |= GFAR_ERRATA_76;
 
 /* MPC8313 and MPC837x all rev */
 if ((pvr == 0x80850010 &amp;amp;&amp;amp; mod == 0x80b0) ||
-(pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
+    (pvr == 0x80861010 &amp;amp;&amp;amp; (mod &amp;amp; 0xfff9) == 0x80c0))
 priv-&amp;gt;errata |= GFAR_ERRATA_A002;
 
 /* MPC8313 Rev &amp;lt; 2.0, MPC8548 rev 2.0 */
 if ((pvr == 0x80850010 &amp;amp;&amp;amp; mod == 0x80b0 &amp;amp;&amp;amp; rev &amp;lt; 0x0020) ||
-(pvr == 0x80210020 &amp;amp;&amp;amp; mod == 0x8030 &amp;amp;&amp;amp; rev == 0x0020))
+    (pvr == 0x80210020 &amp;amp;&amp;amp; mod == 0x8030 &amp;amp;&amp;amp; rev == 0x0020))
 priv-&amp;gt;errata |= GFAR_ERRATA_12;
 
 if (priv-&amp;gt;errata)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1026,7 +1028,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 
 /* Register for napi ...We are registering NAPI for each grp */
 for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++)
-netif_napi_add(dev, &amp;amp;priv-&amp;gt;gfargrp[i].napi, gfar_poll, GFAR_DEV_WEIGHT);
+netif_napi_add(dev, &amp;amp;priv-&amp;gt;gfargrp[i].napi,
+       gfar_poll, GFAR_DEV_WEIGHT);
 
 if (priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_CSUM) {
 dev-&amp;gt;hw_features = NETIF_F_IP_CSUM | NETIF_F_SG |
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1081,7 +1084,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 priv-&amp;gt;padding = 0;
 
 if (dev-&amp;gt;features &amp;amp; NETIF_F_IP_CSUM ||
-priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_TIMER)
+    priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_TIMER)
 dev-&amp;gt;hard_header_len += GMAC_FCB_LEN;
 
 /* Program the isrg regs only if number of grps &amp;gt; 1 */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1099,11 +1102,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 /* Need to reverse the bit maps as  bit_map's MSB is q0
  * but, for_each_set_bit parses from right to left, which
  * basically reverses the queue numbers */
-for (i = 0; i&amp;lt; priv-&amp;gt;num_grps; i++) {
+for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++) {
 priv-&amp;gt;gfargrp[i].tx_bit_map = reverse_bitmap(
-priv-&amp;gt;gfargrp[i].tx_bit_map, MAX_TX_QS);
+priv-&amp;gt;gfargrp[i].tx_bit_map, MAX_TX_QS);
 priv-&amp;gt;gfargrp[i].rx_bit_map = reverse_bitmap(
-priv-&amp;gt;gfargrp[i].rx_bit_map, MAX_RX_QS);
+priv-&amp;gt;gfargrp[i].rx_bit_map, MAX_RX_QS);
 }
 
 /* Calculate RSTAT, TSTAT, RQUEUE and TQUEUE values,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1111,7 +1114,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 for (grp_idx = 0; grp_idx &amp;lt; priv-&amp;gt;num_grps; grp_idx++) {
 priv-&amp;gt;gfargrp[grp_idx].num_rx_queues = 0x0;
 for_each_set_bit(i, &amp;amp;priv-&amp;gt;gfargrp[grp_idx].rx_bit_map,
-priv-&amp;gt;num_rx_queues) {
+ priv-&amp;gt;num_rx_queues) {
 priv-&amp;gt;gfargrp[grp_idx].num_rx_queues++;
 priv-&amp;gt;rx_queue[i]-&amp;gt;grp = &amp;amp;priv-&amp;gt;gfargrp[grp_idx];
 rstat = rstat | (RSTAT_CLEAR_RHALT &amp;gt;&amp;gt; i);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1119,7 +1122,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 }
 priv-&amp;gt;gfargrp[grp_idx].num_tx_queues = 0x0;
 for_each_set_bit(i, &amp;amp;priv-&amp;gt;gfargrp[grp_idx].tx_bit_map,
-priv-&amp;gt;num_tx_queues) {
+ priv-&amp;gt;num_tx_queues) {
 priv-&amp;gt;gfargrp[grp_idx].num_tx_queues++;
 priv-&amp;gt;tx_queue[i]-&amp;gt;grp = &amp;amp;priv-&amp;gt;gfargrp[grp_idx];
 tstat = tstat | (TSTAT_CLEAR_THALT &amp;gt;&amp;gt; i);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1127,7 +1130,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 }
 priv-&amp;gt;gfargrp[grp_idx].rstat = rstat;
 priv-&amp;gt;gfargrp[grp_idx].tstat = tstat;
-rstat = tstat =0;
+rstat = tstat = 0;
 }
 
 gfar_write(&amp;amp;regs-&amp;gt;rqueue, rqueue);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1152,7 +1155,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 /* always enable rx filer*/
 priv-&amp;gt;rx_filer_enable = 1;
 /* Enable most messages by default */
-priv-&amp;gt;msg_enable = (NETIF_MSG_IFUP &amp;lt;&amp;lt; 1 ) - 1;
+priv-&amp;gt;msg_enable = (NETIF_MSG_IFUP &amp;lt;&amp;lt; 1) - 1;
 
 /* Carrier starts down, phylib will bring it up */
 netif_carrier_off(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1165,7 +1168,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 }
 
 device_init_wakeup(&amp;amp;dev-&amp;gt;dev,
-priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_MAGIC_PACKET);
+   priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_MAGIC_PACKET);
 
 /* fill out IRQ number and name fields */
 for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1176,8 +1179,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 dev-&amp;gt;name, "_g", '0' + i, "_rx");
 sprintf(priv-&amp;gt;gfargrp[i].int_name_er, "%s%s%c%s",
 dev-&amp;gt;name, "_g", '0' + i, "_er");
-} else
+} else {
 strcpy(priv-&amp;gt;gfargrp[i].int_name_tx, dev-&amp;gt;name);
+}
 }
 
 /* Initialize the filer table */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1195,7 +1199,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_probe(struct platform_device *ofdev)
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++)
 netdev_info(dev, "RX BD ring size for Q[%d]: %d\n",
     i, priv-&amp;gt;rx_queue[i]-&amp;gt;rx_ring_size);
-for(i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++)
+for (i = 0; i &amp;lt; priv-&amp;gt;num_tx_queues; i++)
 netdev_info(dev, "TX BD ring size for Q[%d]: %d\n",
     i, priv-&amp;gt;tx_queue[i]-&amp;gt;tx_ring_size);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1355,7 +1359,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_restore(struct device *dev)
 return 0;
 }
 
-static struct dev_pm_ops gfar_pm_ops = {
+static const struct dev_pm_ops gfar_pm_ops = {
 .suspend = gfar_suspend,
 .resume = gfar_resume,
 .freeze = gfar_suspend,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1393,9 +1397,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static phy_interface_t gfar_get_interface(struct net_device *dev)
 }
 
 if (ecntrl &amp;amp; ECNTRL_REDUCED_MODE) {
-if (ecntrl &amp;amp; ECNTRL_REDUCED_MII_MODE)
+if (ecntrl &amp;amp; ECNTRL_REDUCED_MII_MODE) {
 return PHY_INTERFACE_MODE_RMII;
-else {
+} else {
 phy_interface_t interface = priv-&amp;gt;interface;
 
 /*
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1468,8 +1472,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_configure_serdes(struct net_device *dev)
 struct phy_device *tbiphy;
 
 if (!priv-&amp;gt;tbi_node) {
-dev_warn(&amp;amp;dev-&amp;gt;dev, "error: SGMII mode requires that the "
-    "device tree specify a tbi-handle\n");
+dev_warn(&amp;amp;dev-&amp;gt;dev, "error: SGMII mode requires that the device tree specify a tbi-handle\n");
 return;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1492,11 +1495,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_configure_serdes(struct net_device *dev)
 phy_write(tbiphy, MII_TBICON, TBICON_CLK_SELECT);
 
 phy_write(tbiphy, MII_ADVERTISE,
-ADVERTISE_1000XFULL | ADVERTISE_1000XPAUSE |
-ADVERTISE_1000XPSE_ASYM);
+  ADVERTISE_1000XFULL | ADVERTISE_1000XPAUSE |
+  ADVERTISE_1000XPSE_ASYM);
 
 phy_write(tbiphy, MII_BMCR, BMCR_ANENABLE |
-BMCR_ANRESTART | BMCR_FULLDPLX | BMCR_SPEED1000);
+  BMCR_ANRESTART | BMCR_FULLDPLX | BMCR_SPEED1000);
 }
 
 static void init_registers(struct net_device *dev)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1536,7 +1539,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void init_registers(struct net_device *dev)
 
 /* Zero out the rmon mib registers if it has them */
 if (priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_RMON) {
-memset_io(&amp;amp;(regs-&amp;gt;rmon), 0, sizeof (struct rmon_mib));
+memset_io(&amp;amp;(regs-&amp;gt;rmon), 0, sizeof(struct rmon_mib));
 
 /* Mask off the CAM interrupts */
 gfar_write(&amp;amp;regs-&amp;gt;rmon.cam1, 0xffffffff);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1602,8 +1605,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_halt_nodisable(struct net_device *dev)
 gfar_write(&amp;amp;regs-&amp;gt;dmactrl, tempval);
 
 do {
-ret = spin_event_timeout(((gfar_read(&amp;amp;regs-&amp;gt;ievent) &amp;amp;
- (IEVENT_GRSC | IEVENT_GTSC)) ==
+ret = spin_event_timeout(
+((gfar_read(&amp;amp;regs-&amp;gt;ievent) &amp;amp;
+  (IEVENT_GRSC | IEVENT_GTSC)) ==
  (IEVENT_GRSC | IEVENT_GTSC)), 1000000, 0);
 if (!ret &amp;amp;&amp;amp; !(gfar_read(&amp;amp;regs-&amp;gt;ievent) &amp;amp; IEVENT_GRSC))
 ret = __gfar_is_rx_idle(priv);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1660,7 +1664,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void stop_gfar(struct net_device *dev)
 } else {
 for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++)
 free_irq(priv-&amp;gt;gfargrp[i].interruptTransmit,
-&amp;amp;priv-&amp;gt;gfargrp[i]);
+ &amp;amp;priv-&amp;gt;gfargrp[i]);
 }
 
 free_skb_resources(priv);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1679,13 +1683,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void free_skb_tx_queue(struct gfar_priv_tx_q *tx_queue)
 continue;
 
 dma_unmap_single(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev, txbdp-&amp;gt;bufPtr,
-txbdp-&amp;gt;length, DMA_TO_DEVICE);
+ txbdp-&amp;gt;length, DMA_TO_DEVICE);
 txbdp-&amp;gt;lstatus = 0;
 for (j = 0; j &amp;lt; skb_shinfo(tx_queue-&amp;gt;tx_skbuff[i])-&amp;gt;nr_frags;
-j++) {
+     j++) {
 txbdp++;
 dma_unmap_page(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev, txbdp-&amp;gt;bufPtr,
-txbdp-&amp;gt;length, DMA_TO_DEVICE);
+       txbdp-&amp;gt;length, DMA_TO_DEVICE);
 }
 txbdp++;
 dev_kfree_skb_any(tx_queue-&amp;gt;tx_skbuff[i]);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1705,8 +1709,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void free_skb_rx_queue(struct gfar_priv_rx_q *rx_queue)
 for (i = 0; i &amp;lt; rx_queue-&amp;gt;rx_ring_size; i++) {
 if (rx_queue-&amp;gt;rx_skbuff[i]) {
 dma_unmap_single(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev,
-rxbdp-&amp;gt;bufPtr, priv-&amp;gt;rx_buffer_size,
-DMA_FROM_DEVICE);
+ rxbdp-&amp;gt;bufPtr, priv-&amp;gt;rx_buffer_size,
+ DMA_FROM_DEVICE);
 dev_kfree_skb_any(rx_queue-&amp;gt;rx_skbuff[i]);
 rx_queue-&amp;gt;rx_skbuff[i] = NULL;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1730,22 +1734,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void free_skb_resources(struct gfar_private *priv)
 struct netdev_queue *txq;
 tx_queue = priv-&amp;gt;tx_queue[i];
 txq = netdev_get_tx_queue(tx_queue-&amp;gt;dev, tx_queue-&amp;gt;qindex);
-if(tx_queue-&amp;gt;tx_skbuff)
+if (tx_queue-&amp;gt;tx_skbuff)
 free_skb_tx_queue(tx_queue);
 netdev_tx_reset_queue(txq);
 }
 
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++) {
 rx_queue = priv-&amp;gt;rx_queue[i];
-if(rx_queue-&amp;gt;rx_skbuff)
+if (rx_queue-&amp;gt;rx_skbuff)
 free_skb_rx_queue(rx_queue);
 }
 
 dma_free_coherent(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev,
-sizeof(struct txbd8) * priv-&amp;gt;total_tx_ring_size +
-sizeof(struct rxbd8) * priv-&amp;gt;total_rx_ring_size,
-priv-&amp;gt;tx_queue[0]-&amp;gt;tx_bd_base,
-priv-&amp;gt;tx_queue[0]-&amp;gt;tx_bd_dma_base);
+  sizeof(struct txbd8) * priv-&amp;gt;total_tx_ring_size +
+  sizeof(struct rxbd8) * priv-&amp;gt;total_rx_ring_size,
+  priv-&amp;gt;tx_queue[0]-&amp;gt;tx_bd_base,
+  priv-&amp;gt;tx_queue[0]-&amp;gt;tx_bd_dma_base);
 skb_queue_purge(&amp;amp;priv-&amp;gt;rx_recycle);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1784,7 +1788,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gfar_start(struct net_device *dev)
 }
 
 void gfar_configure_coalescing(struct gfar_private *priv,
-unsigned long tx_mask, unsigned long rx_mask)
+       unsigned long tx_mask, unsigned long rx_mask)
 {
 struct gfar __iomem *regs = priv-&amp;gt;gfargrp[0].regs;
 u32 __iomem *baddr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1794,11 +1798,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void gfar_configure_coalescing(struct gfar_private *priv,
  * multiple queues, there's only single reg to program
  */
 gfar_write(&amp;amp;regs-&amp;gt;txic, 0);
-if(likely(priv-&amp;gt;tx_queue[0]-&amp;gt;txcoalescing))
+if (likely(priv-&amp;gt;tx_queue[0]-&amp;gt;txcoalescing))
 gfar_write(&amp;amp;regs-&amp;gt;txic, priv-&amp;gt;tx_queue[0]-&amp;gt;txic);
 
 gfar_write(&amp;amp;regs-&amp;gt;rxic, 0);
-if(unlikely(priv-&amp;gt;rx_queue[0]-&amp;gt;rxcoalescing))
+if (unlikely(priv-&amp;gt;rx_queue[0]-&amp;gt;rxcoalescing))
 gfar_write(&amp;amp;regs-&amp;gt;rxic, priv-&amp;gt;rx_queue[0]-&amp;gt;rxic);
 
 if (priv-&amp;gt;mode == MQ_MG_MODE) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1831,30 +1835,34 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int register_grp_irqs(struct gfar_priv_grp *grp)
 if (priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_MULTI_INTR) {
 /* Install our interrupt handlers for Error,
  * Transmit, and Receive */
-if ((err = request_irq(grp-&amp;gt;interruptError, gfar_error, 0,
-grp-&amp;gt;int_name_er,grp)) &amp;lt; 0) {
+err = request_irq(grp-&amp;gt;interruptError, gfar_error, 0,
+  grp-&amp;gt;int_name_er, grp);
+if (err &amp;lt; 0) {
 netif_err(priv, intr, dev, "Can't get IRQ %d\n",
   grp-&amp;gt;interruptError);
 
 goto err_irq_fail;
 }
 
-if ((err = request_irq(grp-&amp;gt;interruptTransmit, gfar_transmit,
-0, grp-&amp;gt;int_name_tx, grp)) &amp;lt; 0) {
+err = request_irq(grp-&amp;gt;interruptTransmit, gfar_transmit,
+  0, grp-&amp;gt;int_name_tx, grp);
+if (err &amp;lt; 0) {
 netif_err(priv, intr, dev, "Can't get IRQ %d\n",
   grp-&amp;gt;interruptTransmit);
 goto tx_irq_fail;
 }
 
-if ((err = request_irq(grp-&amp;gt;interruptReceive, gfar_receive, 0,
-grp-&amp;gt;int_name_rx, grp)) &amp;lt; 0) {
+err = request_irq(grp-&amp;gt;interruptReceive, gfar_receive, 0,
+  grp-&amp;gt;int_name_rx, grp);
+if (err &amp;lt; 0) {
 netif_err(priv, intr, dev, "Can't get IRQ %d\n",
   grp-&amp;gt;interruptReceive);
 goto rx_irq_fail;
 }
 } else {
-if ((err = request_irq(grp-&amp;gt;interruptTransmit, gfar_interrupt, 0,
-grp-&amp;gt;int_name_tx, grp)) &amp;lt; 0) {
+err = request_irq(grp-&amp;gt;interruptTransmit, gfar_interrupt, 0,
+  grp-&amp;gt;int_name_tx, grp);
+if (err &amp;lt; 0) {
 netif_err(priv, intr, dev, "Can't get IRQ %d\n",
   grp-&amp;gt;interruptTransmit);
 goto err_irq_fail;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1880,11 +1888,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int startup_gfar(struct net_device *ndev)
 int err, i, j;
 
 for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++) {
-regs= priv-&amp;gt;gfargrp[i].regs;
+regs = priv-&amp;gt;gfargrp[i].regs;
 gfar_write(&amp;amp;regs-&amp;gt;imask, IMASK_INIT_CLEAR);
 }
 
-regs= priv-&amp;gt;gfargrp[0].regs;
+regs = priv-&amp;gt;gfargrp[0].regs;
 err = gfar_alloc_skb_resources(ndev);
 if (err)
 return err;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1960,7 +1968,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline struct txfcb *gfar_add_fcb(struct sk_buff *skb)
 }
 
 static inline void gfar_tx_checksum(struct sk_buff *skb, struct txfcb *fcb,
-int fcb_length)
+    int fcb_length)
 {
 u8 flags = 0;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1975,8 +1983,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void gfar_tx_checksum(struct sk_buff *skb, struct txfcb *fcb,
 if (ip_hdr(skb)-&amp;gt;protocol == IPPROTO_UDP) {
 flags |= TXFCB_UDP;
 fcb-&amp;gt;phcs = udp_hdr(skb)-&amp;gt;check;
-} else
+} else {
 fcb-&amp;gt;phcs = tcp_hdr(skb)-&amp;gt;check;
+}
 
 /* l3os is the distance between the start of the
  * frame (skb-&amp;gt;data) and the start of the IP hdr.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1988,14 +1997,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline void gfar_tx_checksum(struct sk_buff *skb, struct txfcb *fcb,
 fcb-&amp;gt;flags = flags;
 }
 
-void inline gfar_tx_vlan(struct sk_buff *skb, struct txfcb *fcb)
+inline void gfar_tx_vlan(struct sk_buff *skb, struct txfcb *fcb)
 {
 fcb-&amp;gt;flags |= TXFCB_VLN;
 fcb-&amp;gt;vlctl = vlan_tx_tag_get(skb);
 }
 
 static inline struct txbd8 *skip_txbd(struct txbd8 *bdp, int stride,
-       struct txbd8 *base, int ring_size)
+      struct txbd8 *base, int ring_size)
 {
 struct txbd8 *new_bd = bdp + stride;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2003,7 +2012,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static inline struct txbd8 *skip_txbd(struct txbd8 *bdp, int stride,
 }
 
 static inline struct txbd8 *next_txbd(struct txbd8 *bdp, struct txbd8 *base,
-int ring_size)
+      int ring_size)
 {
 return skip_txbd(bdp, 1, base, ring_size);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2029,8 +2038,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
  * before start of transmission.
  */
 if (unlikely(gfar_has_errata(priv, GFAR_ERRATA_76) &amp;amp;&amp;amp;
-skb-&amp;gt;ip_summed == CHECKSUM_PARTIAL &amp;amp;&amp;amp;
-skb-&amp;gt;len &amp;gt; 2500)) {
+     skb-&amp;gt;ip_summed == CHECKSUM_PARTIAL &amp;amp;&amp;amp;
+     skb-&amp;gt;len &amp;gt; 2500)) {
 int ret;
 
 ret = skb_checksum_help(skb);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2046,16 +2055,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 /* check if time stamp should be generated */
 if (unlikely(skb_shinfo(skb)-&amp;gt;tx_flags &amp;amp; SKBTX_HW_TSTAMP &amp;amp;&amp;amp;
-priv-&amp;gt;hwts_tx_en)) {
+     priv-&amp;gt;hwts_tx_en)) {
 do_tstamp = 1;
 fcb_length = GMAC_FCB_LEN + GMAC_TXPAL_LEN;
 }
 
 /* make space for additional header when fcb is needed */
 if (((skb-&amp;gt;ip_summed == CHECKSUM_PARTIAL) ||
-vlan_tx_tag_present(skb) ||
-unlikely(do_tstamp)) &amp;amp;&amp;amp;
-(skb_headroom(skb) &amp;lt; fcb_length)) {
+     vlan_tx_tag_present(skb) ||
+     unlikely(do_tstamp)) &amp;amp;&amp;amp;
+    (skb_headroom(skb) &amp;lt; fcb_length)) {
 struct sk_buff *skb_new;
 
 skb_new = skb_realloc_headroom(skb, fcb_length);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2099,12 +2108,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
 /* Time stamp insertion requires one additional TxBD */
 if (unlikely(do_tstamp))
 txbdp_tstamp = txbdp = next_txbd(txbdp, base,
-tx_queue-&amp;gt;tx_ring_size);
+ tx_queue-&amp;gt;tx_ring_size);
 
 if (nr_frags == 0) {
 if (unlikely(do_tstamp))
 txbdp_tstamp-&amp;gt;lstatus |= BD_LFLAG(TXBD_LAST |
-TXBD_INTERRUPT);
+  TXBD_INTERRUPT);
 else
 lstatus |= BD_LFLAG(TXBD_LAST | TXBD_INTERRUPT);
 } else {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2146,8 +2155,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
 if (CHECKSUM_PARTIAL == skb-&amp;gt;ip_summed) {
 fcb = gfar_add_fcb(skb);
 /* as specified by errata */
-if (unlikely(gfar_has_errata(priv, GFAR_ERRATA_12)
-     &amp;amp;&amp;amp; ((unsigned long)fcb % 0x20) &amp;gt; 0x18)) {
+if (unlikely(gfar_has_errata(priv, GFAR_ERRATA_12) &amp;amp;&amp;amp;
+     ((unsigned long)fcb % 0x20) &amp;gt; 0x18)) {
 __skb_pull(skb, GMAC_FCB_LEN);
 skb_checksum_help(skb);
 } else {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2175,7 +2184,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
 }
 
 txbdp_start-&amp;gt;bufPtr = dma_map_single(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev, skb-&amp;gt;data,
-skb_headlen(skb), DMA_TO_DEVICE);
+     skb_headlen(skb), DMA_TO_DEVICE);
 
 /*
  * If time stamping is requested one additional TxBD must be set up. The
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2186,7 +2195,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
 if (unlikely(do_tstamp)) {
 txbdp_tstamp-&amp;gt;bufPtr = txbdp_start-&amp;gt;bufPtr + fcb_length;
 txbdp_tstamp-&amp;gt;lstatus |= BD_LFLAG(TXBD_READY) |
-(skb_headlen(skb) - fcb_length);
+(skb_headlen(skb) - fcb_length);
 lstatus |= BD_LFLAG(TXBD_CRC | TXBD_READY) | GMAC_FCB_LEN;
 } else {
 lstatus |= BD_LFLAG(TXBD_CRC | TXBD_READY) | skb_headlen(skb);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2361,8 +2370,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_change_mtu(struct net_device *dev, int new_mtu)
 frame_size += priv-&amp;gt;padding;
 
 tempsize =
-    (frame_size &amp;amp; ~(INCREMENTAL_BUFFER_SIZE - 1)) +
-    INCREMENTAL_BUFFER_SIZE;
+(frame_size &amp;amp; ~(INCREMENTAL_BUFFER_SIZE - 1)) +
+INCREMENTAL_BUFFER_SIZE;
 
 /* Only stop and start the controller if it isn't already
  * stopped, and we changed something */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2382,7 +2391,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_change_mtu(struct net_device *dev, int new_mtu)
 tempval = gfar_read(&amp;amp;regs-&amp;gt;maccfg2);
 
 if (priv-&amp;gt;rx_buffer_size &amp;gt; DEFAULT_RX_BUFFER_SIZE ||
-gfar_has_errata(priv, GFAR_ERRATA_74))
+    gfar_has_errata(priv, GFAR_ERRATA_74))
 tempval |= (MACCFG2_HUGEFRAME | MACCFG2_LENGTHCHECK);
 else
 tempval &amp;amp;= ~(MACCFG2_HUGEFRAME | MACCFG2_LENGTHCHECK);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2403,7 +2412,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_change_mtu(struct net_device *dev, int new_mtu)
 static void gfar_reset_task(struct work_struct *work)
 {
 struct gfar_private *priv = container_of(work, struct gfar_private,
-reset_task);
+ reset_task);
 struct net_device *dev = priv-&amp;gt;ndev;
 
 if (dev-&amp;gt;flags &amp;amp; IFF_UP) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2430,7 +2439,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_align_skb(struct sk_buff *skb)
  * as many bytes as needed to align the data properly
  */
 skb_reserve(skb, RXBUF_ALIGNMENT -
-(((unsigned long) skb-&amp;gt;data) &amp;amp; (RXBUF_ALIGNMENT - 1)));
+    (((unsigned long) skb-&amp;gt;data) &amp;amp; (RXBUF_ALIGNMENT - 1)));
 }
 
 /* Interrupt Handler for Transmit complete */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2479,21 +2488,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_clean_tx_ring(struct gfar_priv_tx_q *tx_queue)
 
 /* Only clean completed frames */
 if ((lstatus &amp;amp; BD_LFLAG(TXBD_READY)) &amp;amp;&amp;amp;
-(lstatus &amp;amp; BD_LENGTH_MASK))
+    (lstatus &amp;amp; BD_LENGTH_MASK))
 break;
 
 if (unlikely(skb_shinfo(skb)-&amp;gt;tx_flags &amp;amp; SKBTX_IN_PROGRESS)) {
 next = next_txbd(bdp, base, tx_ring_size);
 buflen = next-&amp;gt;length + GMAC_FCB_LEN + GMAC_TXPAL_LEN;
-} else
+} else {
 buflen = bdp-&amp;gt;length;
+}
 
 dma_unmap_single(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev, bdp-&amp;gt;bufPtr,
-buflen, DMA_TO_DEVICE);
+ buflen, DMA_TO_DEVICE);
 
 if (unlikely(skb_shinfo(skb)-&amp;gt;tx_flags &amp;amp; SKBTX_IN_PROGRESS)) {
 struct skb_shared_hwtstamps shhwtstamps;
-u64 *ns = (u64*) (((u32)skb-&amp;gt;data + 0x10) &amp;amp; ~0x7);
+u64 *ns = (u64 *)(((u32)skb-&amp;gt;data + 0x10) &amp;amp; ~0x7);
 memset(&amp;amp;shhwtstamps, 0, sizeof(shhwtstamps));
 shhwtstamps.hwtstamp = ns_to_ktime(*ns);
 skb_pull(skb, GMAC_FCB_LEN + GMAC_TXPAL_LEN);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2507,9 +2517,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_clean_tx_ring(struct gfar_priv_tx_q *tx_queue)
 
 for (i = 0; i &amp;lt; frags; i++) {
 dma_unmap_page(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev,
-bdp-&amp;gt;bufPtr,
-bdp-&amp;gt;length,
-DMA_TO_DEVICE);
+       bdp-&amp;gt;bufPtr,
+       bdp-&amp;gt;length,
+       DMA_TO_DEVICE);
 bdp-&amp;gt;lstatus &amp;amp;= BD_LFLAG(TXBD_WRAP);
 bdp = next_txbd(bdp, base, tx_ring_size);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2521,12 +2531,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_clean_tx_ring(struct gfar_priv_tx_q *tx_queue)
  * we add this skb back into the pool, if it's the right size
  */
 if (skb_queue_len(&amp;amp;priv-&amp;gt;rx_recycle) &amp;lt; rx_queue-&amp;gt;rx_ring_size &amp;amp;&amp;amp;
-skb_recycle_check(skb, priv-&amp;gt;rx_buffer_size +
-RXBUF_ALIGNMENT)) {
+    skb_recycle_check(skb, priv-&amp;gt;rx_buffer_size +
+      RXBUF_ALIGNMENT)) {
 gfar_align_skb(skb);
 skb_queue_head(&amp;amp;priv-&amp;gt;rx_recycle, skb);
-} else
+} else {
 dev_kfree_skb_any(skb);
+}
 
 tx_queue-&amp;gt;tx_skbuff[skb_dirtytx] = NULL;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2579,7 +2590,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static irqreturn_t gfar_transmit(int irq, void *grp_id)
 }
 
 static void gfar_new_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp,
-struct sk_buff *skb)
+   struct sk_buff *skb)
 {
 struct net_device *dev = rx_queue-&amp;gt;dev;
 struct gfar_private *priv = netdev_priv(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2590,7 +2601,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_new_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp,
 gfar_init_rxbdp(rx_queue, bdp, buf);
 }
 
-static struct sk_buff * gfar_alloc_skb(struct net_device *dev)
+static struct sk_buff *gfar_alloc_skb(struct net_device *dev)
 {
 struct gfar_private *priv = netdev_priv(dev);
 struct sk_buff *skb = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2604,7 +2615,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static struct sk_buff * gfar_alloc_skb(struct net_device *dev)
 return skb;
 }
 
-struct sk_buff * gfar_new_skb(struct net_device *dev)
+struct sk_buff *gfar_new_skb(struct net_device *dev)
 {
 struct gfar_private *priv = netdev_priv(dev);
 struct sk_buff *skb = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2695,7 +2706,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb,
 /* Get receive timestamp from the skb */
 if (priv-&amp;gt;hwts_rx_en) {
 struct skb_shared_hwtstamps *shhwtstamps = skb_hwtstamps(skb);
-u64 *ns = (u64 *) skb-&amp;gt;data;
+u64 *ns = (u64 *)skb-&amp;gt;data;
 memset(shhwtstamps, 0, sizeof(*shhwtstamps));
 shhwtstamps-&amp;gt;hwtstamp = ns_to_ktime(*ns);
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2757,15 +2768,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit)
 skb = rx_queue-&amp;gt;rx_skbuff[rx_queue-&amp;gt;skb_currx];
 
 dma_unmap_single(&amp;amp;priv-&amp;gt;ofdev-&amp;gt;dev, bdp-&amp;gt;bufPtr,
-priv-&amp;gt;rx_buffer_size, DMA_FROM_DEVICE);
+ priv-&amp;gt;rx_buffer_size, DMA_FROM_DEVICE);
 
 if (unlikely(!(bdp-&amp;gt;status &amp;amp; RXBD_ERR) &amp;amp;&amp;amp;
-bdp-&amp;gt;length &amp;gt; priv-&amp;gt;rx_buffer_size))
+     bdp-&amp;gt;length &amp;gt; priv-&amp;gt;rx_buffer_size))
 bdp-&amp;gt;status = RXBD_LARGE;
 
 /* We drop the frame if we failed to allocate a new buffer */
 if (unlikely(!newskb || !(bdp-&amp;gt;status &amp;amp; RXBD_LAST) ||
- bdp-&amp;gt;status &amp;amp; RXBD_ERR)) {
+     bdp-&amp;gt;status &amp;amp; RXBD_ERR)) {
 count_errors(bdp-&amp;gt;status, dev);
 
 if (unlikely(!newskb))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2784,7 +2795,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit)
 rx_queue-&amp;gt;stats.rx_bytes += pkt_len;
 skb_record_rx_queue(skb, rx_queue-&amp;gt;qindex);
 gfar_process_frame(dev, skb, amount_pull,
-&amp;amp;rx_queue-&amp;gt;grp-&amp;gt;napi);
+   &amp;amp;rx_queue-&amp;gt;grp-&amp;gt;napi);
 
 } else {
 netif_warn(priv, rx_err, dev, "Missing skb!\n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2804,8 +2815,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit)
 
 /* update to point at the next skb */
 rx_queue-&amp;gt;skb_currx =
-    (rx_queue-&amp;gt;skb_currx + 1) &amp;amp;
-    RX_RING_MOD_MASK(rx_queue-&amp;gt;rx_ring_size);
+(rx_queue-&amp;gt;skb_currx + 1) &amp;amp;
+RX_RING_MOD_MASK(rx_queue-&amp;gt;rx_ring_size);
 }
 
 /* Update the current rxbd pointer to be the next one */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2816,8 +2827,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit)
 
 static int gfar_poll(struct napi_struct *napi, int budget)
 {
-struct gfar_priv_grp *gfargrp = container_of(napi,
-struct gfar_priv_grp, napi);
+struct gfar_priv_grp *gfargrp =
+container_of(napi, struct gfar_priv_grp, napi);
 struct gfar_private *priv = gfargrp-&amp;gt;priv;
 struct gfar __iomem *regs = gfargrp-&amp;gt;regs;
 struct gfar_priv_tx_q *tx_queue = NULL;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2847,11 +2858,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_poll(struct napi_struct *napi, int budget)
 
 tx_cleaned += gfar_clean_tx_ring(tx_queue);
 rx_cleaned_per_queue = gfar_clean_rx_ring(rx_queue,
-budget_per_queue);
+  budget_per_queue);
 rx_cleaned += rx_cleaned_per_queue;
-if(rx_cleaned_per_queue &amp;lt; budget_per_queue) {
-left_over_budget = left_over_budget +
-(budget_per_queue - rx_cleaned_per_queue);
+if (rx_cleaned_per_queue &amp;lt; budget_per_queue) {
+left_over_budget += (budget_per_queue -
+     rx_cleaned_per_queue);
 set_bit(i, &amp;amp;serviced_queues);
 num_queues--;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2871,8 +2882,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_poll(struct napi_struct *napi, int budget)
 
 /* If we are coalescing interrupts, update the timer */
 /* Otherwise, clear it */
-gfar_configure_coalescing(priv,
-gfargrp-&amp;gt;rx_bit_map, gfargrp-&amp;gt;tx_bit_map);
+gfar_configure_coalescing(priv, gfargrp-&amp;gt;rx_bit_map,
+  gfargrp-&amp;gt;tx_bit_map);
 }
 
 return rx_cleaned;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2896,7 +2907,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_netpoll(struct net_device *dev)
 disable_irq(priv-&amp;gt;gfargrp[i].interruptReceive);
 disable_irq(priv-&amp;gt;gfargrp[i].interruptError);
 gfar_interrupt(priv-&amp;gt;gfargrp[i].interruptTransmit,
-&amp;amp;priv-&amp;gt;gfargrp[i]);
+       &amp;amp;priv-&amp;gt;gfargrp[i]);
 enable_irq(priv-&amp;gt;gfargrp[i].interruptError);
 enable_irq(priv-&amp;gt;gfargrp[i].interruptReceive);
 enable_irq(priv-&amp;gt;gfargrp[i].interruptTransmit);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2905,7 +2916,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_netpoll(struct net_device *dev)
 for (i = 0; i &amp;lt; priv-&amp;gt;num_grps; i++) {
 disable_irq(priv-&amp;gt;gfargrp[i].interruptTransmit);
 gfar_interrupt(priv-&amp;gt;gfargrp[i].interruptTransmit,
-&amp;amp;priv-&amp;gt;gfargrp[i]);
+       &amp;amp;priv-&amp;gt;gfargrp[i]);
 enable_irq(priv-&amp;gt;gfargrp[i].interruptTransmit);
 }
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2972,15 +2983,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void adjust_link(struct net_device *dev)
 new_state = 1;
 switch (phydev-&amp;gt;speed) {
 case 1000:
-tempval =
-    ((tempval &amp;amp; ~(MACCFG2_IF)) | MACCFG2_GMII);
+tempval = ((tempval &amp;amp; ~(MACCFG2_IF)) |
+   MACCFG2_GMII);
 
 ecntrl &amp;amp;= ~(ECNTRL_R100);
 break;
 case 100:
 case 10:
-tempval =
-    ((tempval &amp;amp; ~(MACCFG2_IF)) | MACCFG2_MII);
+tempval = ((tempval &amp;amp; ~(MACCFG2_IF)) |
+   MACCFG2_MII);
 
 /* Reduced mode distinguishes
  * between 10 and 100 */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3102,8 +3113,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_set_multi(struct net_device *dev)
 if (idx &amp;lt; em_num) {
 gfar_set_mac_for_addr(dev, idx, ha-&amp;gt;addr);
 idx++;
-} else
+} else {
 gfar_set_hash_for_addr(dev, ha-&amp;gt;addr);
+}
 }
 }
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3116,7 +3128,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_clear_exact_match(struct net_device *dev)
 int idx;
 static const u8 zero_arr[ETH_ALEN] = {0, 0, 0, 0, 0, 0};
 
-for(idx = 1;idx &amp;lt; GFAR_EM_NUM + 1;idx++)
+for (idx = 1; idx &amp;lt; GFAR_EM_NUM + 1; idx++)
 gfar_set_mac_for_addr(dev, idx, zero_arr);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3169,11 +3181,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_set_mac_for_addr(struct net_device *dev, int num,
 for (idx = 0; idx &amp;lt; ETH_ALEN; idx++)
 tmpbuf[ETH_ALEN - 1 - idx] = addr[idx];
 
-gfar_write(macptr, *((u32 *) (tmpbuf)));
+gfar_write(macptr, *((u32 *)(tmpbuf)));
 
-tempval = *((u32 *) (tmpbuf + 4));
+tempval = *((u32 *)(tmpbuf + 4));
 
-gfar_write(macptr+1, tempval);
+gfar_write(macptr + 1, tempval);
 }
 
 /* GFAR error interrupt handler */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3181,7 +3193,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static irqreturn_t gfar_error(int irq, void *grp_id)
 {
 struct gfar_priv_grp *gfargrp = grp_id;
 struct gfar __iomem *regs = gfargrp-&amp;gt;regs;
-struct gfar_private *priv= gfargrp-&amp;gt;priv;
+struct gfar_private *priv = gfargrp-&amp;gt;priv;
 struct net_device *dev = priv-&amp;gt;ndev;
 
 /* Save ievent for future reference */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3256,8 +3268,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static irqreturn_t gfar_error(int irq, void *grp_id)
 return IRQ_HANDLED;
 }
 
-static struct of_device_id gfar_match[] =
-{
+static struct of_device_id gfar_match[] = {
 {
 .type = "network",
 .compatible = "gianfar",
diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c
index 8a02557..26a2fa2 100644
--- a/drivers/net/ethernet/freescale/gianfar_ethtool.c
+++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,12 +31,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/spinlock.h&amp;gt;
 #include &amp;lt;linux/mm.h&amp;gt;
 
-#include &amp;lt;asm/io.h&amp;gt;
+#include &amp;lt;linux/io.h&amp;gt;
 #include &amp;lt;asm/irq.h&amp;gt;
-#include &amp;lt;asm/uaccess.h&amp;gt;
+#include &amp;lt;linux/uaccess.h&amp;gt;
 #include &amp;lt;linux/module.h&amp;gt;
 #include &amp;lt;linux/crc32.h&amp;gt;
-#include &amp;lt;asm/types.h&amp;gt;
+#include &amp;lt;linux/types.h&amp;gt;
 #include &amp;lt;linux/ethtool.h&amp;gt;
 #include &amp;lt;linux/mii.h&amp;gt;
 #include &amp;lt;linux/phy.h&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -51,8 +51,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extern int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit
 #define GFAR_MAX_COAL_USECS 0xffff
 #define GFAR_MAX_COAL_FRAMES 0xff
 static void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy,
-     u64 * buf);
-static void gfar_gstrings(struct net_device *dev, u32 stringset, u8 * buf);
+     u64 *buf);
+static void gfar_gstrings(struct net_device *dev, u32 stringset, u8 *buf);
 static int gfar_gcoalesce(struct net_device *dev, struct ethtool_coalesce *cvals);
 static int gfar_scoalesce(struct net_device *dev, struct ethtool_coalesce *cvals);
 static void gfar_gringparam(struct net_device *dev, struct ethtool_ringparam *rvals);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -122,7 +122,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static const char stat_gstrings[][ETH_GSTRING_LEN] = {
 
 /* Fill in a buffer with the strings which correspond to the
  * stats */
-static void gfar_gstrings(struct net_device *dev, u32 stringset, u8 * buf)
+static void gfar_gstrings(struct net_device *dev, u32 stringset, u8 *buf)
 {
 struct gfar_private *priv = netdev_priv(dev);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -130,23 +130,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_gstrings(struct net_device *dev, u32 stringset, u8 * buf)
 memcpy(buf, stat_gstrings, GFAR_STATS_LEN * ETH_GSTRING_LEN);
 else
 memcpy(buf, stat_gstrings,
-GFAR_EXTRA_STATS_LEN * ETH_GSTRING_LEN);
+       GFAR_EXTRA_STATS_LEN * ETH_GSTRING_LEN);
 }
 
 /* Fill in an array of 64-bit statistics from various sources.
  * This array will be appended to the end of the ethtool_stats
  * structure, and returned to user space
  */
-static void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy, u64 * buf)
+static void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy, u64 *buf)
 {
 int i;
 struct gfar_private *priv = netdev_priv(dev);
 struct gfar __iomem *regs = priv-&amp;gt;gfargrp[0].regs;
-u64 *extra = (u64 *) &amp;amp; priv-&amp;gt;extra_stats;
+u64 *extra = (u64 *)&amp;amp;priv-&amp;gt;extra_stats;
 
 if (priv-&amp;gt;device_flags &amp;amp; FSL_GIANFAR_DEV_HAS_RMON) {
-u32 __iomem *rmon = (u32 __iomem *) &amp;amp;regs-&amp;gt;rmon;
-struct gfar_stats *stats = (struct gfar_stats *) buf;
+u32 __iomem *rmon = (u32 __iomem *)&amp;amp;regs-&amp;gt;rmon;
+struct gfar_stats *stats = (struct gfar_stats *)buf;
 
 for (i = 0; i &amp;lt; GFAR_RMON_LEN; i++)
 stats-&amp;gt;rmon[i] = (u64) gfar_read(&amp;amp;rmon[i]);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -174,8 +174,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_sset_count(struct net_device *dev, int sset)
 }
 
 /* Fills in the drvinfo structure with some basic info */
-static void gfar_gdrvinfo(struct net_device *dev, struct
-      ethtool_drvinfo *drvinfo)
+static void gfar_gdrvinfo(struct net_device *dev,
+  struct ethtool_drvinfo *drvinfo)
 {
 strncpy(drvinfo-&amp;gt;driver, DRV_NAME, GFAR_INFOSTR_LEN);
 strncpy(drvinfo-&amp;gt;version, gfar_driver_version, GFAR_INFOSTR_LEN);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -222,7 +222,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_gsettings(struct net_device *dev, struct ethtool_cmd *cmd)
 /* Return the length of the register structure */
 static int gfar_reglen(struct net_device *dev)
 {
-return sizeof (struct gfar);
+return sizeof(struct gfar);
 }
 
 /* Return a dump of the GFAR register space */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -230,10 +230,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_get_regs(struct net_device *dev, struct ethtool_regs *regs, voi
 {
 int i;
 struct gfar_private *priv = netdev_priv(dev);
-u32 __iomem *theregs = (u32 __iomem *) priv-&amp;gt;gfargrp[0].regs;
-u32 *buf = (u32 *) regbuf;
+u32 __iomem *theregs = (u32 __iomem *)priv-&amp;gt;gfargrp[0].regs;
+u32 *buf = (u32 *)regbuf;
 
-for (i = 0; i &amp;lt; sizeof (struct gfar) / sizeof (u32); i++)
+for (i = 0; i &amp;lt; sizeof(struct gfar) / sizeof(u32); i++)
 buf[i] = gfar_read(&amp;amp;theregs[i]);
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -499,7 +499,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_sringparam(struct net_device *dev, struct ethtool_ringparam *rva
 
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++)
 gfar_clean_rx_ring(priv-&amp;gt;rx_queue[i],
-priv-&amp;gt;rx_queue[i]-&amp;gt;rx_ring_size);
+   priv-&amp;gt;rx_queue[i]-&amp;gt;rx_ring_size);
 
 /* Now we take down the rings to rebuild them */
 stop_gfar(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -548,7 +548,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int gfar_set_features(struct net_device *dev, netdev_features_t features)
 
 for (i = 0; i &amp;lt; priv-&amp;gt;num_rx_queues; i++)
 gfar_clean_rx_ring(priv-&amp;gt;rx_queue[i],
-priv-&amp;gt;rx_queue[i]-&amp;gt;rx_ring_size);
+   priv-&amp;gt;rx_queue[i]-&amp;gt;rx_ring_size);
 
 /* Now we take down the rings to rebuild them */
 stop_gfar(dev);
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -608,12 +608,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol)
 }
 #endif
 
-static void ethflow_to_filer_rules (struct gfar_private *priv, u64 ethflow)
+static void ethflow_to_filer_rules(struct gfar_private *priv, u64 ethflow)
 {
 u32 fcr = 0x0, fpr = FPR_FILER_MASK;
 
 if (ethflow &amp;amp; RXH_L2DA) {
-fcr = RQFCR_PID_DAH |RQFCR_CMP_NOMATCH |
+fcr = RQFCR_PID_DAH | RQFCR_CMP_NOMATCH |
 RQFCR_HASH | RQFCR_AND | RQFCR_HASHTBL_0;
 priv-&amp;gt;ftp_rqfpr[priv-&amp;gt;cur_filer_idx] = fpr;
 priv-&amp;gt;ftp_rqfcr[priv-&amp;gt;cur_filer_idx] = fcr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -705,16 +705,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u
 
 switch (class) {
 case TCP_V4_FLOW:
-cmp_rqfpr = RQFPR_IPV4 |RQFPR_TCP;
+cmp_rqfpr = RQFPR_IPV4 | RQFPR_TCP;
 break;
 case UDP_V4_FLOW:
-cmp_rqfpr = RQFPR_IPV4 |RQFPR_UDP;
+cmp_rqfpr = RQFPR_IPV4 | RQFPR_UDP;
 break;
 case TCP_V6_FLOW:
-cmp_rqfpr = RQFPR_IPV6 |RQFPR_TCP;
+cmp_rqfpr = RQFPR_IPV6 | RQFPR_TCP;
 break;
 case UDP_V6_FLOW:
-cmp_rqfpr = RQFPR_IPV6 |RQFPR_UDP;
+cmp_rqfpr = RQFPR_IPV6 | RQFPR_UDP;
 break;
 default:
 pr_err("Right now this class is not supported\n");
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -727,7 +727,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u
 local_rqfcr[j] = priv-&amp;gt;ftp_rqfcr[i];
 j--;
 if ((priv-&amp;gt;ftp_rqfcr[i] == (RQFCR_PID_PARSE |
-RQFCR_CLE |RQFCR_AND)) &amp;amp;&amp;amp;
+RQFCR_CLE | RQFCR_AND)) &amp;amp;&amp;amp;
 (priv-&amp;gt;ftp_rqfpr[i] == cmp_rqfpr))
 break;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -743,17 +743,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u
  */
 for (l = i+1; l &amp;lt; MAX_FILER_IDX; l++) {
 if ((priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_CLE) &amp;amp;&amp;amp;
-!(priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_AND)) {
+    !(priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_AND)) {
 priv-&amp;gt;ftp_rqfcr[l] = RQFCR_CLE | RQFCR_CMP_EXACT |
 RQFCR_HASHTBL_0 | RQFCR_PID_MASK;
 priv-&amp;gt;ftp_rqfpr[l] = FPR_FILER_MASK;
 gfar_write_filer(priv, l, priv-&amp;gt;ftp_rqfcr[l],
-priv-&amp;gt;ftp_rqfpr[l]);
+ priv-&amp;gt;ftp_rqfpr[l]);
 break;
 }
 
 if (!(priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_CLE) &amp;amp;&amp;amp;
-(priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_AND))
+    (priv-&amp;gt;ftp_rqfcr[l] &amp;amp; RQFCR_AND))
 continue;
 else {
 local_rqfpr[j] = priv-&amp;gt;ftp_rqfpr[l];
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -773,7 +773,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_ethflow_to_filer_table(struct gfar_private *priv, u64 ethflow, u
 priv-&amp;gt;ftp_rqfpr[priv-&amp;gt;cur_filer_idx] = local_rqfpr[k];
 priv-&amp;gt;ftp_rqfcr[priv-&amp;gt;cur_filer_idx] = local_rqfcr[k];
 gfar_write_filer(priv, priv-&amp;gt;cur_filer_idx,
-local_rqfcr[k], local_rqfpr[k]);
+ local_rqfcr[k], local_rqfpr[k]);
 if (!priv-&amp;gt;cur_filer_idx)
 break;
 priv-&amp;gt;cur_filer_idx = priv-&amp;gt;cur_filer_idx - 1;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -810,10 +810,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_check_filer_hardware(struct gfar_private *priv)
 i &amp;amp;= RCTRL_PRSDEP_MASK | RCTRL_PRSFM;
 if (i == (RCTRL_PRSDEP_MASK | RCTRL_PRSFM)) {
 netdev_info(priv-&amp;gt;ndev,
-"Receive Queue Filtering enabled\n");
+    "Receive Queue Filtering enabled\n");
 } else {
 netdev_warn(priv-&amp;gt;ndev,
-"Receive Queue Filtering disabled\n");
+    "Receive Queue Filtering disabled\n");
 return -EOPNOTSUPP;
 }
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -823,10 +823,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_check_filer_hardware(struct gfar_private *priv)
 i &amp;amp;= RCTRL_PRSDEP_MASK;
 if (i == RCTRL_PRSDEP_MASK) {
 netdev_info(priv-&amp;gt;ndev,
-"Receive Queue Filtering enabled\n");
+    "Receive Queue Filtering enabled\n");
 } else {
 netdev_warn(priv-&amp;gt;ndev,
-"Receive Queue Filtering disabled\n");
+    "Receive Queue Filtering disabled\n");
 return -EOPNOTSUPP;
 }
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -977,7 +977,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_set_user_ip(struct ethtool_usrip4_spec *value,
 gfar_set_attribute(value-&amp;gt;tos, mask-&amp;gt;tos, RQFCR_PID_TOS, tab);
 gfar_set_attribute(value-&amp;gt;proto, mask-&amp;gt;proto, RQFCR_PID_L4P, tab);
 gfar_set_attribute(value-&amp;gt;l4_4_bytes, mask-&amp;gt;l4_4_bytes, RQFCR_PID_ARB,
-tab);
+   tab);
 
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1016,8 +1016,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_set_ether(struct ethhdr *value, struct ethhdr *mask,
 if (!is_broadcast_ether_addr(mask-&amp;gt;h_dest)) {
 
 /* Special for destination is limited broadcast */
-if ((is_broadcast_ether_addr(value-&amp;gt;h_dest)
-&amp;amp;&amp;amp; is_zero_ether_addr(mask-&amp;gt;h_dest))) {
+if (is_broadcast_ether_addr(value-&amp;gt;h_dest) &amp;amp;&amp;amp;
+    is_zero_ether_addr(mask-&amp;gt;h_dest)) {
 gfar_set_parse_bits(RQFPR_EBC, RQFPR_EBC, tab);
 } else {
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1090,34 +1090,34 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_convert_to_filer(struct ethtool_rx_flow_spec *rule,
 switch (rule-&amp;gt;flow_type &amp;amp; ~FLOW_EXT) {
 case TCP_V4_FLOW:
 gfar_set_parse_bits(RQFPR_IPV4 | RQFPR_TCP | vlan,
-RQFPR_IPV4 | RQFPR_TCP | vlan_mask, tab);
+    RQFPR_IPV4 | RQFPR_TCP | vlan_mask, tab);
 gfar_set_basic_ip(&amp;amp;rule-&amp;gt;h_u.tcp_ip4_spec,
-&amp;amp;rule-&amp;gt;m_u.tcp_ip4_spec, tab);
+  &amp;amp;rule-&amp;gt;m_u.tcp_ip4_spec, tab);
 break;
 case UDP_V4_FLOW:
 gfar_set_parse_bits(RQFPR_IPV4 | RQFPR_UDP | vlan,
-RQFPR_IPV4 | RQFPR_UDP | vlan_mask, tab);
+    RQFPR_IPV4 | RQFPR_UDP | vlan_mask, tab);
 gfar_set_basic_ip(&amp;amp;rule-&amp;gt;h_u.udp_ip4_spec,
-&amp;amp;rule-&amp;gt;m_u.udp_ip4_spec, tab);
+  &amp;amp;rule-&amp;gt;m_u.udp_ip4_spec, tab);
 break;
 case SCTP_V4_FLOW:
 gfar_set_parse_bits(RQFPR_IPV4 | vlan, RQFPR_IPV4 | vlan_mask,
-tab);
+    tab);
 gfar_set_attribute(132, 0, RQFCR_PID_L4P, tab);
-gfar_set_basic_ip((struct ethtool_tcpip4_spec *) &amp;amp;rule-&amp;gt;h_u,
-(struct ethtool_tcpip4_spec *) &amp;amp;rule-&amp;gt;m_u, tab);
+gfar_set_basic_ip((struct ethtool_tcpip4_spec *)&amp;amp;rule-&amp;gt;h_u,
+  (struct ethtool_tcpip4_spec *)&amp;amp;rule-&amp;gt;m_u, tab);
 break;
 case IP_USER_FLOW:
 gfar_set_parse_bits(RQFPR_IPV4 | vlan, RQFPR_IPV4 | vlan_mask,
-tab);
-gfar_set_user_ip((struct ethtool_usrip4_spec *) &amp;amp;rule-&amp;gt;h_u,
-(struct ethtool_usrip4_spec *) &amp;amp;rule-&amp;gt;m_u, tab);
+    tab);
+gfar_set_user_ip((struct ethtool_usrip4_spec *)&amp;amp;rule-&amp;gt;h_u,
+ (struct ethtool_usrip4_spec *)&amp;amp;rule-&amp;gt;m_u, tab);
 break;
 case ETHER_FLOW:
 if (vlan)
 gfar_set_parse_bits(vlan, vlan_mask, tab);
-gfar_set_ether((struct ethhdr *) &amp;amp;rule-&amp;gt;h_u,
-(struct ethhdr *) &amp;amp;rule-&amp;gt;m_u, tab);
+gfar_set_ether((struct ethhdr *)&amp;amp;rule-&amp;gt;h_u,
+       (struct ethhdr *)&amp;amp;rule-&amp;gt;m_u, tab);
 break;
 default:
 return -1;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1207,7 +1207,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_expand_filer_entries(u32 begin, u32 length,
 return -EINVAL;
 
 gfar_copy_filer_entries(&amp;amp;(tab-&amp;gt;fe[begin + length]), &amp;amp;(tab-&amp;gt;fe[begin]),
-tab-&amp;gt;index - length + 1);
+tab-&amp;gt;index - length + 1);
 
 tab-&amp;gt;index += length;
 return 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1271,10 +1271,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_cluster_filer(struct filer_table *tab)
 break;
 
 gfar_copy_filer_entries(&amp;amp;(tab-&amp;gt;fe[iend + 1]),
-&amp;amp;(tab-&amp;gt;fe[jend + 1]), jend - j);
+&amp;amp;(tab-&amp;gt;fe[jend + 1]), jend - j);
 
 if (gfar_trim_filer_entries(jend - 1,
-jend + (jend - j), tab) == -EINVAL)
+    jend + (jend - j), tab) == -EINVAL)
 return;
 
 /* Mask out cluster bit */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1364,8 +1364,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_sort_mask_table(struct gfar_mask_entry *mask_table,
 old_first = mask_table[start].start + 1;
 old_last = mask_table[i - 1].end;
 sort(mask_table + start, size,
-sizeof(struct gfar_mask_entry),
-gfar_comp, &amp;amp;gfar_swap);
+     sizeof(struct gfar_mask_entry),
+     gfar_comp, &amp;amp;gfar_swap);
 
 /* Toggle order for every block. This makes the
  * thing more efficient! */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1378,12 +1378,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void gfar_sort_mask_table(struct gfar_mask_entry *mask_table,
 new_last = mask_table[i - 1].end;
 
 gfar_swap_bits(&amp;amp;temp_table-&amp;gt;fe[new_first],
-&amp;amp;temp_table-&amp;gt;fe[old_first],
-&amp;amp;temp_table-&amp;gt;fe[new_last],
-&amp;amp;temp_table-&amp;gt;fe[old_last],
-RQFCR_QUEUE | RQFCR_CLE |
-RQFCR_RJE | RQFCR_AND
-);
+       &amp;amp;temp_table-&amp;gt;fe[old_first],
+       &amp;amp;temp_table-&amp;gt;fe[new_last],
+       &amp;amp;temp_table-&amp;gt;fe[old_last],
+       RQFCR_QUEUE | RQFCR_CLE |
+       RQFCR_RJE | RQFCR_AND);
 
 start = i;
 size = 0;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1432,7 +1431,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_optimize_filer_masks(struct filer_table *tab)
 for (i = 0; i &amp;lt; and_index; i++) {
 size = mask_table[i].end - mask_table[i].start + 1;
 gfar_copy_filer_entries(&amp;amp;(tab-&amp;gt;fe[j]),
-&amp;amp;(temp_table-&amp;gt;fe[mask_table[i].start]), size);
+&amp;amp;(temp_table-&amp;gt;fe[mask_table[i].start]), size);
 j += size;
 }
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1494,15 +1493,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_check_capability(struct ethtool_rx_flow_spec *flow,
 if (flow-&amp;gt;flow_type &amp;amp; FLOW_EXT){
 if (~flow-&amp;gt;m_ext.data[0] || ~flow-&amp;gt;m_ext.data[1])
 netdev_warn(priv-&amp;gt;ndev,
-"User-specific data not supported!\n");
+    "User-specific data not supported!\n");
 if (~flow-&amp;gt;m_ext.vlan_etype)
 netdev_warn(priv-&amp;gt;ndev,
-"VLAN-etype not supported!\n");
+    "VLAN-etype not supported!\n");
 }
 if (flow-&amp;gt;flow_type == IP_USER_FLOW)
 if (flow-&amp;gt;h_u.usr_ip4_spec.ip_ver != ETH_RX_NFC_IP4)
 netdev_warn(priv-&amp;gt;ndev,
-"IP-Version differing from IPv4 not supported!\n");
+    "IP-Version differing from IPv4 not supported!\n");
 
 return 0;
 }
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1599,8 +1598,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int gfar_add_cls(struct gfar_private *priv,
 }
 if (comp-&amp;gt;fs.location == flow-&amp;gt;location) {
 netdev_err(priv-&amp;gt;ndev,
-"Rule not added: ID %d not free!\n",
-flow-&amp;gt;location);
+   "Rule not added: ID %d not free!\n",
+   flow-&amp;gt;location);
 ret = -EBUSY;
 goto clean_mem;
 }
diff --git a/drivers/net/ethernet/freescale/gianfar_ptp.c b/drivers/net/ethernet/freescale/gianfar_ptp.c
index c08e5d4..3f7b81d 100644
--- a/drivers/net/ethernet/freescale/gianfar_ptp.c
+++ b/drivers/net/ethernet/freescale/gianfar_ptp.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -268,11 +268,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static irqreturn_t isr(int irq, void *priv)
 ptp_clock_event(etsects-&amp;gt;clock, &amp;amp;event);
 }
 
-if (ack) {
-gfar_write(&amp;amp;etsects-&amp;gt;regs-&amp;gt;tmr_tevent, ack);
-return IRQ_HANDLED;
-} else
+if (!ack)
 return IRQ_NONE;
+
+gfar_write(&amp;amp;etsects-&amp;gt;regs-&amp;gt;tmr_tevent, ack);
+return IRQ_HANDLED;
 }
 
 /*
diff --git a/drivers/net/ethernet/freescale/gianfar_sysfs.c b/drivers/net/ethernet/freescale/gianfar_sysfs.c
index cd14a4d..3a1fa70 100644
--- a/drivers/net/ethernet/freescale/gianfar_sysfs.c
+++ b/drivers/net/ethernet/freescale/gianfar_sysfs.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -31,7 +31,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #include &amp;lt;linux/mm.h&amp;gt;
 #include &amp;lt;linux/device.h&amp;gt;
 
-#include &amp;lt;asm/uaccess.h&amp;gt;
+#include &amp;lt;linux/uaccess.h&amp;gt;
 #include &amp;lt;linux/module.h&amp;gt;
 
 #include "gianfar.h"
&lt;/pre&gt;</description>
    <dc:creator>Joe Perches</dc:creator>
    <dc:date>2012-05-24T16:16:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50735">
    <title>[PATCH 2/2] powerpc/85xx: Add P1024rdb board support</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50735</link>
    <description>&lt;pre&gt;From: Tang Yuantian &amp;lt;Yuantian.Tang&amp;lt; at &amp;gt;freescale.com&amp;gt;

The p1024rdb has the similar feature as the p1020rdb. Therefore, p1024rdb use
the same platform file as the p1/p2 rdb board.
Overview of P2020RDB platform
- DDR3 1G
- NOR flash 16M
- 3 Ethernet interfaces
- NAND Flash 32M
- SPI EEPROM 16M
- SD/MMC
- 2 USB ports
- 4 TDM ports

Signed-off-by: Jin Qing &amp;lt;b24347&amp;lt; at &amp;gt;freescale.com&amp;gt;
Signed-off-by: Li Yang &amp;lt;leoli&amp;lt; at &amp;gt;freescale.com&amp;gt;
Signed-off-by: Tang Yuantian &amp;lt;Yuantian.Tang&amp;lt; at &amp;gt;freescale.com&amp;gt;
---
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
index 313fce4..1910fdc 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_rdb.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -169,6 +169,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; machine_device_initcall(p1020_rdb_pc, mpc85xx_common_publish_devices);
 machine_device_initcall(p1020_utm_pc, mpc85xx_common_publish_devices);
 machine_device_initcall(p1021_rdb_pc, mpc85xx_common_publish_devices);
 machine_device_initcall(p1025_rdb, mpc85xx_common_publish_devices);
+machine_device_initcall(p1024_rdb, mpc85xx_common_publish_devices);
 
 /*
  * Called very early, device-tree isn't unflattened
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -237,6 +238,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init p1020_utm_pc_probe(void)
 return of_flat_dt_is_compatible(root, "fsl,P1020UTM-PC");
 }
 
+static int __init p1024_rdb_probe(void)
+{
+unsigned long root = of_get_flat_dt_root();
+
+return of_flat_dt_is_compatible(root, "fsl,P1024RDB");
+}
+
 define_machine(p2020_rdb) {
 .name= "P2020 RDB",
 .probe= p2020_rdb_probe,
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -348,3 +356,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; define_machine(p1020_rdb_pc) {
 .calibrate_decr= generic_calibrate_decr,
 .progress= udbg_progress,
 };
+
+define_machine(p1024_rdb) {
+.name= "P1024 RDB",
+.probe= p1024_rdb_probe,
+.setup_arch= mpc85xx_rdb_setup_arch,
+.init_IRQ= mpc85xx_rdb_pic_init,
+#ifdef CONFIG_PCI
+.pcibios_fixup_bus= fsl_pcibios_fixup_bus,
+#endif
+.get_irq= mpic_get_irq,
+.restart= fsl_rstcr_restart,
+.calibrate_decr= generic_calibrate_decr,
+.progress= udbg_progress,
+};
&lt;/pre&gt;</description>
    <dc:creator>b29983&lt; at &gt;freescale.com</dc:creator>
    <dc:date>2012-05-24T09:08:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50734">
    <title>[PATCH 1/2] powerpc/85xx: Add P1024rdb dts support</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50734</link>
    <description>&lt;pre&gt;From: Tang Yuantian &amp;lt;Yuantian.Tang&amp;lt; at &amp;gt;freescale.com&amp;gt;

Signed-off-by: Jin Qing &amp;lt;b24347&amp;lt; at &amp;gt;freescale.com&amp;gt;
Signed-off-by: Li Yang &amp;lt;leoli&amp;lt; at &amp;gt;freescale.com&amp;gt;
Signed-off-by: Tang Yuantian &amp;lt;Yuantian.Tang&amp;lt; at &amp;gt;freescale.com&amp;gt;
---
 arch/powerpc/boot/dts/p1024rdb.dtsi    |  228 ++++++++++++++++++++++++++++++++
 arch/powerpc/boot/dts/p1024rdb_32b.dts |   87 ++++++++++++
 arch/powerpc/boot/dts/p1024rdb_36b.dts |   87 ++++++++++++
 3 files changed, 402 insertions(+), 0 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/p1024rdb.dtsi
 create mode 100644 arch/powerpc/boot/dts/p1024rdb_32b.dts
 create mode 100644 arch/powerpc/boot/dts/p1024rdb_36b.dts

diff --git a/arch/powerpc/boot/dts/p1024rdb.dtsi b/arch/powerpc/boot/dts/p1024rdb.dtsi
new file mode 100644
index 0000000..b05dcb4
--- /dev/null
+++ b/arch/powerpc/boot/dts/p1024rdb.dtsi
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,228 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*
+ * P1024 RDB Device Tree Source stub (no addresses or top-level ranges)
+ *
+ * Copyright 2012 Freescale Semiconductor Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Freescale Semiconductor nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+&amp;amp;lbc {
+nor&amp;lt; at &amp;gt;0,0 {
+#address-cells = &amp;lt;1&amp;gt;;
+#size-cells = &amp;lt;1&amp;gt;;
+compatible = "cfi-flash";
+reg = &amp;lt;0x0 0x0 0x1000000&amp;gt;;
+bank-width = &amp;lt;2&amp;gt;;
+device-width = &amp;lt;1&amp;gt;;
+
+partition&amp;lt; at &amp;gt;0 {
+/* This location must not be altered  */
+/* 256KB for Vitesse 7385 Switch firmware */
+reg = &amp;lt;0x0 0x00040000&amp;gt;;
+label = "NOR Vitesse-7385 Firmware";
+read-only;
+};
+
+partition&amp;lt; at &amp;gt;40000 {
+/* 256KB for DTB Image */
+reg = &amp;lt;0x00040000 0x00040000&amp;gt;;
+label = "NOR DTB Image";
+};
+
+partition&amp;lt; at &amp;gt;80000 {
+/* 3.5 MB for Linux Kernel Image */
+reg = &amp;lt;0x00080000 0x00380000&amp;gt;;
+label = "NOR Linux Kernel Image";
+};
+
+partition&amp;lt; at &amp;gt;400000 {
+/* 11MB for JFFS2 based Root file System */
+reg = &amp;lt;0x00400000 0x00b00000&amp;gt;;
+label = "NOR JFFS2 Root File System";
+};
+
+partition&amp;lt; at &amp;gt;f00000 {
+/* This location must not be altered  */
+/* 512KB for u-boot Bootloader Image */
+/* 512KB for u-boot Environment Variables */
+reg = &amp;lt;0x00f00000 0x00100000&amp;gt;;
+label = "NOR U-Boot Image";
+read-only;
+};
+};
+
+nand&amp;lt; at &amp;gt;1,0 {
+#address-cells = &amp;lt;1&amp;gt;;
+#size-cells = &amp;lt;1&amp;gt;;
+compatible = "fsl,p1020-fcm-nand",
+ "fsl,elbc-fcm-nand";
+reg = &amp;lt;0x1 0x0 0x40000&amp;gt;;
+
+partition&amp;lt; at &amp;gt;0 {
+/* This location must not be altered  */
+/* 1MB for u-boot Bootloader Image */
+reg = &amp;lt;0x0 0x00100000&amp;gt;;
+label = "NAND U-Boot Image";
+read-only;
+};
+
+partition&amp;lt; at &amp;gt;100000 {
+/* 1MB for DTB Image */
+reg = &amp;lt;0x00100000 0x00100000&amp;gt;;
+label = "NAND DTB Image";
+};
+
+partition&amp;lt; at &amp;gt;200000 {
+/* 4MB for Linux Kernel Image */
+reg = &amp;lt;0x00200000 0x00400000&amp;gt;;
+label = "NAND Linux Kernel Image";
+};
+
+partition&amp;lt; at &amp;gt;600000 {
+/* 4MB for Compressed Root file System Image */
+reg = &amp;lt;0x00600000 0x00400000&amp;gt;;
+label = "NAND Compressed RFS Image";
+};
+
+partition&amp;lt; at &amp;gt;a00000 {
+/* 15MB for JFFS2 based Root file System */
+reg = &amp;lt;0x00a00000 0x00f00000&amp;gt;;
+label = "NAND JFFS2 Root File System";
+};
+
+partition&amp;lt; at &amp;gt;1900000 {
+/* 7MB for User Writable Area */
+reg = &amp;lt;0x01900000 0x00700000&amp;gt;;
+label = "NAND Writable User area";
+};
+};
+};
+
+&amp;amp;soc {
+spi&amp;lt; at &amp;gt;7000 {
+flash&amp;lt; at &amp;gt;0 {
+#address-cells = &amp;lt;1&amp;gt;;
+#size-cells = &amp;lt;1&amp;gt;;
+compatible = "spansion,m25p80";
+reg = &amp;lt;0&amp;gt;;
+spi-max-frequency = &amp;lt;40000000&amp;gt;;
+
+partition&amp;lt; at &amp;gt;0 {
+/* 512KB for u-boot Bootloader Image */
+reg = &amp;lt;0x0 0x00080000&amp;gt;;
+label = "SPI U-Boot Image";
+read-only;
+};
+
+partition&amp;lt; at &amp;gt;80000 {
+/* 512KB for DTB Image */
+reg = &amp;lt;0x00080000 0x00080000&amp;gt;;
+label = "SPI DTB Image";
+};
+
+partition&amp;lt; at &amp;gt;100000 {
+/* 4MB for Linux Kernel Image */
+reg = &amp;lt;0x00100000 0x00400000&amp;gt;;
+label = "SPI Linux Kernel Image";
+};
+
+partition&amp;lt; at &amp;gt;500000 {
+/* 4MB for Compressed RFS Image */
+reg = &amp;lt;0x00500000 0x00400000&amp;gt;;
+label = "SPI Compressed RFS Image";
+};
+
+partition&amp;lt; at &amp;gt;900000 {
+/* 7MB for JFFS2 based RFS */
+reg = &amp;lt;0x00900000 0x00700000&amp;gt;;
+label = "SPI JFFS2 RFS";
+};
+};
+};
+
+i2c&amp;lt; at &amp;gt;3000 {
+rtc&amp;lt; at &amp;gt;68 {
+compatible = "dallas,ds1339";
+reg = &amp;lt;0x68&amp;gt;;
+};
+};
+
+usb&amp;lt; at &amp;gt;22000 {
+phy_type = "ulpi";
+};
+
+usb&amp;lt; at &amp;gt;23000 {
+status = "disabled";
+};
+
+mdio&amp;lt; at &amp;gt;24000 {
+phy0: ethernet-phy&amp;lt; at &amp;gt;0 {
+interrupts = &amp;lt;3 1 0 0&amp;gt;;
+reg = &amp;lt;0x0&amp;gt;;
+};
+phy1: ethernet-phy&amp;lt; at &amp;gt;1 {
+interrupts = &amp;lt;2 1 0 0&amp;gt;;
+reg = &amp;lt;0x1&amp;gt;;
+};
+phy2: ethernet-phy&amp;lt; at &amp;gt;2 {
+interrupts = &amp;lt;1 1 0 0&amp;gt;;
+reg = &amp;lt;0x2&amp;gt;;
+};
+};
+
+mdio&amp;lt; at &amp;gt;25000 {
+tbi0: tbi-phy&amp;lt; at &amp;gt;11 {
+reg = &amp;lt;0x11&amp;gt;;
+device_type = "tbi-phy";
+};
+};
+
+mdio&amp;lt; at &amp;gt;26000 {
+tbi1: tbi-phy&amp;lt; at &amp;gt;11 {
+reg = &amp;lt;0x11&amp;gt;;
+device_type = "tbi-phy";
+};
+};
+
+ethernet&amp;lt; at &amp;gt;b0000 {
+phy-handle = &amp;lt;&amp;amp;phy2&amp;gt;;
+phy-connection-type = "rgmii-id";
+};
+
+ethernet&amp;lt; at &amp;gt;b1000 {
+phy-handle = &amp;lt;&amp;amp;phy0&amp;gt;;
+tbi-handle = &amp;lt;&amp;amp;tbi0&amp;gt;;
+phy-connection-type = "sgmii";
+};
+
+ethernet&amp;lt; at &amp;gt;b2000 {
+phy-handle = &amp;lt;&amp;amp;phy1&amp;gt;;
+phy-connection-type = "rgmii-id";
+};
+};
diff --git a/arch/powerpc/boot/dts/p1024rdb_32b.dts b/arch/powerpc/boot/dts/p1024rdb_32b.dts
new file mode 100644
index 0000000..90e803e
--- /dev/null
+++ b/arch/powerpc/boot/dts/p1024rdb_32b.dts
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,87 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*
+ * P1024 RDB 32Bit Physical Address Map Device Tree Source
+ *
+ * Copyright 2012 Freescale Semiconductor Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Freescale Semiconductor nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/include/ "fsl/p1020si-pre.dtsi"
+/ {
+model = "fsl,P1024RDB";
+compatible = "fsl,P1024RDB";
+
+memory {
+device_type = "memory";
+};
+
+lbc: localbus&amp;lt; at &amp;gt;ffe05000 {
+reg = &amp;lt;0x0 0xffe05000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x0 0x0 0x0 0xef000000 0x01000000
+  0x1 0x0 0x0 0xff800000 0x00040000&amp;gt;;
+};
+
+soc: soc&amp;lt; at &amp;gt;ffe00000 {
+ranges = &amp;lt;0x0 0x0 0xffe00000 0x100000&amp;gt;;
+};
+
+pci0: pcie&amp;lt; at &amp;gt;ffe09000 {
+reg = &amp;lt;0x0 0xffe09000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000 0x0 0xa0000000 0x0 0x20000000
+  0x1000000 0x0 0x00000000 0x0 0xffc10000 0x0 0x10000&amp;gt;;
+pcie&amp;lt; at &amp;gt;0 {
+ranges = &amp;lt;0x2000000 0x0 0xe0000000
+  0x2000000 0x0 0xe0000000
+  0x0 0x20000000
+
+  0x1000000 0x0 0x0
+  0x1000000 0x0 0x0
+  0x0 0x100000&amp;gt;;
+};
+};
+
+pci1: pcie&amp;lt; at &amp;gt;ffe0a000 {
+reg = &amp;lt;0x0 0xffe0a000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000 0x0 0x80000000 0x0 0x20000000
+  0x1000000 0x0 0x00000000 0x0 0xffc00000 0x0 0x10000&amp;gt;;
+pcie&amp;lt; at &amp;gt;0 {
+reg = &amp;lt;0x0 0x0 0x0 0x0 0x0&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000
+  0x2000000 0x0 0xe0000000
+  0x0 0x20000000
+
+  0x1000000 0x0 0x0
+  0x1000000 0x0 0x0
+  0x0 0x100000&amp;gt;;
+};
+};
+};
+
+/include/ "p1024rdb.dtsi"
+/include/ "fsl/p1020si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/p1024rdb_36b.dts b/arch/powerpc/boot/dts/p1024rdb_36b.dts
new file mode 100644
index 0000000..3656825
--- /dev/null
+++ b/arch/powerpc/boot/dts/p1024rdb_36b.dts
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,87 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*
+ * P1024 RDB 36Bit Physical Address Map Device Tree Source
+ *
+ * Copyright 2012 Freescale Semiconductor Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *     * Redistributions of source code must retain the above copyright
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Freescale Semiconductor nor the
+ *       names of its contributors may be used to endorse or promote products
+ *       derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/include/ "fsl/p1020si-pre.dtsi"
+/ {
+model = "fsl,P1024RDB";
+compatible = "fsl,P1024RDB";
+
+memory {
+device_type = "memory";
+};
+
+lbc: localbus&amp;lt; at &amp;gt;fffe05000 {
+reg = &amp;lt;0xf 0xffe05000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x0 0x0 0xf 0xef000000 0x01000000
+  0x1 0x0 0xf 0xff800000 0x00040000&amp;gt;;
+};
+
+soc: soc&amp;lt; at &amp;gt;fffe00000 {
+ranges = &amp;lt;0x0 0xf 0xffe00000 0x100000&amp;gt;;
+};
+
+pci0: pcie&amp;lt; at &amp;gt;fffe09000 {
+reg = &amp;lt;0xf 0xffe09000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000 0xc 0x20000000 0x0 0x20000000
+  0x1000000 0x0 0x00000000 0xf 0xffc10000 0x0 0x10000&amp;gt;;
+pcie&amp;lt; at &amp;gt;0 {
+ranges = &amp;lt;0x2000000 0x0 0xe0000000
+  0x2000000 0x0 0xe0000000
+  0x0 0x20000000
+
+  0x1000000 0x0 0x0
+  0x1000000 0x0 0x0
+  0x0 0x100000&amp;gt;;
+};
+};
+
+pci1: pcie&amp;lt; at &amp;gt;fffe0a000 {
+reg = &amp;lt;0xf 0xffe0a000 0 0x1000&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000 0xc 0x00000000 0x0 0x20000000
+  0x1000000 0x0 0x00000000 0xf 0xffc00000 0x0 0x10000&amp;gt;;
+pcie&amp;lt; at &amp;gt;0 {
+reg = &amp;lt;0x0 0x0 0x0 0x0 0x0&amp;gt;;
+ranges = &amp;lt;0x2000000 0x0 0xe0000000
+  0x2000000 0x0 0xe0000000
+  0x0 0x20000000
+
+  0x1000000 0x0 0x0
+  0x1000000 0x0 0x0
+  0x0 0x100000&amp;gt;;
+};
+};
+};
+
+/include/ "p1024rdb.dtsi"
+/include/ "fsl/p1020si-post.dtsi"
&lt;/pre&gt;</description>
    <dc:creator>b29983&lt; at &gt;freescale.com</dc:creator>
    <dc:date>2012-05-24T09:08:27</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50733">
    <title>Oops with Radeon/Uninorth on Maple</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50733</link>
    <description>&lt;pre&gt;Hello, colleagues,

I'm trying to enable an AGP slot (again) on my Maple board (dual 
PPC970FX board, with CPC925 (U3H) north bridge).

  For now I'm stuck with a problem: I use radeon card, drm-radeon driver 
with KMS.

If I force drm-radeon to think about a card as about PCI card (by 
commenting corresponding lines in drm_radeon_kms.c), everything works, I 
get framebuffer, working X11, etc. If I enable agpgart-uninorth driver
and RADEON_IS_AGP flag in drm driver, I get an Oops early during the 
bootstrap. Relevant part of the log (I can send full dmesg of normal 
bootstrap or this oops on request, if that would help).

[    2.820647] Linux agpgart interface v0.103
[    2.824909] agpgart-uninorth 0000:f0:0b.0: Apple U3H chipset
[    2.830668] agpgart-uninorth 0000:f0:0b.0: Found device u3, rev 35
[    2.843611] agpgart-uninorth 0000:f0:0b.0: configuring for size idx: 64
[    2.850638] agpgart-uninorth 0000:f0:0b.0: AGP aperture is 256M &amp;lt; at &amp;gt; 0x0
[    2.857646] [drm] Initialized drm 1.1.0 20060810
[    2.862567] [drm] radeon defaulting to kernel modesetting.
[    2.868091] [drm] radeon kernel modesetting enabled.
[    2.873222] radeon 0000:f0:10.0: enabling device (0000 -&amp;gt; 0003)
[    2.880311] radeon 0000:f0:10.0: enabling bus mastering
[    2.885591] [drm] initializing kernel modesetting (RV350 
0x1002:0x4152 0x18BC:0x0416).
[    2.893629] [drm] register mmio base: 0xD0020000
[    2.898260] [drm] register mmio size: 65536
[    2.947112] [drm] GPU not posted. posting now...
[    3.051033] agpgart-uninorth 0000:f0:0b.0: putting AGP V3 device into 
8x mode
[    3.058197] radeon 0000:f0:10.0: putting AGP V3 device into 8x mode
[    3.064666] radeon 0000:f0:10.0: GTT: 256M 0x00000000 - 0x0FFFFFFF
[    3.070864] [drm] Generation 2 PCI interface, using max accessible memory
[    3.077672] radeon 0000:f0:10.0: VRAM: 128M 0x00000000C0000000 - 
0x00000000C7FFFFFF (128M used)
[    3.086487] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    3.093126] [drm] Driver supports precise vblank timestamp query.
[    3.099291] [drm] radeon: irq initialized.
[    3.103404] [drm] Detected VRAM RAM=128M, BAR=128M
[    3.108214] [drm] RAM width 128bits DDR
[    3.112263] [TTM] Zone  kernel: Available graphics memory: 496682 kiB
[    3.118732] [TTM] Initializing pool allocator
[    3.123346] [drm] radeon: 128M of VRAM memory ready
[    3.128256] [drm] radeon: 256M of GTT memory ready.
[    3.133295] [drm] radeon: ib pool ready.
[    3.137708] [drm] radeon: 1 quad pipes, 1 Z pipes initialized.
[    3.144018] radeon 0000:f0:10.0: WB disabled
[    3.148326] [drm] fence driver on ring 0 use gpu addr 0x00000000 and 
cpu addr 0xd000000000066000
[    3.157474] [drm] Loading R300 Microcode
[    3.162480] [drm] radeon: ring at 0x0000000000001000
[    3.167569] [drm] ring test succeeded in 0 usecs
cpu 0x0: Vector: 200 (Machine Check) at [c000000000d63aa0]
     pc: c0000000000cc07c: .trace_hardirqs_on_caller+0x6c/0x190
     lr: c0000000000152f4: .cpu_idle+0x1a4/0x220
     sp: c000000000d63d20
    msr: 9000000000009032
   current = 0xc000000000c4db30
   paca    = 0xc00000000ffff000   softe: 0        irq_happened: 0x01
     pid   = 0, comm = swapper/0
enter ? for help
[c000000000d63db0] c0000000000152f4 .cpu_idle+0x1a4/0x220
[c000000000d63e50] c000000000008fb8 .rest_init+0xe8/0x110
[c000000000d63ee0] c000000000ba2998 .start_kernel+0x3e4/0x408
[c000000000d63f90] c000000000007558 .start_here_common+0x20/0x48
0:mon&amp;gt; x
[  843.783295] Oops: Machine check, sig: 7 [#1]
[  843.787589] SMP NR_CPUS=4 Maple
[  843.790768] Modules linked in:
[  843.793855] NIP: c0000000000cc07c LR: c0000000000152f4 CTR: 
c000000000023eac
[  843.800920] REGS: c000000000d63aa0 TRAP: 0200   Not tainted  (3.4.0+)
[  843.807376] MSR: 9000000000009032 &amp;lt;SF,HV,EE,ME,IR,DR,RI&amp;gt;  CR: 
24222222  XER: 00000006
[  843.815412] SOFTE: 0
[  843.817607] TASK = c000000000c4db30[0] 'swapper/0' THREAD: 
c000000000d60000 CPU: 0
[  843.825035] GPR00: 0000000000000000 c000000000d63d20 c000000000d63280 
c0000000000152f4
[  843.833169] GPR04: 0000000000000000 c000000000099d10 0000000000000001 
0000000000000002
[  843.841302] GPR08: 0100000000000000 c000000000e828e8 0140000000000000 
0000000000000000
[  843.849436] GPR12: 0000000044222282 c00000000ffff000 0000000000000000 
0000000000000000
[  843.857570] GPR16: 0000000000ff8750 0000000000cdc890 00000000010001e0 
0000000000000000
[  843.865702] GPR20: 0000000000000000 0000000000000000 000000001dcd6500 
0000000000000000
[  843.873835] GPR24: 0000000000000000 0000000000ec7b00 9000000000009032 
c000000000d7b178
[  843.881979] GPR28: c000000000d7b278 0000000000000008 c000000000c970f8 
c0000000000152f4
[  843.890314] NIP [c0000000000cc07c] .trace_hardirqs_on_caller+0x6c/0x190
[  843.896942] LR [c0000000000152f4] .cpu_idle+0x1a4/0x220
[  843.902181] Call Trace:
[  843.904640] [c000000000d63d20] [c000000000d63db0] 
init_thread_union+0x3db0/0x4000 (unreliable)
[  843.913317] [c000000000d63db0] [c0000000000152f4] .cpu_idle+0x1a4/0x220
[  843.919964] [c000000000d63e50] [c000000000008fb8] .rest_init+0xe8/0x110
[  843.926615] [c000000000d63ee0] [c000000000ba2998] 
.start_kernel+0x3e4/0x408
[  843.933611] [c000000000d63f90] [c000000000007558] 
.start_here_common+0x20/0x48
[  843.940866] Instruction dump:
[  843.943868] 40de00a4 e92d01c8 800908e8 2f800000 40de0094 e93e8098 
80090000 2f800000
[  843.951829] 409e0030 880d01f2 2fa00000 40de00b0 &amp;lt;e93e84e8&amp;gt; 88090000 
2f800000 40de00c8


Looking for any suggestions on this.

&lt;/pre&gt;</description>
    <dc:creator>Dmitry Eremin-Solenikov</dc:creator>
    <dc:date>2012-05-24T06:18:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50732">
    <title>[PATCH] [ppc] Do not reserve cpu spin-table for crash kernel</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50732</link>
    <description>&lt;pre&gt;As of now, the kexec reserves the spin-table for all the CPUs
on an SMP machine. The spin-table is pointed to by the 
cpu-release-addr property in the device-tree. Reserving the
spin-table in the crash kernel will cause a BUG(), if the table
lies outside the memory reserved for the crashkernel.

Disable reserving the spin-table regions and use maxcpus=1 to 
use only the crashing CPU to boot the crash kernel.

Signed-off-by: Suzuki K. Poulose &amp;lt;suzuki&amp;lt; at &amp;gt;in.ibm.com&amp;gt;
---

 kexec/arch/ppc/crashdump-powerpc.c |   19 +++++++++++++------
 kexec/arch/ppc/fixup_dtb.c         |    4 ++++
 2 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/kexec/arch/ppc/crashdump-powerpc.c b/kexec/arch/ppc/crashdump-powerpc.c
index 1bef69b..4c8c75d 100644
--- a/kexec/arch/ppc/crashdump-powerpc.c
+++ b/kexec/arch/ppc/crashdump-powerpc.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -262,10 +262,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void ulltoa(unsigned long long i, char *str)
 }
 }
 
+/* Append str to cmdline */
+static void add_cmdline(char *cmdline, char *str)
+{
+int cmdlen = strlen(cmdline) + strlen(str);
+if (cmdlen &amp;gt; (COMMAND_LINE_SIZE - 1))
+die("Command line overflow\n");
+strcat(cmdline, str);
+}
+
 static int add_cmdline_param(char *cmdline, unsigned long long addr,
 char *cmdstr, char *byte)
 {
-int cmdlen, len, align = 1024;
+int align = 1024;
 char str[COMMAND_LINE_SIZE], *ptr;
 
 /* Passing in =xxxK / =xxxM format. Saves space required in cmdline.*/
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -284,11 +293,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int add_cmdline_param(char *cmdline, unsigned long long addr,
 ptr += strlen(str);
 ulltoa(addr, ptr);
 strcat(str, byte);
-len = strlen(str);
-cmdlen = strlen(cmdline) + len;
-if (cmdlen &amp;gt; (COMMAND_LINE_SIZE - 1))
-die("Command line overflow\n");
-strcat(cmdline, str);
+
+add_cmdline(cmdline, str);
 
 dbgprintf("Command line after adding elfcorehdr: %s\n", cmdline);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -365,6 +371,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int load_crashdump_segments(struct kexec_info *info, char *mod_cmdline,
  */
 add_cmdline_param(mod_cmdline, elfcorehdr, " elfcorehdr=", "K");
 add_cmdline_param(mod_cmdline, saved_max_mem, " savemaxmem=", "M");
+add_cmdline(mod_cmdline, " maxcpus=1");
 return 0;
 }
 
diff --git a/kexec/arch/ppc/fixup_dtb.c b/kexec/arch/ppc/fixup_dtb.c
index e9890a4..f832026 100644
--- a/kexec/arch/ppc/fixup_dtb.c
+++ b/kexec/arch/ppc/fixup_dtb.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -172,6 +172,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void fixup_reserve_regions(struct kexec_info *info, char *blob_buf)
 }
 }
 
+#if 0
+/* XXX: Do not reserve spin-table for CPUs. */
+
 /* Add reserve regions for cpu-release-addr */
 nodeoffset = fdt_node_offset_by_prop_value(blob_buf, -1, "device_type", "cpu", 4);
 while (nodeoffset != -FDT_ERR_NOTFOUND) {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -201,6 +204,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void fixup_reserve_regions(struct kexec_info *info, char *blob_buf)
 nodeoffset = fdt_node_offset_by_prop_value(blob_buf, nodeoffset,
 "device_type", "cpu", 4);
 }
+#endif
 
 out:
 print_fdt_reserve_regions(blob_buf);
&lt;/pre&gt;</description>
    <dc:creator>Suzuki K. Poulose</dc:creator>
    <dc:date>2012-05-24T06:09:45</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50731">
    <title>[PATCH v3 2/2] microblaze/PCI: move DMA &amp; IRQ init to device_add() notification path</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50731</link>
    <description>&lt;pre&gt;From: Hiroo Matsumoto &amp;lt;matsumoto.hiroo&amp;lt; at &amp;gt;jp.fujitsu.com&amp;gt;

Microblaze initialized DMA and IRQ information in the pci_scan_child_bus()
-&amp;gt; pcibios_fixup_bus() path.  Some hotplug drivers use that path, but
others don't, e.g., pciehp, so sometimes hot-added devices are only
partly initialized.

This patch moves that initialization from pcibios_fixup_bus() to a new
pci_bus_notify() called in the pci_bus_add_device() -&amp;gt; device_add() path.
That means the initialization happens the same way for all PCI devices,
whether they are present at boot or hot-added later.

[bhelgaas: changelog, notifier name, inline registration]
Signed-off-by: Hiroo MATSUMOTO &amp;lt;matsumoto.hiroo&amp;lt; at &amp;gt;jp.fujitsu.com&amp;gt;
Signed-off-by: Bjorn Helgaas &amp;lt;bhelgaas&amp;lt; at &amp;gt;google.com&amp;gt;
---
 arch/microblaze/include/asm/pci.h |    1 -
 arch/microblaze/pci/pci-common.c  |   62 ++++++++++++++++++++-----------------
 2 files changed, 34 insertions(+), 29 deletions(-)

diff --git a/arch/microblaze/include/asm/pci.h b/arch/microblaze/include/asm/pci.h
index a0da88b..2aa97fd 100644
--- a/arch/microblaze/include/asm/pci.h
+++ b/arch/microblaze/include/asm/pci.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -141,7 +141,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
  const struct resource *rsrc,
  resource_size_t *start, resource_size_t *end);
 
-extern void pcibios_setup_bus_devices(struct pci_bus *bus);
 extern void pcibios_setup_bus_self(struct pci_bus *bus);
 
 /* This part of code was originally in xilinx-pci.h */
diff --git a/arch/microblaze/pci/pci-common.c b/arch/microblaze/pci/pci-common.c
index 9b32483..6487ed0 100644
--- a/arch/microblaze/pci/pci-common.c
+++ b/arch/microblaze/pci/pci-common.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -983,31 +983,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void __devinit pcibios_setup_bus_self(struct pci_bus *bus)
 pcibios_fixup_bridge(bus);
 }
 
-void __devinit pcibios_setup_bus_devices(struct pci_bus *bus)
-{
-struct pci_dev *dev;
-
-pr_debug("PCI: Fixup bus devices %d (%s)\n",
- bus-&amp;gt;number, bus-&amp;gt;self ? pci_name(bus-&amp;gt;self) : "PHB");
-
-list_for_each_entry(dev, &amp;amp;bus-&amp;gt;devices, bus_list) {
-/* Setup OF node pointer in archdata */
-dev-&amp;gt;dev.of_node = pci_device_to_OF_node(dev);
-
-/* Fixup NUMA node as it may not be setup yet by the generic
- * code and is needed by the DMA init
- */
-set_dev_node(&amp;amp;dev-&amp;gt;dev, pcibus_to_node(dev-&amp;gt;bus));
-
-/* Hook up default DMA ops */
-set_dma_ops(&amp;amp;dev-&amp;gt;dev, pci_dma_ops);
-dev-&amp;gt;dev.archdata.dma_data = (void *)PCI_DRAM_OFFSET;
-
-/* Read default IRQs and fixup if necessary */
-pci_read_irq_line(dev);
-}
-}
-
 void __devinit pcibios_fixup_bus(struct pci_bus *bus)
 {
 /* When called from the generic PCI probe, read PCI&amp;lt;-&amp;gt;PCI bridge
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1019,9 +994,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void __devinit pcibios_fixup_bus(struct pci_bus *bus)
 
 /* Now fixup the bus bus */
 pcibios_setup_bus_self(bus);
-
-/* Now fixup devices on that bus */
-pcibios_setup_bus_devices(bus);
 }
 EXPORT_SYMBOL(pcibios_fixup_bus);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1512,6 +1484,38 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void __devinit pcibios_scan_phb(struct pci_controller *hose)
 hose-&amp;gt;last_busno = bus-&amp;gt;busn_res.end;
 }
 
+static int pci_bus_notify(struct notifier_block *nb, unsigned long action,
+  void *data)
+{
+struct pci_dev *dev = to_pci_dev(data);
+
+switch (action) {
+case BUS_NOTIFY_ADD_DEVICE:
+/* Setup OF node pointer in archdata */
+dev-&amp;gt;dev.of_node = pci_device_to_OF_node(dev);
+
+/* Fixup NUMA node as it may not be setup yet by the generic
+ * code and is needed by the DMA init
+ */
+set_dev_node(&amp;amp;dev-&amp;gt;dev, pcibus_to_node(dev-&amp;gt;bus));
+
+/* Hook up default DMA ops */
+set_dma_ops(&amp;amp;dev-&amp;gt;dev, pci_dma_ops);
+dev-&amp;gt;dev.archdata.dma_data = (void *)PCI_DRAM_OFFSET;
+
+/* Read default IRQs and fixup if necessary */
+pci_read_irq_line(dev);
+
+break;
+}
+
+return 0;
+}
+
+static struct notifier_block device_nb = {
+.notifier_call = pci_bus_notify,
+};
+
 static int __init pcibios_init(void)
 {
 struct pci_controller *hose, *tmp;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1519,6 +1523,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init pcibios_init(void)
 
 printk(KERN_INFO "PCI: Probing PCI hardware\n");
 
+bus_register_notifier(&amp;amp;pci_bus_type, &amp;amp;device_nb);
+
 /* Scan all of the recorded PCI controllers.  */
 list_for_each_entry_safe(hose, tmp, &amp;amp;hose_list, list_node) {
 hose-&amp;gt;last_busno = 0xff;
&lt;/pre&gt;</description>
    <dc:creator>Bjorn Helgaas</dc:creator>
    <dc:date>2012-05-23T22:37:05</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50730">
    <title>[PATCH v3 1/2] powerpc/PCI: move DMA &amp; IRQ init to device_add() notification path</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50730</link>
    <description>&lt;pre&gt;From: Hiroo Matsumoto &amp;lt;matsumoto.hiroo&amp;lt; at &amp;gt;jp.fujitsu.com&amp;gt;

PowerPC initialized DMA and IRQ information in the pci_scan_child_bus()
-&amp;gt; pcibios_fixup_bus() path.  Some hotplug drivers use that path, but
others don't, e.g., pciehp, so sometimes hot-added devices are only
partly initialized.

This patch moves that initialization from pcibios_fixup_bus() to a new
pci_bus_notify() called in the pci_bus_add_device() -&amp;gt; device_add() path.
That means the initialization happens the same way for all PCI devices,
whether they are present at boot or hot-added later.

Note that powerpc was the only user of pci_fixup_cardbus(), which was
used to do this same setup for cardbus devices.  That's no longer
needed because this setup will now be done in the same device_add()
notification path as all other PCI devices.

Typical failure of a hot-added e1000e device prior to this change:

    # echo 1 &amp;gt; /sys/bus/pci/slots/1/power
    &amp;lt;snip&amp;gt;
    e1000e 0000:03:00.0: enabling device (0000 -&amp;gt; 0002)
    e1000e 0000:03:00.0: No usable DMA configuration, aborting
    e1000e: probe of 0000:03:00.0 failed with error -5

Successful initialization after this change:

    # echo 1 &amp;gt; /sys/bus/pci/slots/1/power
    &amp;lt;snip&amp;gt;
    e1000e 0000:03:00.0: enabling device (0000 -&amp;gt; 0002)
    irq: irq 6 on host /soc&amp;lt; at &amp;gt;ffe00000/msi&amp;lt; at &amp;gt;41600 mapped to virtual irq 27
    e1000e 0000:03:00.0: eth0: (PCI Express:2.5GT/s:Width x1) 00:15:17:bf:c0:c9
    e1000e 0000:03:00.0: eth0: Intel(R) PRO/1000 Network Connection
    e1000e 0000:03:00.0: eth0: MAC: 1, PHY: 4, PBA No: D50861-003

[bhelgaas: changelog, notifier name, registration can be __init]
CC: Dominik Brodowski &amp;lt;linux&amp;lt; at &amp;gt;dominikbrodowski.net&amp;gt;
Signed-off-by: Hiroo MATSUMOTO &amp;lt;matsumoto.hiroo&amp;lt; at &amp;gt;jp.fujitsu.com&amp;gt;
Signed-off-by: Bjorn Helgaas &amp;lt;bhelgaas&amp;lt; at &amp;gt;google.com&amp;gt;
---
 arch/powerpc/include/asm/pci.h             |    2 -
 arch/powerpc/kernel/pci-common.c           |   87 ++++++++++++++--------------
 arch/powerpc/kernel/pci_32.c               |    2 +
 arch/powerpc/kernel/pci_64.c               |    2 +
 arch/powerpc/kernel/pci_of_scan.c          |    1 
 arch/powerpc/platforms/pseries/pci_dlpar.c |    1 
 drivers/pci/pci.c                          |    5 --
 drivers/pcmcia/cardbus.c                   |    3 -
 include/linux/pci.h                        |    3 -
 9 files changed, 49 insertions(+), 57 deletions(-)

diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h
index 6653f27..d6a36a4 100644
--- a/arch/powerpc/include/asm/pci.h
+++ b/arch/powerpc/include/asm/pci.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,10 +183,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
  resource_size_t *start, resource_size_t *end);
 
 extern resource_size_t pcibios_io_space_offset(struct pci_controller *hose);
-extern void pcibios_setup_bus_devices(struct pci_bus *bus);
 extern void pcibios_setup_bus_self(struct pci_bus *bus);
 extern void pcibios_setup_phb_io_space(struct pci_controller *hose);
 extern void pcibios_scan_phb(struct pci_controller *hose);
+extern void pcibios_setup_bus_notifier(void);
 
 #endif/* __KERNEL__ */
 #endif /* __ASM_POWERPC_PCI_H */
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 7320f36..41b39ba 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1009,40 +1009,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void __devinit pcibios_setup_bus_self(struct pci_bus *bus)
 ppc_md.pci_dma_bus_setup(bus);
 }
 
-void __devinit pcibios_setup_bus_devices(struct pci_bus *bus)
-{
-struct pci_dev *dev;
-
-pr_debug("PCI: Fixup bus devices %d (%s)\n",
- bus-&amp;gt;number, bus-&amp;gt;self ? pci_name(bus-&amp;gt;self) : "PHB");
-
-list_for_each_entry(dev, &amp;amp;bus-&amp;gt;devices, bus_list) {
-/* Cardbus can call us to add new devices to a bus, so ignore
- * those who are already fully discovered
- */
-if (dev-&amp;gt;is_added)
-continue;
-
-/* Fixup NUMA node as it may not be setup yet by the generic
- * code and is needed by the DMA init
- */
-set_dev_node(&amp;amp;dev-&amp;gt;dev, pcibus_to_node(dev-&amp;gt;bus));
-
-/* Hook up default DMA ops */
-set_dma_ops(&amp;amp;dev-&amp;gt;dev, pci_dma_ops);
-set_dma_offset(&amp;amp;dev-&amp;gt;dev, PCI_DRAM_OFFSET);
-
-/* Additional platform DMA/iommu setup */
-if (ppc_md.pci_dma_dev_setup)
-ppc_md.pci_dma_dev_setup(dev);
-
-/* Read default IRQs and fixup if necessary */
-pci_read_irq_line(dev);
-if (ppc_md.pci_irq_fixup)
-ppc_md.pci_irq_fixup(dev);
-}
-}
-
 void pcibios_set_master(struct pci_dev *dev)
 {
 /* No special bus mastering setup handling */
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1059,19 +1025,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void __devinit pcibios_fixup_bus(struct pci_bus *bus)
 
 /* Now fixup the bus bus */
 pcibios_setup_bus_self(bus);
-
-/* Now fixup devices on that bus */
-pcibios_setup_bus_devices(bus);
 }
 EXPORT_SYMBOL(pcibios_fixup_bus);
 
-void __devinit pci_fixup_cardbus(struct pci_bus *bus)
-{
-/* Now fixup devices on that bus */
-pcibios_setup_bus_devices(bus);
-}
-
-
 static int skip_isa_ioresource_align(struct pci_dev *dev)
 {
 if (pci_has_flag(PCI_CAN_SKIP_ISA_ALIGN) &amp;amp;&amp;amp;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1685,6 +1641,49 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void __devinit pcibios_scan_phb(struct pci_controller *hose)
 }
 }
 
+static int pci_bus_notify(struct notifier_block *nb, unsigned long action,
+  void *data)
+{
+struct pci_dev *dev = to_pci_dev(data);
+
+switch (action) {
+case BUS_NOTIFY_ADD_DEVICE:
+/* Setup OF node pointer in the device */
+dev-&amp;gt;dev.of_node = pci_device_to_OF_node(dev);
+
+/* Fixup NUMA node as it may not be setup yet by the generic
+ * code and is needed by the DMA init
+ */
+set_dev_node(&amp;amp;dev-&amp;gt;dev, pcibus_to_node(dev-&amp;gt;bus));
+
+/* Hook up default DMA ops */
+set_dma_ops(&amp;amp;dev-&amp;gt;dev, pci_dma_ops);
+set_dma_offset(&amp;amp;dev-&amp;gt;dev, PCI_DRAM_OFFSET);
+
+/* Additional platform DMA/iommu setup */
+if (ppc_md.pci_dma_dev_setup)
+ppc_md.pci_dma_dev_setup(dev);
+
+/* Read default IRQs and fixup if necessary */
+pci_read_irq_line(dev);
+if (ppc_md.pci_irq_fixup)
+ppc_md.pci_irq_fixup(dev);
+
+break;
+}
+
+return 0;
+}
+
+static struct notifier_block device_nb = {
+.notifier_call = pci_bus_notify,
+};
+
+void __init pcibios_setup_bus_notifier(void)
+{
+bus_register_notifier(&amp;amp;pci_bus_type, &amp;amp;device_nb);
+}
+
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
 int i, class = dev-&amp;gt;class &amp;gt;&amp;gt; 8;
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c
index 4b06ec5..640cc35 100644
--- a/arch/powerpc/kernel/pci_32.c
+++ b/arch/powerpc/kernel/pci_32.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -231,6 +231,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init pcibios_init(void)
 
 printk(KERN_INFO "PCI: Probing PCI hardware\n");
 
+pcibios_setup_bus_notifier();
+
 if (pci_has_flag(PCI_REASSIGN_ALL_BUS))
 pci_assign_all_buses = 1;
 
diff --git a/arch/powerpc/kernel/pci_64.c b/arch/powerpc/kernel/pci_64.c
index 4ff190f..8b212d3 100644
--- a/arch/powerpc/kernel/pci_64.c
+++ b/arch/powerpc/kernel/pci_64.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -48,6 +48,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static int __init pcibios_init(void)
 
 printk(KERN_INFO "PCI: Probing PCI hardware\n");
 
+pcibios_setup_bus_notifier();
+
 /* For now, override phys_mem_access_prot. If we need it,g
  * later, we may move that initialization to each ppc_md
  */
diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c
index ae5ea5e..eb09eca 100644
--- a/arch/powerpc/kernel/pci_of_scan.c
+++ b/arch/powerpc/kernel/pci_of_scan.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -333,7 +333,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; static void __devinit __of_scan_bus(struct device_node *node,
  */
 if (!rescan_existing)
 pcibios_setup_bus_self(bus);
-pcibios_setup_bus_devices(bus);
 
 /* Now scan child busses */
 list_for_each_entry(dev, &amp;amp;bus-&amp;gt;devices, bus_list) {
diff --git a/arch/powerpc/platforms/pseries/pci_dlpar.c b/arch/powerpc/platforms/pseries/pci_dlpar.c
index 3ccebc8..0b1b6b3 100644
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -120,7 +120,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; void pcibios_add_pci_devices(struct pci_bus * bus)
 num = pci_scan_slot(bus, PCI_DEVFN(slotno, 0));
 if (!num)
 return;
-pcibios_setup_bus_devices(bus);
 max = bus-&amp;gt;busn_res.start;
 for (pass=0; pass &amp;lt; 2; pass++)
 list_for_each_entry(dev, &amp;amp;bus-&amp;gt;devices, bus_list) {
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 15d442a..43e0a4f 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -3789,11 +3789,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int __attribute__ ((weak)) pci_ext_cfg_avail(struct pci_dev *dev)
 return 1;
 }
 
-void __weak pci_fixup_cardbus(struct pci_bus *bus)
-{
-}
-EXPORT_SYMBOL(pci_fixup_cardbus);
-
 static int __init pci_setup(char *str)
 {
 while (str) {
diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c
index 24caeaf..a980691 100644
--- a/drivers/pcmcia/cardbus.c
+++ b/drivers/pcmcia/cardbus.c
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -71,7 +71,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int __ref cb_alloc(struct pcmcia_socket *s)
 unsigned int max, pass;
 
 s-&amp;gt;functions = pci_scan_slot(bus, PCI_DEVFN(0, 0));
-pci_fixup_cardbus(bus);
 
 max = bus-&amp;gt;busn_res.start;
 for (pass = 0; pass &amp;lt; 2; pass++)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,7 +84,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int __ref cb_alloc(struct pcmcia_socket *s)
  */
 pci_bus_size_bridges(bus);
 pci_bus_assign_resources(bus);
-cardbus_config_irq_and_cls(bus, s-&amp;gt;pci_irq);
 
 /* socket specific tune function */
 if (s-&amp;gt;tune_bridge)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -93,6 +91,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int __ref cb_alloc(struct pcmcia_socket *s)
 
 pci_enable_bridges(bus);
 pci_bus_add_devices(bus);
+cardbus_config_irq_and_cls(bus, s-&amp;gt;pci_irq);
 
 return 0;
 }
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a0e2d7f..3924c02 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -651,9 +651,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; resource_size_t pcibios_align_resource(void *, const struct resource *,
 resource_size_t);
 void pcibios_update_irq(struct pci_dev *, int irq);
 
-/* Weak but can be overriden by arch */
-void pci_fixup_cardbus(struct pci_bus *);
-
 /* Generic PCI functions used internally */
 
 void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
&lt;/pre&gt;</description>
    <dc:creator>Bjorn Helgaas</dc:creator>
    <dc:date>2012-05-23T22:37:00</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50729">
    <title>[PATCH v3 0/2] archdata init in device_add() notifier</title>
    <link>http://permalink.gmane.org/gmane.linux.ports.ppc.embedded/50729</link>
    <description>&lt;pre&gt;Here's what I put in my "for-3.6" branch for now.  We can still change
it, so let me know if you see any problems.

I reworked the changelogs, changed the notification function name per
Jesse, folded the one-line pcibios_setup_bus_notifier() into the only
caller (on microblaze), and changed it from __devinit to __init (on
powerpc) since it now has nothing to do with hotplug.

Thank you very much for doing this work, Matsumoto-san.  I hope to
eventually get rid of pcibios_fixup_bus() altogether, and this is a
significant step in that direction.

Bjorn
---

Hiroo Matsumoto (2):
      powerpc/PCI: move DMA &amp;amp; IRQ init to device_add() notification path
      microblaze/PCI: move DMA &amp;amp; IRQ init to device_add() notification path


 arch/microblaze/include/asm/pci.h          |    1 
 arch/microblaze/pci/pci-common.c           |   62 +++++++++++---------
 arch/powerpc/include/asm/pci.h             |    2 -
 arch/powerpc/kernel/pci-common.c           |   87 ++++++++++++++--------------
 arch/powerpc/kernel/pci_32.c               |    2 +
 arch/powerpc/kernel/pci_64.c               |    2 +
 arch/powerpc/kernel/pci_of_scan.c          |    1 
 arch/powerpc/platforms/pseries/pci_dlpar.c |    1 
 drivers/pci/pci.c                          |    5 --
 drivers/pcmcia/cardbus.c                   |    3 -
 include/linux/pci.h                        |    3 -
 11 files changed, 83 insertions(+), 86 deletions(-)
&lt;/pre&gt;</description>
    <dc:creator>Bjorn Helgaas</dc:creator>
    <dc:date>2012-05-23T22:36:55</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.linux.ports.ppc.embedded">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.linux.ports.ppc.embedded</link>
  </textinput>
</rdf:RDF>

