Re: tracking of PCI address space

2009-04-09 Thread Benjamin Herrenschmidt
On Wed, 2009-04-08 at 15:53 -0500, Kumar Gala wrote:
 I was wondering if we have anything that tracks regions associated  
 with the inbound side of a pci_bus.
 
 What I mean is on embedded PPC we have window/mapping registers for  
 both inbound (accessing memory on the SoC) and outbound (access PCI  
 device MMIO, IO etc).  The combination of the inbound  outbound  
 convey what exists in the PCI address space vs CPU physical address  
 space (and how to map from one to the other).  Today in the PPC land  
 we only attach outbound windows to the pci_bus.  So technically the  
 inbound side information (like what subset of physical memory is  
 visible on the PCI bus) seems to be lost.

On powerpc, we do keep track of the offset, but that's about it.

Tracking inbound ranges is very platform specific though. You can have
multiple inbound windows with different translations, in some cases some
via iommu and some not, or windows aliasing the same target memory but
with different attributes, etc...

I don't think there's that much interest in trying to create generic
code to keep track.

Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: tracking of PCI address space

2009-04-09 Thread Grant Grundler
On Wed, Apr 08, 2009 at 03:53:55PM -0500, Kumar Gala wrote:
 I was wondering if we have anything that tracks regions associated with 
 the inbound side of a pci_bus.

 What I mean is on embedded PPC we have window/mapping registers for both 
 inbound (accessing memory on the SoC) and outbound (access PCI device 
 MMIO, IO etc).  The combination of the inbound  outbound convey what 
 exists in the PCI address space vs CPU physical address space (and how to 
 map from one to the other).

Most PCI Host bus controllers will negatively decode the outbound ranges
for inbound traffic.

PARISC and IA64 have extra registers to play some games with that. But
routing between PCI bus controllers to make them look like a single PCI
segment was the main intent of that. I've not found any other uses
to subvert that.

  Today in the PPC land we only attach 
 outbound windows to the pci_bus.  So technically the inbound side 
 information (like what subset of physical memory is visible on the PCI 
 bus) seems to be lost.

What did you need inbound routing map for?

thanks,
grant
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: tracking of PCI address space

2009-04-09 Thread Tirumala Reddy Marri
I agree. Every processor(SOC) has unique of setting inbound window. What I 
noticed is Inbound regions are created big enough to map whole DDR region.  And 
uses physical address of ram as a source/destination address.  For example if a 
PCI-E SATA card wants to do DMA transfers to DDR region. It will create 
dma_alloc_noncoherent() region and uses physical address as source/destination 
address for data transfers. 



From: linuxppc-dev-bounces+tmarri=amcc@ozlabs.org on behalf of Benjamin 
Herrenschmidt
Sent: Wed 4/8/2009 11:21 PM
To: Kumar Gala
Cc: linux-...@vger.kernel.org; Linux Kernel Mailing List; Jesse Barnes; 
Linux/PPC Development
Subject: Re: tracking of PCI address space



On Wed, 2009-04-08 at 15:53 -0500, Kumar Gala wrote:
 I was wondering if we have anything that tracks regions associated 
 with the inbound side of a pci_bus.

 What I mean is on embedded PPC we have window/mapping registers for 
 both inbound (accessing memory on the SoC) and outbound (access PCI 
 device MMIO, IO etc).  The combination of the inbound  outbound 
 convey what exists in the PCI address space vs CPU physical address 
 space (and how to map from one to the other).  Today in the PPC land 
 we only attach outbound windows to the pci_bus.  So technically the 
 inbound side information (like what subset of physical memory is 
 visible on the PCI bus) seems to be lost.

On powerpc, we do keep track of the offset, but that's about it.

Tracking inbound ranges is very platform specific though. You can have
multiple inbound windows with different translations, in some cases some
via iommu and some not, or windows aliasing the same target memory but
with different attributes, etc...

I don't think there's that much interest in trying to create generic
code to keep track.

Ben.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

MPC5200 FEC driver crashing on 2.6.30-rc1....

2009-04-09 Thread David Jander

Hi all,

Seems like there are some NAPI changes not being (correctly) applied to the 
MPC5200 FEC driver...

[ 1319.265289] [ cut here ]
[ 1319.274699] kernel BUG at .../arch/powerpc/include/asm/dma-mapping.h:164!
[ 1319.297488] Oops: Exception in kernel mode, sig: 5 [#1]
[ 1319.308086] PREEMPT mpc5200-simple-platform
[ 1319.316572] Modules linked in:
[ 1319.322773] NIP: c01dbef8 LR: c01dbec8 CTR: 
[ 1319.332852] REGS: c3a9dc80 TRAP: 0700   Not tainted  
(2.6.29-07103-gd0b70e8-dirty)
[ 1319.348212] MSR: 00029032 EE,ME,CE,IR,DR  CR: 42008448  XER: 2000
[ 1319.361684] TASK = c387acb0[1876] 'ifconfig' THREAD: c3a9c000
[ 1319.372988] GPR00: 0001 c3a9dd30 c387acb0 c3a13820  c3a13820 
c3a13e11 c520
[ 1319.389982] GPR08: 0001  c5001000 0008 22008444 100adabc 
03fc1000 0001
[ 1319.406973] GPR16:   007fff00 03fbb790 c3a9de08 8914 
c388410c c386b400
[ 1319.423967] GPR24: c3884100 c394b640 c040 c386b5e8 c386b400 c5001000 
c39c3600 c39bb3c0
[ 1319.441359] NIP [c01dbef8] mpc52xx_fec_alloc_rx_buffers+0xac/0x1a8
[ 1319.453914] LR [c01dbec8] mpc52xx_fec_alloc_rx_buffers+0x7c/0x1a8
[ 1319.466276] Call Trace:
[ 1319.471250] [c3a9dd30] [c01dbeb0] mpc52xx_fec_alloc_rx_buffers+0x64/0x1a8 
(unreliable)
[ 1319.487345] [c3a9dd60] [c01dc444] mpc52xx_fec_open+0x128/0x2d0
[ 1319.499221] [c3a9dda0] [c02458f4] dev_open+0xc0/0x118
[ 1319.509493] [c3a9ddc0] [c0244678] dev_change_flags+0x84/0x1ac
[ 1319.521176] [c3a9dde0] [c028b1b8] devinet_ioctl+0x638/0x758
[ 1319.532501] [c3a9de50] [c028bca8] inet_ioctl+0xcc/0xf8
[ 1319.542956] [c3a9de60] [c02325a8] sock_ioctl+0x60/0x2e8
[ 1319.553576] [c3a9de80] [c0096e44] vfs_ioctl+0x40/0xc0
[ 1319.563840] [c3a9dea0] [c009728c] do_vfs_ioctl+0x3c8/0x748
[ 1319.574986] [c3a9df10] [c009764c] sys_ioctl+0x40/0x74
[ 1319.585284] [c3a9df40] [c0011878] ret_from_syscall+0x0/0x38
[ 1319.596606] --- Exception: c01 at 0xfe8b6a4
[ 1319.596622] LR = 0xff0573c
[ 1319.611264] Instruction dump:
[ 1319.617281] a13f0018 380005f2 817f0020 815f000c 7d2959d6 7c09512e 7fa95214 
80be0098
[ 1319.633037] 41920104 813c0264 7d200034 5400d97e 0f00 801a5218 3c854000 
7f63db78
[ 1319.649160] ---[ end trace a3057d5e6d98e2c6 ]---

Best regards,

-- 
David Jander
Protonic Holland.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] AOA: Convert onyx and tas codecs to new-style i2c drivers

2009-04-09 Thread Johannes Berg
Hi Jean!

 Yes, probing would be duplicated if we had to support more than one
 bus. But as far as I can see, the onyx and tas devices can only be
 found on i2c-powermac buses, so this shouldn't be an issue. And there
 isn't really any probing going on, it's really only a matter of walking
 a small subset of the device tree (the children of the I2C bus) and
 instantiating I2C devices.

Right, it was just an unrelated thought, it's not related to this in
particular.

  Now, aoa will currently automatically load from the layout fabric
  module, and then pull in the modules for the codecs it _knows_ to be
  present on the bus. Therefore, it seems that your patch makes things
  less efficient because you probe for all those codecs, and there's no
  machine that has all of them. The aoa fabric only loads the modules for
  those it knows to be present, and they then probe (and in reality the
  probing never fails because they really are there).
 
 Can you please point me to the layout fabric / aoa fabric? I'd like to
 understand how it works. Then I may be able to rewrite my patch
 completely differently.

That's in sound/aoa/fabric/layout.c

 There are basically two ways to instantiate I2C devices in the new
 model. The first method is to declare the I2C devices as platform data
 and let i2c-core instantiate them. The second method is to have the i2c
 bus driver instantiate the clients. My patch uses the second method
 because I didn't know how to use the first method. However using the
 first method would solve the issues you raised. But I need some help
 from someone more familiar with the powermac platform initialization
 code to get it right.

Interesting. Does it need to be _platform_ data, or could
sound/aoa/fabric/layout.c declare the devices instead?

  Now, since aoa needs information on how the entire system is glued
  together (the fabric I was talking about with the line-in example), it
  has to infer that from platform data, in this case the device tree.
  Because I do not have any older machines, am lazy and snd-powermac works
  for the old machines, snd-powermac with its tumbler is a driver for
  the same tas3004 codec, but on a different, older, fabric.
 
 I think I've found that one by now (snd_pmac_detect in
 sound/ppc/pmac.c, right?), thanks for the clarification.

That's snd-powermac, yes.

 BTW, that code doesn't seem significantly different from what my patch
 is adding to i2c-powermac.

That would be true, yes, with your patch I don't understand how to load
snd-powermac _or_ snd-aoa based on the platform data (or in the case of
snd-powermac, not load it automatically at all).

 Hmm, OK, I expected the code I moved from the aoa drivers to
 i2c-powermac to only match the subset of machines actually supported by
 aoa. If that's not the case then indeed it is incorrect.

Yeah, that's not the case, I think the 'deq' node will be present on
older machines as well and you would load snd-aoa-codec-tas where
snd-powermac should be loaded.

  Therefore, probing the codecs in i2c-powermac and automatically loading
  the corresponding aoa module will break sound on old machines.
 
 Does this mean that manually loading snd_aoa_codec_tas today on an old
 system with a TAS would break sound too?

Yes, I'm pretty sure it does on some systems. Actually, I'm not entirely
sure, because I don't know whether the i2c core will prevent two drivers
from talking to the same chip on the same bus, and if it doesn't then
this might still work but it would at least be very strange wrt. suspend
resume.

 Anyway, the key point of my patch is to get rid of the legacy i2c
 binding model, not efficiency.

Yes, I understand :)

  Since I'm away from all machines I could test this with I have no data
  on any that or the module device table thing I pointed out for now.
  
  Anyway, some more technical comments on your patch:
   * I realise you just copied things around but it would be nice to clean
 up the coding style, especially comment style, a little while at it.
 (yeah, it's my fault)
 
 I can fix anything you like, just tell me what :)

I think CodingStyle wants
 /*
  * ...
  * ...
  */

   * aoa_codec_* is the module name, I see no reason to use that as the
 i2c name, that should be the codec's name instead (aka pcm3052 etc)
 
 The names are totally arbitrary and we can change them if you like.
 Keep in mind though that we should avoid using mere chip names for
 non-generic drivers. The aoa drivers are powermac-specific, we don't
 want the names we pick to collide with another driver, that's why I
 chose to keep the aoa prefix.

Oh ok, that kinda ties in with my very first question about what happens
if the same chip is known in different contexts, on different buses etc.
Makes sense in that case I guess. But I still think that you shouldn't
auto-load the aoa codec modules based on this anyway.

johannes


signature.asc
Description: This is a digitally signed message part

problem with yellowstone

2009-04-09 Thread rizwan ahmad


-- 
View this message in context: 
http://www.nabble.com/problem-with-yellowstone-tp22967168p22967168.html
Sent from the linuxppc-dev mailing list archive at Nabble.com.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


problem with yellowstone

2009-04-09 Thread rizwan ahmad

I am using VIA VT6421 pci chipset.. 
when i am connecting my 250GB SATA drive i am getting this dump it seems
that interrupt from UIC0(interrupt 25) wich is hooked to PCI_INTA is not
getting cleared and because of this interrupt is not getting cleared it is
calling interrupt handler 10 times and then give up.

so please mail me if there is any way to clear the interrupt or anything
which could help.

I IBM/AMCC PowerPC 440 GR Rev. B
Board: AMCC YELLOWSTONE
   VCO: 1066 MHz
   CPU: 533 MHz
   PLB: 133 MHz
   OPB: 66 MHz
   PER: 66 MHz
   PCI: 33 MHz
I2C:   ready
DRAM:  256 MB
FLASH: 32 MB
PCI:   Bus Dev VenId DevId Class Int
   00  0c  1106  3038  0c03  00
   00  0c  1106  3038  0c03  00
   00  0c  1106  3104  0c03  00
   00  0c  1106  3249  0104  0e
In:serial
Out:   serial
Err:   serial
Net:   ppc_440x_eth0, ppc_440x_eth1
Hit any key to stop autoboot:  0
= tftp 20 ij4
Waiting for PHY auto negotiation to complete.. done
Using ppc_440x_eth0 device
TFTP from server 192.168.0.100; our IP address is 192.168.0.101
Filename 'ij4'.
Load address: 0x20
Loading: T
#
   
#
   
#
   
#

done
Bytes transferred = 1408179 (157cb3 hex)
= bootm
## Booting image at 0020 ...
  Image Name:   Linux-2.6.26.8
  Created:  2009-04-01  10:33:56 UTC
  Image Type:   PowerPC Linux Kernel Image (gzip compressed)
  Data Size:1408115 Bytes =  1.3 MB
  Load Address: 
  Entry Point:  
  Verifying Checksum ... OK
  Uncompressing Kernel Image ... OK
Linux version 2.6.26.8 (r...@debian) (gcc version 4.2.2) #24 Wed Apr 1
03:32:139AMCC PowerPC 440GR Yellowstone Platform
Zone PFN ranges:
 DMA 0 -65536
 Normal  65536 -65536
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
   0:0 -65536
Built 1 zonelists in Zone order, mobility grouping on.  Total pages:
65024
Kernel command line: root=/dev/nfs rw
nfsroot=192.168.0.100:/opt/eldk4.2/ppc_4xlMisrouted IRQ fixup and polling
support enabled
This may significantly impact system performance
PID hash table entries: 1024 (order: 10, 4096 bytes)
console [ttyS0] enabled
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256768k available (2120k kernel code, 716k data, 156k init, 0k
highmem)
Mount-cache hash table entries: 512
net_namespace: 480 bytes
NET: Registered protocol family 16
PCI: Probing PCI hardware
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 501
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at MMIO 0x0 (irq = 0) is a 16550A
serial8250: ttyS1 at MMIO 0x0 (irq = 1) is a 16550A
brd: module loaded
PPC 4xx OCP EMAC driver, version 3.54
mal0: initialized, 4 TX channels, 2 RX channels
zmii0: bridge in RMII mode
eth0: emac0, MAC 00:10:ec:00:89:89
eth0: found Generic MII PHY (0x01)
eth1: emac1, MAC 00:10:ec:80:89:89
eth1: found Generic MII PHY (0x03)
Uniform Multi-Platform E-IDE driver
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
ide_generic: please use probe_mask=0x3f module parameter for probing
all legasDriver 'sd' needs updating - please use bus_type methods

sata_via :00:0c.3: routed to hard irq line 9
   
irq 25: nobody cared (try booting with the irqpoll option)
Call Trace:
[cfc21ac0] [c0008344] show_stack+0x44/0x1ac (unreliable)
[cfc21b00] [c003ec14] __report_bad_irq+0x34/0xb8
[cfc21b20] [c003ef20] note_interrupt+0x288/0x2f0
[cfc21b50] [c003e1b4] __do_IRQ+0x100/0x118
[cfc21b70] [c0006784] do_IRQ+0xbc/0xc0
[cfc21b80] [c0001c64] ret_from_except+0x0/0x18
[cfc21c40] [] 0x0
[cfc21c60] [c000650c] do_softirq+0x54/0x58
[cfc21c70] [c001e97c] irq_exit+0x48/0x58
[cfc21c80] [c0006734] do_IRQ+0x6c/0xc0
[cfc21c90] [c0001c64] 

Re: [PATCH v3 0/5] i2c: i2c-mpc: make I2C bus speed configurable

2009-04-09 Thread Wolfgang Grandegger
Wolfgang Grandegger wrote:
 Kumar Gala wrote:
 On Apr 8, 2009, at 2:25 AM, Wolfgang Grandegger wrote:

 So I'm a bit concerned with the output we now get:

 mpc-i2c fffe03000.i2c: clock 0 Hz (dfsrr=16 fdr=49)

 why 0? is that right?
 This is the backward compatibility mode using hard-coded FDR values. The
 output is missleading, I agree.

 Wolfgang.
 Can the output be fixed.  0 Hz seemed bad to me.
 
 Of course. No info message will be printed for the legacy case
 like it was with the old driver version. I just realized a bug in the
 MPC52xx part. Will send patches tomorrow, after some more thorough testing.

The patch below fixes both issues. Ben, could you please apply it. Sorry for
the inconvenience caused.

Thanks,

Wolfgang.



[PATCH] i2c: i2c-mpc: bug fix for MPC52xx clock setting and printout

The clock setting did not work for the MPC52xx due to a stupid bug.
Furthermore, the dev info output clock=0 for old device trees was
misleading. This patch fixes both issues.

Signed-off-by: Wolfgang Grandegger w...@grandegger.com
---
 drivers/i2c/busses/i2c-mpc.c |   34 --
 1 file changed, 20 insertions(+), 14 deletions(-)

Index: linux-2.6-galak/drivers/i2c/busses/i2c-mpc.c
===
--- linux-2.6-galak.orig/drivers/i2c/busses/i2c-mpc.c   2009-04-08 
21:51:31.771719368 +0200
+++ linux-2.6-galak/drivers/i2c/busses/i2c-mpc.c2009-04-09 
11:18:45.812969033 +0200
@@ -164,7 +164,7 @@
return 0;
 }
 
-#ifdef CONFIG_PPC_52xx
+#ifdef CONFIG_PPC_MPC52xx
 static const struct mpc_i2c_divider mpc_i2c_dividers_52xx[] = {
{20, 0x20}, {22, 0x21}, {24, 0x22}, {26, 0x23},
{28, 0x24}, {30, 0x01}, {32, 0x25}, {34, 0x02},
@@ -188,7 +188,7 @@
 
 int mpc_i2c_get_fdr_52xx(struct device_node *node, u32 clock, int prescaler)
 {
-   const struct mpc52xx_i2c_divider *div = NULL;
+   const struct mpc_i2c_divider *div = NULL;
unsigned int pvr = mfspr(SPRN_PVR);
u32 divider;
int i;
@@ -203,7 +203,7 @@
 * We want to choose an FDR/DFSR that generates an I2C bus speed that
 * is equal to or lower than the requested speed.
 */
-   for (i = 0; i  ARRAY_SIZE(mpc52xx_i2c_dividers); i++) {
+   for (i = 0; i  ARRAY_SIZE(mpc_i2c_dividers_52xx); i++) {
div = mpc_i2c_dividers_52xx[i];
/* Old MPC5200 rev A CPUs do not support the high bits */
if (div-fdr  0xc0  pvr == 0x80822011)
@@ -219,20 +219,23 @@
  struct mpc_i2c *i2c,
  u32 clock, u32 prescaler)
 {
-   int fdr = mpc52xx_i2c_get_fdr(node, clock, prescaler);
+   int ret, fdr;
+
+   ret = mpc_i2c_get_fdr_52xx(node, clock, prescaler);
+   fdr = (ret = 0) ? ret : 0x3f; /* backward compatibility */
 
-   if (fdr  0)
-   fdr = 0x3f; /* backward compatibility */
writeb(fdr  0xff, i2c-base + MPC_I2C_FDR);
-   dev_info(i2c-dev, clock %d Hz (fdr=%d)\n, clock, fdr);
+
+   if (ret = 0)
+   dev_info(i2c-dev, clock %d Hz (fdr=%d)\n, clock, fdr);
 }
-#else /* !CONFIG_PPC_52xx */
+#else /* !CONFIG_PPC_MPC52xx */
 static void mpc_i2c_setclock_52xx(struct device_node *node,
  struct mpc_i2c *i2c,
  u32 clock, u32 prescaler)
 {
 }
-#endif /* CONFIG_PPC_52xx*/
+#endif /* CONFIG_PPC_MPC52xx*/
 
 #ifdef CONFIG_FSL_SOC
 static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = {
@@ -321,14 +324,17 @@
  struct mpc_i2c *i2c,
  u32 clock, u32 prescaler)
 {
-   int fdr = mpc_i2c_get_fdr_8xxx(node, clock, prescaler);
+   int ret, fdr;
+
+   ret = mpc_i2c_get_fdr_8xxx(node, clock, prescaler);
+   fdr = (ret = 0) ? ret : 0x1031; /* backward compatibility */
 
-   if (fdr  0)
-   fdr = 0x1031; /* backward compatibility */
writeb(fdr  0xff, i2c-base + MPC_I2C_FDR);
writeb((fdr  8)  0xff, i2c-base + MPC_I2C_DFSRR);
-   dev_info(i2c-dev, clock %d Hz (dfsrr=%d fdr=%d)\n,
-clock, fdr  8, fdr  0xff);
+
+   if (ret = 0)
+   dev_info(i2c-dev, clock %d Hz (dfsrr=%d fdr=%d)\n,
+clock, fdr  8, fdr  0xff);
 }
 
 #else /* !CONFIG_FSL_SOC */
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] AOA: Convert onyx and tas codecs to new-style i2c drivers

2009-04-09 Thread Jean Delvare
Hi Johannes,

On Thu, 09 Apr 2009 09:44:49 +0200, Johannes Berg wrote:
  Can you please point me to the layout fabric / aoa fabric? I'd like to
  understand how it works. Then I may be able to rewrite my patch
  completely differently.
 
 That's in sound/aoa/fabric/layout.c

OK, I understand how it works now, thanks for pointing me to the
relevant piece of code. It's easier to modify the code when you
understand the current logic ;)

  There are basically two ways to instantiate I2C devices in the new
  model. The first method is to declare the I2C devices as platform data
  and let i2c-core instantiate them. The second method is to have the i2c
  bus driver instantiate the clients. My patch uses the second method
  because I didn't know how to use the first method. However using the
  first method would solve the issues you raised. But I need some help
  from someone more familiar with the powermac platform initialization
  code to get it right.
 
 Interesting. Does it need to be _platform_ data, or could
 sound/aoa/fabric/layout.c declare the devices instead?

It can be anywhere as long as it is early enough. Early enough means
that the code must run before device drivers can loaded. As
snd-aoa-fabric-layout can be built as a module, it doesn't seem right.

The idea is to assign fixed i2c bus numbers to the relevant i2c buses,
and declare the i2c devices connected to each bus by bus number and
device address. The i2c-powermac buses are created in
arch/powerpc/platforms/powermac/low_i2c.c, so you would have to
instantiate the i2c devices there too. That would basically mean
merging part of snd-aoa-fabric-layout into
arch/powerpc/platforms/powermac/low_i2c.c as I understand it, I don't
know if this sounds reasonable to you.

More generally, in order to instantiate an i2c device (for the new
binding model), you need at least two things: a reference to the
underlying i2c bus, and the address of the i2c device. The address can
be read from the device tree, but what is more difficult is to get the
reference to the underlying i2c bus. That reference can be the
i2c_adapter number (which only makes sense in a fixed-bus-number
scheme), or a pointer to the i2c_adapter. For now the powermac systems
do not have fixed i2c bus numbers, which is why I put the code
instantiating the devices in i2c-powermac: there I have a pointer to
the i2c_adapter.

So I think we have two options: switch the powermac systems to fixed
i2c bus numbers and instantiate the i2c sound devices from
arch/powerpc/platforms/powermac/*, or find a way to obtain a reference
to the relevant i2c_adapter.

I think I have found a way to achieve the latter. This isn't exactly
how the new model was supposed to work, but it has the advantage to be
way less intrusive than my original proposal. It may require larger
changes in the future as the i2c-core cleanups go on, but this should
do for now.

  (...)
  I think I've found that one by now (snd_pmac_detect in
  sound/ppc/pmac.c, right?), thanks for the clarification.
 
 That's snd-powermac, yes.
 
  BTW, that code doesn't seem significantly different from what my patch
  is adding to i2c-powermac.
 
 That would be true, yes, with your patch I don't understand how to load
 snd-powermac _or_ snd-aoa based on the platform data (or in the case of
 snd-powermac, not load it automatically at all).

My patch was really only about snd-aoa, it did not take care about
snd-powermac at all, because I expected them to be essentially
independent. Of course, if the code I added to i2c-powermac
instantiates devices on systems which were previous handled by
snd-powermac, it would break. More work would be needed to handle the
systems supported by snd-powermac.

 (...)
 Oh ok, that kinda ties in with my very first question about what happens
 if the same chip is known in different contexts, on different buses etc.
 Makes sense in that case I guess. But I still think that you shouldn't
 auto-load the aoa codec modules based on this anyway.

My new approach doesn't auto-load anything. Here we go, what you think?
This time there is no logic change, I'm really only turning legacy code
into new-style i2c code (basically calling i2c_new_device() instead of
i2c_attach_client()) and that's about it.

(Once again this is only build-tested and I would like people with the
hardware to give it a try.)

From: Jean Delvare kh...@linux-fr.org
Subject: AOA: Convert onyx and tas codecs to new-style i2c drivers

The legacy i2c binding model is going away soon, so convert the AOA
codec drivers to the new model or they'll break.

Signed-off-by: Jean Delvare kh...@linux-fr.org
Cc: Johannes Berg johan...@sipsolutions.net
Cc: Benjamin Herrenschmidt b...@kernel.crashing.org
---
 sound/aoa/codecs/onyx.c |   71 +--
 sound/aoa/codecs/tas.c  |   63 +
 2 files changed, 84 insertions(+), 50 deletions(-)

--- linux-2.6.30-rc1.orig/sound/aoa/codecs/onyx.c   2009-04-09 

Re: [PATCH] AOA: Convert onyx and tas codecs to new-style i2c drivers

2009-04-09 Thread Johannes Berg
Hi Jean,

 OK, I understand how it works now, thanks for pointing me to the
 relevant piece of code. It's easier to modify the code when you
 understand the current logic ;)

:)

 The idea is to assign fixed i2c bus numbers to the relevant i2c buses,
 and declare the i2c devices connected to each bus by bus number and
 device address. The i2c-powermac buses are created in
 arch/powerpc/platforms/powermac/low_i2c.c, so you would have to
 instantiate the i2c devices there too. That would basically mean
 merging part of snd-aoa-fabric-layout into
 arch/powerpc/platforms/powermac/low_i2c.c as I understand it, I don't
 know if this sounds reasonable to you.

That doesn't sound too hot -- the fabric module is quite a lot of code
and data.

 So I think we have two options: switch the powermac systems to fixed
 i2c bus numbers and instantiate the i2c sound devices from
 arch/powerpc/platforms/powermac/*, or find a way to obtain a reference
 to the relevant i2c_adapter.
 
 I think I have found a way to achieve the latter. This isn't exactly
 how the new model was supposed to work, but it has the advantage to be
 way less intrusive than my original proposal. It may require larger
 changes in the future as the i2c-core cleanups go on, but this should
 do for now.

Heh :)

 My new approach doesn't auto-load anything. Here we go, what you think?
 This time there is no logic change, I'm really only turning legacy code
 into new-style i2c code (basically calling i2c_new_device() instead of
 i2c_attach_client()) and that's about it.
 
 (Once again this is only build-tested and I would like people with the
 hardware to give it a try.)

Looks reasonable.

  static int onyx_create(struct i2c_adapter *adapter,
  struct device_node *node,
  int addr)
  {
 + struct i2c_board_info info;
 + struct i2c_client *client;
 +
 + memset(info, 0, sizeof(struct i2c_board_info));
 + strlcpy(info.type, aoa_codec_onyx, I2C_NAME_SIZE);
 + if (node) {
 + info.addr = addr;
 + info.platform_data = node;
 + client = i2c_new_device(adapter, info);
 + } else {
 + /* probe both possible addresses for the onyx chip */
 + unsigned short probe_onyx[] = {
 + 0x46, 0x47, I2C_CLIENT_END
 + };
 +
 + client = i2c_new_probed_device(adapter, info, probe_onyx);
 + }
 + if (!client)
 + return -ENODEV;
 +
 + list_add_tail(client-detected, client-driver-clients);

That list_add looks a little hackish, and wouldn't it be racy?

 +static const struct i2c_device_id onyx_i2c_id[] = {
 + { aoa_codec_onyx, 0 },
 + { }
 +};
 +MODULE_DEVICE_TABLE(i2c, onyx_i2c_id);

Should it really export the device table?

(same comments for tas)

It'll be until mid next week that I can test anything.

johannes


signature.asc
Description: This is a digitally signed message part
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Josh Boyer
On Wed, Apr 08, 2009 at 03:11:25PM -0600, John Linn wrote:
From: Suneel [mailto:suneel.garap...@xilinx.com]

Added support for the new xps tft controller.

The new core has PLB interface support in addition to existing
DCR interface.

The driver has been modified to support this new core which
can be connected on PLB or DCR bus.

Signed-off-by: Suneel sune...@xilinx.com
Signed-off-by: John Linn john.l...@xilinx.com
---
 drivers/video/xilinxfb.c |  227 --
 1 files changed, 160 insertions(+), 67 deletions(-)

diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
index a82c530..a28a834 100644
--- a/drivers/video/xilinxfb.c
+++ b/drivers/video/xilinxfb.c
@@ -1,17 +1,24 @@
 /*
- * xilinxfb.c
  *
- * Xilinx TFT LCD frame buffer driver
+ * Xilinx TFT frame buffer driver
  *
  * Author: MontaVista Software, Inc.
  * sou...@mvista.com
  *
  * 2002-2007 (c) MontaVista Software, Inc.
  * 2007 (c) Secret Lab Technologies, Ltd.
+ * 2009 (c) Xilinx Inc.
  *
- * This file is licensed under the terms of the GNU General Public License
- * version 2.  This program is licensed as is without any warranty of any
- * kind, whether express or implied.
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation;
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
+ * 02139, USA.
  */

What Stephen said.

 #define NUM_REGS  2
 #define REG_FB_ADDR   0
@@ -112,6 +123,11 @@ struct xilinxfb_drvdata {

   struct fb_info  info;   /* FB driver info record */

+  u32 regs_phys;  /* phys. address of the control
+  registers */

Is this driver usable on the 440 based Xilinx devices?  If so, is it possible
to have the physical address of the registers above 4GiB, so is common with
almost all the I/O on the other 440 boards?

+  void __iomem*regs;  /* virt. address of the control
+  registers */
+
   dcr_host_t  dcr_host;
   unsigned intdcr_start;
   unsigned intdcr_len;
@@ -120,6 +136,10 @@ struct xilinxfb_drvdata {
   dma_addr_t  fb_phys;/* phys. address of the frame buffer */
   int fb_alloced; /* Flag, was the fb memory alloced? */

+  u32 dcr_splb_slave_if;
+  /* True, if control interface is
+  connected through plb */
+

Do you need a full 32-bit variable for a simple boolean?  It might be best for
structure alignment, but you might want to look at using a flags variable or
something that could be extended with feature bits in a single word.

   u32 reg_ctrl_default;

   u32 pseudo_palette[PALETTE_ENTRIES_NO];
@@ -130,14 +150,19 @@ struct xilinxfb_drvdata {
   container_of(_info, struct xilinxfb_drvdata, info)

 /*
- * The LCD controller has DCR interface to its registers, but all
- * the boards and configurations the driver has been tested with
- * use opb2dcr bridge. So the registers are seen as memory mapped.
- * This macro is to make it simple to add the direct DCR access
- * when it's needed.
+ * The XPS TFT Controller can be accessed through PLB or DCR interface.
+ * To perform the read/write on the registers we need to check on
+ * which bus its connected and call the appropriate write API.
  */
-#define xilinx_fb_out_be32(driverdata, offset, val) \
-  dcr_write(driverdata-dcr_host, offset, val)
+static void xilinx_fb_out_be32(struct xilinxfb_drvdata *drvdata, u32 offset,
+  u32 val)
+{
+  if (drvdata-dcr_splb_slave_if == 1)
+  out_be32(drvdata-regs + (offset  2), val);
+  else
+  dcr_write(drvdata-dcr_host, offset, val);
+
+}

 static int
 xilinx_fb_setcolreg(unsigned regno, unsigned red, unsigned green, unsigned 
 blue,
@@ -175,7 +200,8 @@ xilinx_fb_blank(int blank_mode, struct fb_info *fbi)
   switch (blank_mode) {
   case FB_BLANK_UNBLANK:
   /* turn on panel */
-  xilinx_fb_out_be32(drvdata, REG_CTRL, 
drvdata-reg_ctrl_default);
+  xilinx_fb_out_be32(drvdata, REG_CTRL,
+  drvdata-reg_ctrl_default);
   break;

   case FB_BLANK_NORMAL:
@@ -191,8 +217,7 @@ xilinx_fb_blank(int blank_mode, struct fb_info *fbi)
   return 0; /* success */
 }

-static struct fb_ops xilinxfb_ops =
-{
+static struct fb_ops xilinxfb_ops = {
   .owner  = THIS_MODULE,
   .fb_setcolreg   = xilinx_fb_setcolreg,
   .fb_blank   = 

[BUILD FAILURE 01] Next April 9 : PPC64 randconfig [drivers/net/fs_enet/fs_enet-main.c]

2009-04-09 Thread Subrata Modak
Observed the following build error:

drivers/net/fs_enet/fs_enet-main.c: In function ‘fs_enet_probe’:
drivers/net/fs_enet/fs_enet-main.c:1096: error: ‘struct net_device’ has
no member named ‘open’
drivers/net/fs_enet/fs_enet-main.c:1097: error: ‘struct net_device’ has
no member named ‘hard_start_xmit’
drivers/net/fs_enet/fs_enet-main.c:1098: error: ‘struct net_device’ has
no member named ‘tx_timeout’
drivers/net/fs_enet/fs_enet-main.c:1100: error: ‘struct net_device’ has
no member named ‘stop’
drivers/net/fs_enet/fs_enet-main.c:1101: error: ‘struct net_device’ has
no member named ‘get_stats’
drivers/net/fs_enet/fs_enet-main.c:1102: error: ‘struct net_device’ has
no member named ‘set_multicast_list’
drivers/net/fs_enet/fs_enet-main.c:: error: ‘struct net_device’ has
no member named ‘do_ioctl’
make[3]: *** [drivers/net/fs_enet/fs_enet-main.o] Error 1
make[2]: *** [drivers/net/fs_enet] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Regards--
Subrata

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc1
# Thu Apr  9 06:27:57 2009
#
# CONFIG_PPC64 is not set

#
# Processor support
#
CONFIG_6xx=y
# CONFIG_PPC_85xx is not set
# CONFIG_PPC_8xx is not set
# CONFIG_40x is not set
# CONFIG_44x is not set
# CONFIG_E200 is not set
CONFIG_PPC_BOOK3S=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_32=y
# CONFIG_PPC_MM_SLICES is not set
CONFIG_SMP=y
CONFIG_NR_CPUS=4
CONFIG_NOT_COHERENT_CACHE=y
CONFIG_PPC32=y
CONFIG_WORD_SIZE=32
# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_LOCKBREAK=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_GPIO=y
# CONFIG_ARCH_NO_VIRT_TO_BUS is not set
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_DEFAULT_UIMAGE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set

#
# RCU Subsystem
#
# CONFIG_CLASSIC_RCU is not set
# CONFIG_TREE_RCU is not set
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_TRACE=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_PREEMPT_RCU_TRACE=y
CONFIG_IKCONFIG=m
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
# CONFIG_PROC_PID_CPUSET is not set
CONFIG_CGROUP_CPUACCT=y
CONFIG_RESOURCE_COUNTERS=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_MM_OWNER=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_IPC_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
# CONFIG_PRINTK is not set
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
# CONFIG_EVENTFD is not set
CONFIG_SHMEM=y
# CONFIG_AIO is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
# CONFIG_SLUB is not set
# CONFIG_SLQB is not set
CONFIG_SLOB=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_HAVE_CLK=y
# CONFIG_SLOW_WORK is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBD=y
CONFIG_BLK_DEV_INTEGRITY=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=m
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=m
# CONFIG_DEFAULT_AS is not set
# 

[BUILD FAILURE 02] Next April 9 : PPC64 randconfig [arch/powerpc/platforms/pseries/dtl.c]

2009-04-09 Thread Subrata Modak
Observed the following build error:

arch/powerpc/platforms/pseries/dtl.c: In function ‘dtl_init’:
arch/powerpc/platforms/pseries/dtl.c:238: error: implicit declaration of
function ‘firmware_has_feature’
arch/powerpc/platforms/pseries/dtl.c:238: error: ‘FW_FEATURE_SPLPAR’
undeclared (first use in this function)
arch/powerpc/platforms/pseries/dtl.c:238: error: (Each undeclared
identifier is reported only once
arch/powerpc/platforms/pseries/dtl.c:238: error: for each function it
appears in.)
make[2]: *** [arch/powerpc/platforms/pseries/dtl.o] Error 1
make[1]: *** [arch/powerpc/platforms/pseries] Error 2
make: *** [arch/powerpc/platforms] Error 2

Regards--
Subrata

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc1
# Thu Apr  9 08:25:52 2009
#
CONFIG_PPC64=y

#
# Processor support
#
CONFIG_PPC_BOOK3S=y
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
# CONFIG_TUNE_CELL is not set
CONFIG_PPC_FPU=y
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
CONFIG_PPC_MM_SLICES=y
# CONFIG_VIRT_CPU_ACCOUNTING is not set
# CONFIG_SMP is not set
CONFIG_64BIT=y
CONFIG_WORD_SIZE=64
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_NO_VIRT_TO_BUS=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_HIBERNATE_32=y
CONFIG_HIBERNATE_64=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
CONFIG_PPC_DCR_MMIO=y
CONFIG_PPC_DCR=y
CONFIG_PPC_OF_PLATFORM_PCI=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y

#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
# CONFIG_CPUSETS is not set
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
# CONFIG_IPC_NS is not set
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
# CONFIG_RD_GZIP is not set
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
# CONFIG_BUG is not set
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
# CONFIG_AIO is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
# CONFIG_SLUB is not set
CONFIG_SLQB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=m
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_SYSCALL_WRAPPERS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
# CONFIG_SLOW_WORK is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
# CONFIG_BLOCK is not set
CONFIG_FREEZER=y
CONFIG_PPC_MSI_BITMAP=y

#
# Platform support
#
CONFIG_PPC_PSERIES=y
CONFIG_PPC_SPLPAR=y
CONFIG_EEH=y
CONFIG_PSERIES_MSI=y
CONFIG_SCANLOG=m
# CONFIG_LPARCFG is not set

[BUILD FAILURE 03] Next April 9 : PPC64 randconfig [arch/powerpc/platforms/pasemi/setup.o]

2009-04-09 Thread Subrata Modak
Observed the following build error:

CC  arch/powerpc/platforms/pasemi/setup.o
arch/powerpc/platforms/pasemi/setup.c:48: error: redefinition of
‘smp_send_stop’
include/linux/smp.h:125: error: previous definition of ‘smp_send_stop’
was here
make[2]: *** [arch/powerpc/platforms/pasemi/setup.o] Error 1
make[1]: *** [arch/powerpc/platforms/pasemi] Error 2
make: *** [arch/powerpc/platforms] Error 2

Regards--
Subrata

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc1
# Thu Apr  9 06:28:12 2009
#
CONFIG_PPC64=y

#
# Processor support
#
CONFIG_PPC_BOOK3S=y
CONFIG_POWER4_ONLY=y
CONFIG_POWER4=y
# CONFIG_TUNE_CELL is not set
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
# CONFIG_VSX is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
CONFIG_PPC_MM_SLICES=y
CONFIG_VIRT_CPU_ACCOUNTING=y
# CONFIG_SMP is not set
CONFIG_64BIT=y
CONFIG_WORD_SIZE=64
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_NO_VIRT_TO_BUS=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_HIBERNATE_32=y
# CONFIG_PPC_DCR_NATIVE is not set
CONFIG_PPC_DCR_MMIO=y
CONFIG_PPC_DCR=y
# CONFIG_PPC_OF_PLATFORM_PCI is not set
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_AUDIT is not set

#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_CGROUPS=y
CONFIG_CGROUP_DEBUG=y
# CONFIG_CGROUP_NS is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_IPC_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_COMPAT_BRK=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLQB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_SYSCALL_WRAPPERS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
# CONFIG_SLOW_WORK is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_INTEGRITY is not set
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED=anticipatory
# CONFIG_FREEZER is not set

#
# Platform support
#
# CONFIG_PPC_PSERIES is not set
# CONFIG_LPARCFG is not set
CONFIG_PPC_ISERIES=y

#
# iSeries device drivers
#
CONFIG_VIODASD=y
# CONFIG_VIOCD is not set
CONFIG_VIOTAPE=y
CONFIG_VIOPATH=y
CONFIG_PPC_PMAC=y
CONFIG_PPC_PMAC64=y
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC_PASEMI=y

#
# PA Semi PWRficient options
#
CONFIG_PPC_PASEMI_IOMMU=y
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
# CONFIG_PPC_PS3 is not set
CONFIG_PPC_CELL=y
CONFIG_PPC_CELL_COMMON=y
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PPC_IBM_CELL_BLADE 

[BUILD FAILURE 04] Next April 9 : PPC64 randconfig [drivers/net/ibm_newemac/core.c]

2009-04-09 Thread Subrata Modak
Observed the following build error:

CC  drivers/net/ibm_newemac/core.o
drivers/net/ibm_newemac/core.c: In function ‘emac_probe’:
drivers/net/ibm_newemac/core.c:2831: error: ‘struct net_device’ has no
member named ‘open’
drivers/net/ibm_newemac/core.c:2834: error: ‘struct net_device’ has no
member named ‘tx_timeout’
drivers/net/ibm_newemac/core.c:2836: error: ‘struct net_device’ has no
member named ‘stop’
drivers/net/ibm_newemac/core.c:2837: error: ‘struct net_device’ has no
member named ‘get_stats’
drivers/net/ibm_newemac/core.c:2838: error: ‘struct net_device’ has no
member named ‘set_multicast_list’
drivers/net/ibm_newemac/core.c:2839: error: ‘struct net_device’ has no
member named ‘do_ioctl’
drivers/net/ibm_newemac/core.c:2841: error: ‘struct net_device’ has no
member named ‘hard_start_xmit’
drivers/net/ibm_newemac/core.c:2842: error: ‘struct net_device’ has no
member named ‘change_mtu’
drivers/net/ibm_newemac/core.c:2845: error: ‘struct net_device’ has no
member named ‘hard_start_xmit’
make[3]: *** [drivers/net/ibm_newemac/core.o] Error 1
make[2]: *** [drivers/net/ibm_newemac] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Regards--
Subrata

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc1
# Thu Apr  9 06:28:20 2009
#
CONFIG_PPC64=y

#
# Processor support
#
CONFIG_PPC_BOOK3S=y
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
CONFIG_TUNE_CELL=y
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
CONFIG_VSX=y
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
# CONFIG_PPC_MM_SLICES is not set
# CONFIG_VIRT_CPU_ACCOUNTING is not set
CONFIG_SMP=y
CONFIG_NR_CPUS=32
CONFIG_64BIT=y
CONFIG_WORD_SIZE=64
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_ARCH_NO_VIRT_TO_BUS=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set
# CONFIG_PPC_DCR_NATIVE is not set
CONFIG_PPC_DCR_MMIO=y
CONFIG_PPC_DCR=y
CONFIG_PPC_OF_PLATFORM_PCI=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SYSVIPC=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y

#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_IKCONFIG=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
# CONFIG_NET_NS is not set
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
# CONFIG_HOTPLUG is not set
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
# CONFIG_FUTEX is not set
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
# CONFIG_SLUB_DEBUG is not set
CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLQB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_SYSCALL_WRAPPERS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_SLOW_WORK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
# CONFIG_BLOCK is not set
# CONFIG_FREEZER is not set
CONFIG_PPC_MSI_BITMAP=y

#
# Platform support
#
CONFIG_PPC_PSERIES=y
# CONFIG_PPC_SPLPAR is not set
CONFIG_EEH=y
CONFIG_PSERIES_MSI=y
CONFIG_SCANLOG=y
CONFIG_LPARCFG=y
CONFIG_PPC_PSERIES_DEBUG=y
CONFIG_PPC_SMLPAR=y
CONFIG_CMM=y
# CONFIG_PPC_ISERIES 

RE: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread John Linn
 -Original Message-
 From: Stephen Rothwell [mailto:s...@canb.auug.org.au] 
 Sent: Wednesday, April 08, 2009 7:52 PM
 To: John Linn
 Cc: grant.lik...@secretlab.ca; jwbo...@linux.vnet.ibm.com; 
 linuxppc-dev@ozlabs.org; 
 linux-fbdev-de...@lists.sourceforge.net; 
 akonova...@ru.mvista.com; adap...@gmail.com; Suneel Garapati; Suneel
 Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
 support (non-DCR)
 
 Hi John,
 
 On Wed, 8 Apr 2009 15:11:25 -0600 John Linn 
 john.l...@xilinx.com wrote:
 
* 2002-2007 (c) MontaVista Software, Inc.
* 2007 (c) Secret Lab Technologies, Ltd.
  + * 2009 (c) Xilinx Inc.
*
  - * This file is licensed under the terms of the GNU 
 General Public License
  - * version 2.  This program is licensed as is without 
 any warranty of any
  - * kind, whether express or implied.
  + * This program is free software; you can redistribute it
  + * and/or modify it under the terms of the GNU General Public
  + * License as published by the Free Software Foundation;
  + * either version 2 of the License, or (at your option) any
  + * later version.
  + *
  + * You should have received a copy of the GNU General Public
  + * License along with this program; if not, write to the Free
  + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
  + * 02139, USA.
 
 This changes the license for this file (from GPLv2 to GPLv2 or
 later).  Have you asked the other copyright owners about that?

Andrei was copied on the patch, we'll see if he has any thoughts about
it. 

Thanks,
John

 
 -- 
 Cheers,
 Stephen Rothwells...@canb.auug.org.au
 http://www.canb.auug.org.au/~sfr/
 

This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Roderick Colenbrander
On Thu, Apr 9, 2009 at 2:46 PM, Josh Boyer jwbo...@linux.vnet.ibm.comwrote:

 On Wed, Apr 08, 2009 at 03:11:25PM -0600, John Linn wrote:
 From: Suneel [mailto:suneel.garap...@xilinx.com]
 
 Added support for the new xps tft controller.
 
 The new core has PLB interface support in addition to existing
 DCR interface.
 
 The driver has been modified to support this new core which
 can be connected on PLB or DCR bus.
 
 Signed-off-by: Suneel sune...@xilinx.com
 Signed-off-by: John Linn john.l...@xilinx.com
 ---
  drivers/video/xilinxfb.c |  227
 --
  1 files changed, 160 insertions(+), 67 deletions(-)
 
 diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
 index a82c530..a28a834 100644
 --- a/drivers/video/xilinxfb.c
 +++ b/drivers/video/xilinxfb.c
 @@ -1,17 +1,24 @@
  /*
 - * xilinxfb.c
   *
 - * Xilinx TFT LCD frame buffer driver
 + * Xilinx TFT frame buffer driver
   *
   * Author: MontaVista Software, Inc.
   * sou...@mvista.com
   *
   * 2002-2007 (c) MontaVista Software, Inc.
   * 2007 (c) Secret Lab Technologies, Ltd.
 + * 2009 (c) Xilinx Inc.
   *
 - * This file is licensed under the terms of the GNU General Public
 License
 - * version 2.  This program is licensed as is without any warranty of
 any
 - * kind, whether express or implied.
 + * This program is free software; you can redistribute it
 + * and/or modify it under the terms of the GNU General Public
 + * License as published by the Free Software Foundation;
 + * either version 2 of the License, or (at your option) any
 + * later version.
 + *
 + * You should have received a copy of the GNU General Public
 + * License along with this program; if not, write to the Free
 + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
 + * 02139, USA.
   */

 What Stephen said.

  #define NUM_REGS  2
  #define REG_FB_ADDR   0
 @@ -112,6 +123,11 @@ struct xilinxfb_drvdata {
 
struct fb_info  info;   /* FB driver info record */
 
 +  u32 regs_phys;  /* phys. address of the control
 +  registers */

 Is this driver usable on the 440 based Xilinx devices?  If so, is it
 possible
 to have the physical address of the registers above 4GiB, so is common with
 almost all the I/O on the other 440 boards?


The driver works fine on 440 based Xilinx boards (the ML510 I use has a 440
core). It might be nice to move physical addresses above 4GB for devices but
in all Xilinx tools and reference designs addresses below 4GB are used for
periperhals and I think even below 2GB (or even below 1GB). It depends on
the design.

Roderick Colenbrander
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH] AOA: Convert onyx and tas codecs to new-style i2c drivers

2009-04-09 Thread Jean Delvare
Hi Johannes,

On Thu, 09 Apr 2009 14:34:44 +0200, Johannes Berg wrote:
  My new approach doesn't auto-load anything. Here we go, what you think?
  This time there is no logic change, I'm really only turning legacy code
  into new-style i2c code (basically calling i2c_new_device() instead of
  i2c_attach_client()) and that's about it.
  
  (Once again this is only build-tested and I would like people with the
  hardware to give it a try.)
 
 Looks reasonable.
 
   static int onyx_create(struct i2c_adapter *adapter,
 struct device_node *node,
 int addr)
   {
  +   struct i2c_board_info info;
  +   struct i2c_client *client;
  +
  +   memset(info, 0, sizeof(struct i2c_board_info));
  +   strlcpy(info.type, aoa_codec_onyx, I2C_NAME_SIZE);
  +   if (node) {
  +   info.addr = addr;
  +   info.platform_data = node;
  +   client = i2c_new_device(adapter, info);
  +   } else {
  +   /* probe both possible addresses for the onyx chip */
  +   unsigned short probe_onyx[] = {
  +   0x46, 0x47, I2C_CLIENT_END
  +   };
  +
  +   client = i2c_new_probed_device(adapter, info, probe_onyx);
  +   }
  +   if (!client)
  +   return -ENODEV;
  +
  +   list_add_tail(client-detected, client-driver-clients);
 
 That list_add looks a little hackish, and wouldn't it be racy?

Yes it is a little hackish, the idea is to let i2c-core remove the
device if our i2c_driver is removed (which happens when you rmmod the
module). I'll add a comment to explain that. If there are more use
cases I might move that to a helper function in i2c-core.

No it's not racy, we're called with i2c-core's main mutex held.

  +static const struct i2c_device_id onyx_i2c_id[] = {
  +   { aoa_codec_onyx, 0 },
  +   { }
  +};
  +MODULE_DEVICE_TABLE(i2c, onyx_i2c_id);
 
 Should it really export the device table?
 
 (same comments for tas)

No, that's a leftover, I intended to remove it but forgot. It's gone
now. That being said, it's useless, but I don't think it would hurt.

 It'll be until mid next week that I can test anything.

OK, thanks.

-- 
Jean Delvare
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


converting fs_enet to net_device_ops

2009-04-09 Thread Kumar Gala
Can someone look at converting drivers/net/fs_enet over to the new  
net_device_ops.


Dave,

Are you willing to take such a patch in for .30?  Otherwise we need to  
add a select COMPAT_NET_DEV_OPS in Kconfig for this driver (and any  
others that might not have been converted over).  drivers/net/ 
ibm_newemac/ is another.


- k
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [BUILD FAILURE 01] Next April 9 : PPC64 randconfig [drivers/net/fs_enet/fs_enet-main.c]

2009-04-09 Thread Kumar Gala


On Apr 9, 2009, at 8:50 AM, Subrata Modak wrote:


Observed the following build error:

drivers/net/fs_enet/fs_enet-main.c: In function ‘fs_enet_probe’:
drivers/net/fs_enet/fs_enet-main.c:1096: error: ‘struct net_device’  
has

no member named ‘open’
drivers/net/fs_enet/fs_enet-main.c:1097: error: ‘struct net_device’  
has

no member named ‘hard_start_xmit’
drivers/net/fs_enet/fs_enet-main.c:1098: error: ‘struct net_device’  
has

no member named ‘tx_timeout’
drivers/net/fs_enet/fs_enet-main.c:1100: error: ‘struct net_device’  
has

no member named ‘stop’
drivers/net/fs_enet/fs_enet-main.c:1101: error: ‘struct net_device’  
has

no member named ‘get_stats’
drivers/net/fs_enet/fs_enet-main.c:1102: error: ‘struct net_device’  
has

no member named ‘set_multicast_list’
drivers/net/fs_enet/fs_enet-main.c:: error: ‘struct net_device’  
has

no member named ‘do_ioctl’
make[3]: *** [drivers/net/fs_enet/fs_enet-main.o] Error 1
make[2]: *** [drivers/net/fs_enet] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Regards--
Subrata

randconfig1-ppc64-next20090409.txt


This is because CONFIG_COMPAT_NET_DEV_OPS isnt set and needs to be for  
this driver to build.  I've asked the netdev guys about either fixing  
the driver or adding the proper thing to Kconfig to select  
CONFIG_COMPAT_NET_DEV_OPS.


- k
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [BUILD FAILURE 04] Next April 9 : PPC64 randconfig [drivers/net/ibm_newemac/core.c]

2009-04-09 Thread Kumar Gala


On Apr 9, 2009, at 8:52 AM, Subrata Modak wrote:


Observed the following build error:

CC  drivers/net/ibm_newemac/core.o
drivers/net/ibm_newemac/core.c: In function ‘emac_probe’:
drivers/net/ibm_newemac/core.c:2831: error: ‘struct net_device’ has no
member named ‘open’
drivers/net/ibm_newemac/core.c:2834: error: ‘struct net_device’ has no
member named ‘tx_timeout’
drivers/net/ibm_newemac/core.c:2836: error: ‘struct net_device’ has no
member named ‘stop’
drivers/net/ibm_newemac/core.c:2837: error: ‘struct net_device’ has no
member named ‘get_stats’
drivers/net/ibm_newemac/core.c:2838: error: ‘struct net_device’ has no
member named ‘set_multicast_list’
drivers/net/ibm_newemac/core.c:2839: error: ‘struct net_device’ has no
member named ‘do_ioctl’
drivers/net/ibm_newemac/core.c:2841: error: ‘struct net_device’ has no
member named ‘hard_start_xmit’
drivers/net/ibm_newemac/core.c:2842: error: ‘struct net_device’ has no
member named ‘change_mtu’
drivers/net/ibm_newemac/core.c:2845: error: ‘struct net_device’ has no
member named ‘hard_start_xmit’
make[3]: *** [drivers/net/ibm_newemac/core.o] Error 1
make[2]: *** [drivers/net/ibm_newemac] Error 2
make[1]: *** [drivers/net] Error 2
make: *** [drivers] Error 2

Regards--
Subrata

randconfig4-ppc64-next20090409.txt


This is because CONFIG_COMPAT_NET_DEV_OPS isnt set and needs to be for  
this driver to build.  I've asked the netdev guys about either fixing  
the driver or adding the proper thing to Kconfig to select  
CONFIG_COMPAT_NET_DEV_OPS.


- k
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Grant Likely
On Thu, Apr 9, 2009 at 7:16 AM, John Linn john.l...@xilinx.com wrote:
 -Original Message-
 From: Stephen Rothwell [mailto:s...@canb.auug.org.au]
 Sent: Wednesday, April 08, 2009 7:52 PM
 To: John Linn
 Cc: grant.lik...@secretlab.ca; jwbo...@linux.vnet.ibm.com;
 linuxppc-dev@ozlabs.org;
 linux-fbdev-de...@lists.sourceforge.net;
 akonova...@ru.mvista.com; adap...@gmail.com; Suneel Garapati; Suneel
 Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB
 support (non-DCR)

 Hi John,

 On Wed, 8 Apr 2009 15:11:25 -0600 John Linn
 john.l...@xilinx.com wrote:
 
    * 2002-2007 (c) MontaVista Software, Inc.
    * 2007 (c) Secret Lab Technologies, Ltd.
  + * 2009 (c) Xilinx Inc.
    *
  - * This file is licensed under the terms of the GNU
 General Public License
  - * version 2.  This program is licensed as is without
 any warranty of any
  - * kind, whether express or implied.
  + * This program is free software; you can redistribute it
  + * and/or modify it under the terms of the GNU General Public
  + * License as published by the Free Software Foundation;
  + * either version 2 of the License, or (at your option) any
  + * later version.
  + *
  + * You should have received a copy of the GNU General Public
  + * License along with this program; if not, write to the Free
  + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
  + * 02139, USA.

 This changes the license for this file (from GPLv2 to GPLv2 or
 later).  Have you asked the other copyright owners about that?

 Andrei was copied on the patch, we'll see if he has any thoughts about
 it.

I also hold copyright on this file and I want the license to stay GPLv2.

g.


-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [BUILD FAILURE 04] Next April 9 : PPC64 randconfig [drivers/net/ibm_newemac/core.c]

2009-04-09 Thread Josh Boyer
On Thu, Apr 09, 2009 at 09:28:23AM -0500, Kumar Gala wrote:

 On Apr 9, 2009, at 8:52 AM, Subrata Modak wrote:

 Observed the following build error:

 CC  drivers/net/ibm_newemac/core.o
 drivers/net/ibm_newemac/core.c: In function ‘emac_probe’:
 drivers/net/ibm_newemac/core.c:2831: error: ‘struct net_device’ has no
 member named ‘open’
 drivers/net/ibm_newemac/core.c:2834: error: ‘struct net_device’ has no
 member named ‘tx_timeout’
 drivers/net/ibm_newemac/core.c:2836: error: ‘struct net_device’ has no
 member named ‘stop’
 drivers/net/ibm_newemac/core.c:2837: error: ‘struct net_device’ has no
 member named ‘get_stats’
 drivers/net/ibm_newemac/core.c:2838: error: ‘struct net_device’ has no
 member named ‘set_multicast_list’
 drivers/net/ibm_newemac/core.c:2839: error: ‘struct net_device’ has no
 member named ‘do_ioctl’
 drivers/net/ibm_newemac/core.c:2841: error: ‘struct net_device’ has no
 member named ‘hard_start_xmit’
 drivers/net/ibm_newemac/core.c:2842: error: ‘struct net_device’ has no
 member named ‘change_mtu’
 drivers/net/ibm_newemac/core.c:2845: error: ‘struct net_device’ has no
 member named ‘hard_start_xmit’
 make[3]: *** [drivers/net/ibm_newemac/core.o] Error 1
 make[2]: *** [drivers/net/ibm_newemac] Error 2
 make[1]: *** [drivers/net] Error 2
 make: *** [drivers] Error 2

 Regards--
 Subrata

 randconfig4-ppc64-next20090409.txt

 This is because CONFIG_COMPAT_NET_DEV_OPS isnt set and needs to be for  
 this driver to build.  I've asked the netdev guys about either fixing  
 the driver or adding the proper thing to Kconfig to select  
 CONFIG_COMPAT_NET_DEV_OPS.

Thanks!

If someone has pointers on what needs to be done to fix it, let me know.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Josh Boyer
On Thu, Apr 09, 2009 at 04:06:56PM +0200, Roderick Colenbrander wrote:
On Thu, Apr 9, 2009 at 2:46 PM, Josh Boyer jwbo...@linux.vnet.ibm.comwrote:
  #define NUM_REGS  2
  #define REG_FB_ADDR   0
 @@ -112,6 +123,11 @@ struct xilinxfb_drvdata {
 
struct fb_info  info;   /* FB driver info record */
 
 +  u32 regs_phys;  /* phys. address of the control
 +  registers */

 Is this driver usable on the 440 based Xilinx devices?  If so, is it
 possible
 to have the physical address of the registers above 4GiB, so is common with
 almost all the I/O on the other 440 boards?


The driver works fine on 440 based Xilinx boards (the ML510 I use has a 440
core). It might be nice to move physical addresses above 4GB for devices but
in all Xilinx tools and reference designs addresses below 4GB are used for
periperhals and I think even below 2GB (or even below 1GB). It depends on
the design.

Right.  The depends on the design part is what I'm worried about.  Perhaps
using resource_size_t here is more appropriate, given that designs can change
and put the regs above 4GiB.  That way you can set the Kconfig option
appropriately for both cases.

josh
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread John Linn

 -Original Message-
 From: Josh Boyer [mailto:jwbo...@linux.vnet.ibm.com] 
 Sent: Thursday, April 09, 2009 6:47 AM
 To: John Linn
 Cc: grant.lik...@secretlab.ca; linuxppc-dev@ozlabs.org; 
 linux-fbdev-de...@lists.sourceforge.net; 
 akonova...@ru.mvista.com; adap...@gmail.com; Suneel; Suneel Garapati
 Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
 support (non-DCR)
 
 On Wed, Apr 08, 2009 at 03:11:25PM -0600, John Linn wrote:
 From: Suneel [mailto:suneel.garap...@xilinx.com]
 
 Added support for the new xps tft controller.
 
 The new core has PLB interface support in addition to existing
 DCR interface.
 
 The driver has been modified to support this new core which
 can be connected on PLB or DCR bus.
 
 Signed-off-by: Suneel sune...@xilinx.com
 Signed-off-by: John Linn john.l...@xilinx.com
 ---
  drivers/video/xilinxfb.c |  227 
 --
  1 files changed, 160 insertions(+), 67 deletions(-)
 
 diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
 index a82c530..a28a834 100644
 --- a/drivers/video/xilinxfb.c
 +++ b/drivers/video/xilinxfb.c
 @@ -1,17 +1,24 @@
  /*
 - * xilinxfb.c
   *
 - * Xilinx TFT LCD frame buffer driver
 + * Xilinx TFT frame buffer driver
   *
   * Author: MontaVista Software, Inc.
   * sou...@mvista.com
   *
   * 2002-2007 (c) MontaVista Software, Inc.
   * 2007 (c) Secret Lab Technologies, Ltd.
 + * 2009 (c) Xilinx Inc.
   *
 - * This file is licensed under the terms of the GNU General 
 Public License
 - * version 2.  This program is licensed as is without any 
 warranty of any
 - * kind, whether express or implied.
 + * This program is free software; you can redistribute it
 + * and/or modify it under the terms of the GNU General Public
 + * License as published by the Free Software Foundation;
 + * either version 2 of the License, or (at your option) any
 + * later version.
 + *
 + * You should have received a copy of the GNU General Public
 + * License along with this program; if not, write to the Free
 + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
 + * 02139, USA.
   */
 
 What Stephen said.

Grant commented, I'll respin it after other comments to leave that
alone.

 
  #define NUM_REGS2
  #define REG_FB_ADDR 0
 @@ -112,6 +123,11 @@ struct xilinxfb_drvdata {
 
  struct fb_info  info;   /* FB driver info record */
 
 +u32 regs_phys;  /* phys. address of the control
 +registers */
 
 Is this driver usable on the 440 based Xilinx devices?  If 
 so, is it possible
 to have the physical address of the registers above 4GiB, so 
 is common with
 almost all the I/O on the other 440 boards?
 

It is used on the 440. As Roderick said, 
devices are mapped using the 32 bits of address in the Xilinx tools so
it would be best to stay below 4 Gig to my knowledge.

 +void __iomem*regs;  /* virt. address of the control
 +registers */
 +
  dcr_host_t  dcr_host;
  unsigned intdcr_start;
  unsigned intdcr_len;
 @@ -120,6 +136,10 @@ struct xilinxfb_drvdata {
  dma_addr_t  fb_phys;/* phys. address of the 
 frame buffer */
  int fb_alloced; /* Flag, was the fb 
 memory alloced? */
 
 +u32 dcr_splb_slave_if;
 +/* True, if control interface is
 +connected through plb */
 +
 
 Do you need a full 32-bit variable for a simple boolean?  It 
 might be best for
 structure alignment, but you might want to look at using a 
 flags variable or
 something that could be extended with feature bits in a single word.

It could be a flag I think. This was easy as it mapped to the device
tree property.

 
  u32 reg_ctrl_default;
 
  u32 pseudo_palette[PALETTE_ENTRIES_NO];
 @@ -130,14 +150,19 @@ struct xilinxfb_drvdata {
  container_of(_info, struct xilinxfb_drvdata, info)
 
  /*
 - * The LCD controller has DCR interface to its registers, but all
 - * the boards and configurations the driver has been tested with
 - * use opb2dcr bridge. So the registers are seen as memory mapped.
 - * This macro is to make it simple to add the direct DCR access
 - * when it's needed.
 + * The XPS TFT Controller can be accessed through PLB or 
 DCR interface.
 + * To perform the read/write on the registers we need to check on
 + * which bus its connected and call the appropriate write API.
   */
 -#define xilinx_fb_out_be32(driverdata, offset, val) \
 -dcr_write(driverdata-dcr_host, offset, val)
 +static void xilinx_fb_out_be32(struct xilinxfb_drvdata 
 *drvdata, u32 offset,
 +u32 val)
 +{
 +if (drvdata-dcr_splb_slave_if == 1)
 +out_be32(drvdata-regs + (offset  2), val);
 +else
 +dcr_write(drvdata-dcr_host, offset, val);
 +
 +}
 
  static int
  

Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Grant Likely
On Thu, Apr 9, 2009 at 7:06 AM, Roderick Colenbrander
thunderbir...@gmail.com wrote:

 On Thu, Apr 9, 2009 at 2:46 PM, Josh Boyer jwbo...@linux.vnet.ibm.com
 wrote:

 On Wed, Apr 08, 2009 at 03:11:25PM -0600, John Linn wrote:
 From: Suneel [mailto:suneel.garap...@xilinx.com]
 
 Added support for the new xps tft controller.
 
 The new core has PLB interface support in addition to existing
 DCR interface.
 
 The driver has been modified to support this new core which
 can be connected on PLB or DCR bus.
 
 Signed-off-by: Suneel sune...@xilinx.com
 Signed-off-by: John Linn john.l...@xilinx.com
 ---
  drivers/video/xilinxfb.c |  227
  --
  1 files changed, 160 insertions(+), 67 deletions(-)
 
 diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
 index a82c530..a28a834 100644
 --- a/drivers/video/xilinxfb.c
 +++ b/drivers/video/xilinxfb.c
 @@ -1,17 +1,24 @@
  /*
 - * xilinxfb.c
   *
 - * Xilinx TFT LCD frame buffer driver
 + * Xilinx TFT frame buffer driver
   *
   * Author: MontaVista Software, Inc.
   *         sou...@mvista.com
   *
   * 2002-2007 (c) MontaVista Software, Inc.
   * 2007 (c) Secret Lab Technologies, Ltd.
 + * 2009 (c) Xilinx Inc.
   *
 - * This file is licensed under the terms of the GNU General Public
  License
 - * version 2.  This program is licensed as is without any warranty of
  any
 - * kind, whether express or implied.
 + * This program is free software; you can redistribute it
 + * and/or modify it under the terms of the GNU General Public
 + * License as published by the Free Software Foundation;
 + * either version 2 of the License, or (at your option) any
 + * later version.
 + *
 + * You should have received a copy of the GNU General Public
 + * License along with this program; if not, write to the Free
 + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
 + * 02139, USA.
   */

 What Stephen said.

  #define NUM_REGS      2
  #define REG_FB_ADDR   0
 @@ -112,6 +123,11 @@ struct xilinxfb_drvdata {
 
        struct fb_info  info;           /* FB driver info record */
 
 +      u32             regs_phys;      /* phys. address of the control
 +                                              registers */

 Is this driver usable on the 440 based Xilinx devices?  If so, is it
 possible
 to have the physical address of the registers above 4GiB, so is common
 with
 almost all the I/O on the other 440 boards?


 The driver works fine on 440 based Xilinx boards (the ML510 I use has a 440
 core). It might be nice to move physical addresses above 4GB for devices but
 in all Xilinx tools and reference designs addresses below 4GB are used for
 periperhals and I think even below 2GB (or even below 1GB). It depends on
 the design.

Regardless, it is good practice to use phys_addr_t instead of u32 for
physical addresses.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread John Linn
 

 -Original Message-
 From: Grant Likely [mailto:grant.lik...@secretlab.ca] 
 Sent: Thursday, April 09, 2009 8:35 AM
 To: Roderick Colenbrander
 Cc: Josh Boyer; linux-fbdev-de...@lists.sourceforge.net; 
 adap...@gmail.com; Suneel Garapati; linuxppc-dev@ozlabs.org; 
 akonova...@ru.mvista.com; John Linn
 Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
 support (non-DCR)
 
 On Thu, Apr 9, 2009 at 7:06 AM, Roderick Colenbrander
 thunderbir...@gmail.com wrote:
 
  On Thu, Apr 9, 2009 at 2:46 PM, Josh Boyer 
 jwbo...@linux.vnet.ibm.com
  wrote:
 
  On Wed, Apr 08, 2009 at 03:11:25PM -0600, John Linn wrote:
  From: Suneel [mailto:suneel.garap...@xilinx.com]
  
  Added support for the new xps tft controller.
  
  The new core has PLB interface support in addition to existing
  DCR interface.
  
  The driver has been modified to support this new core which
  can be connected on PLB or DCR bus.
  
  Signed-off-by: Suneel sune...@xilinx.com
  Signed-off-by: John Linn john.l...@xilinx.com
  ---
   drivers/video/xilinxfb.c |  227
   --
   1 files changed, 160 insertions(+), 67 deletions(-)
  
  diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c
  index a82c530..a28a834 100644
  --- a/drivers/video/xilinxfb.c
  +++ b/drivers/video/xilinxfb.c
  @@ -1,17 +1,24 @@
   /*
  - * xilinxfb.c
    *
  - * Xilinx TFT LCD frame buffer driver
  + * Xilinx TFT frame buffer driver
    *
    * Author: MontaVista Software, Inc.
    *         sou...@mvista.com
    *
    * 2002-2007 (c) MontaVista Software, Inc.
    * 2007 (c) Secret Lab Technologies, Ltd.
  + * 2009 (c) Xilinx Inc.
    *
  - * This file is licensed under the terms of the GNU 
 General Public
   License
  - * version 2.  This program is licensed as is without 
 any warranty of
   any
  - * kind, whether express or implied.
  + * This program is free software; you can redistribute it
  + * and/or modify it under the terms of the GNU General Public
  + * License as published by the Free Software Foundation;
  + * either version 2 of the License, or (at your option) any
  + * later version.
  + *
  + * You should have received a copy of the GNU General Public
  + * License along with this program; if not, write to the Free
  + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
  + * 02139, USA.
    */
 
  What Stephen said.
 
   #define NUM_REGS      2
   #define REG_FB_ADDR   0
  @@ -112,6 +123,11 @@ struct xilinxfb_drvdata {
  
         struct fb_info  info;           /* FB driver info record */
  
  +      u32             regs_phys;      /* phys. address 
 of the control
  +                                              registers */
 
  Is this driver usable on the 440 based Xilinx devices?  If 
 so, is it
  possible
  to have the physical address of the registers above 4GiB, 
 so is common
  with
  almost all the I/O on the other 440 boards?
 
 
  The driver works fine on 440 based Xilinx boards (the ML510 
 I use has a 440
  core). It might be nice to move physical addresses above 
 4GB for devices but
  in all Xilinx tools and reference designs addresses below 
 4GB are used for
  periperhals and I think even below 2GB (or even below 1GB). 
 It depends on
  the design.
 
 Regardless, it is good practice to use phys_addr_t instead of u32 for
 physical addresses.
 

I can change that when I respin to incorporate comments.

Thanks,
John

 g.
 
 -- 
 Grant Likely, B.Sc., P.Eng.
 Secret Lab Technologies Ltd.
 
 

This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[PATCH] fs_enet: convert to netdev_ops

2009-04-09 Thread Alexander Beregalov

Reported-by: Subrata Modak subr...@linux.vnet.ibm.com
Signed-off-by: Alexander Beregalov a.berega...@gmail.com
---


 drivers/net/fs_enet/fs_enet-main.c |   27 +--
 1 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/drivers/net/fs_enet/fs_enet-main.c 
b/drivers/net/fs_enet/fs_enet-main.c
index b037ce9..a9cbc31 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -1019,6 +1019,22 @@ out_put_phy:
 #define IS_FEC(match) 0
 #endif
 
+static const struct net_device_ops fs_enet_netdev_ops = {
+   .ndo_open   = fs_enet_open,
+   .ndo_stop   = fs_enet_close,
+   .ndo_get_stats  = fs_enet_get_stats,
+   .ndo_start_xmit = fs_enet_start_xmit,
+   .ndo_tx_timeout = fs_timeout,
+   .ndo_set_multicast_list = fs_set_multicast_list,
+   .ndo_do_ioctl   = fs_ioctl,
+   .ndo_validate_addr  = eth_validate_addr,
+   .ndo_set_mac_address= eth_mac_addr,
+   .ndo_change_mtu = eth_change_mtu,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+   .ndo_poll_controller= fs_enet_netpoll,
+#endif
+};
+
 static int __devinit fs_enet_probe(struct of_device *ofdev,
const struct of_device_id *match)
 {
@@ -1093,22 +1109,13 @@ static int __devinit fs_enet_probe(struct of_device 
*ofdev,
fep-tx_ring = fpi-tx_ring;
fep-rx_ring = fpi-rx_ring;
 
-   ndev-open = fs_enet_open;
-   ndev-hard_start_xmit = fs_enet_start_xmit;
-   ndev-tx_timeout = fs_timeout;
+   ndev-netdev_ops = fs_enet_netdev_ops;
ndev-watchdog_timeo = 2 * HZ;
-   ndev-stop = fs_enet_close;
-   ndev-get_stats = fs_enet_get_stats;
-   ndev-set_multicast_list = fs_set_multicast_list;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-   ndev-poll_controller = fs_enet_netpoll;
-#endif
if (fpi-use_napi)
netif_napi_add(ndev, fep-napi, fs_enet_rx_napi,
   fpi-napi_weight);
 
ndev-ethtool_ops = fs_ethtool_ops;
-   ndev-do_ioctl = fs_ioctl;
 
init_timer(fep-phy_timer_list);
 
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] fs_enet: convert to netdev_ops

2009-04-09 Thread Subrata Modak
On Thu, 2009-04-09 at 18:46 +0400, Alexander Beregalov wrote:
 Reported-by: Subrata Modak subr...@linux.vnet.ibm.com
 Signed-off-by: Alexander Beregalov a.berega...@gmail.com

Thanks. Adding Sachin in Cc:

Regards--
Subrata

 ---
 
 
  drivers/net/fs_enet/fs_enet-main.c |   27 +--
  1 files changed, 17 insertions(+), 10 deletions(-)
 
 diff --git a/drivers/net/fs_enet/fs_enet-main.c 
 b/drivers/net/fs_enet/fs_enet-main.c
 index b037ce9..a9cbc31 100644
 --- a/drivers/net/fs_enet/fs_enet-main.c
 +++ b/drivers/net/fs_enet/fs_enet-main.c
 @@ -1019,6 +1019,22 @@ out_put_phy:
  #define IS_FEC(match) 0
  #endif
 
 +static const struct net_device_ops fs_enet_netdev_ops = {
 + .ndo_open   = fs_enet_open,
 + .ndo_stop   = fs_enet_close,
 + .ndo_get_stats  = fs_enet_get_stats,
 + .ndo_start_xmit = fs_enet_start_xmit,
 + .ndo_tx_timeout = fs_timeout,
 + .ndo_set_multicast_list = fs_set_multicast_list,
 + .ndo_do_ioctl   = fs_ioctl,
 + .ndo_validate_addr  = eth_validate_addr,
 + .ndo_set_mac_address= eth_mac_addr,
 + .ndo_change_mtu = eth_change_mtu,
 +#ifdef CONFIG_NET_POLL_CONTROLLER
 + .ndo_poll_controller= fs_enet_netpoll,
 +#endif
 +};
 +
  static int __devinit fs_enet_probe(struct of_device *ofdev,
 const struct of_device_id *match)
  {
 @@ -1093,22 +1109,13 @@ static int __devinit fs_enet_probe(struct of_device 
 *ofdev,
   fep-tx_ring = fpi-tx_ring;
   fep-rx_ring = fpi-rx_ring;
 
 - ndev-open = fs_enet_open;
 - ndev-hard_start_xmit = fs_enet_start_xmit;
 - ndev-tx_timeout = fs_timeout;
 + ndev-netdev_ops = fs_enet_netdev_ops;
   ndev-watchdog_timeo = 2 * HZ;
 - ndev-stop = fs_enet_close;
 - ndev-get_stats = fs_enet_get_stats;
 - ndev-set_multicast_list = fs_set_multicast_list;
 -#ifdef CONFIG_NET_POLL_CONTROLLER
 - ndev-poll_controller = fs_enet_netpoll;
 -#endif
   if (fpi-use_napi)
   netif_napi_add(ndev, fep-napi, fs_enet_rx_napi,
  fpi-napi_weight);
 
   ndev-ethtool_ops = fs_ethtool_ops;
 - ndev-do_ioctl = fs_ioctl;
 
   init_timer(fep-phy_timer_list);
 

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: converting fs_enet to net_device_ops

2009-04-09 Thread Alexander Beregalov
2009/4/9 Kumar Gala ga...@kernel.crashing.org:
 Can someone look at converting drivers/net/fs_enet over to the new
 net_device_ops.

 Dave,

 Are you willing to take such a patch in for .30?  Otherwise we need to add a
 select COMPAT_NET_DEV_OPS in Kconfig for this driver (and any others that
 might not have been converted over).  drivers/net/ibm_newemac/ is another.

Hi
I did not this mail.
I have sent a patch for it.
http://patchwork.ozlabs.org/patch/25781/
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [BUILD FAILURE 05] Next April 9 : PPC64 randconfig [drivers/net/wan/wanxlfw.inc]

2009-04-09 Thread Geert Uytterhoeven
On Thu, 9 Apr 2009, Subrata Modak wrote:
 Observed the following error:
 
 BLD FW  drivers/net/wan/wanxlfw.inc
 /bin/sh: as68k: command not found
 make[3]: *** [drivers/net/wan/wanxlfw.inc] Error 127
 make[2]: *** [drivers/net/wan] Error 2
 make[1]: *** [drivers/net] Error 2
 make: *** [drivers] Error 2

Yeah, if you enable CONFIG_WANXL_BUILD_FIRMWARE without
CONFIG_PREVENT_FIRMWARE_BUILD (the trick for allmodconfig?), you need the
appropriate tools installed...

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:+32 (0)2 700 8453
Fax:  +32 (0)2 700 8622
E-mail:   geert.uytterhoe...@sonycom.com
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: ahci: drop intx manipulation on msi enable breaks ULI M1575

2009-04-09 Thread Timur Tabi
On Thu, Apr 9, 2009 at 12:32 AM, Jeff Garzik j...@garzik.org wrote:
 3) As a result, Timur's 'ahci' is no longer receiving interrupts. Presumably
 this means that BOTH of the following conditions are true

        a) INTX is disabled
        b) MSI is not available

 Today I am thinking we should either revert the libata commit
 (a5bfc4714b3f01365aef89a92673f2ceb1ccf246), or poke PCI to twiddle INTX for
 us at pci_enable_device() time, perhaps.

 I lean towards the former, but maybe the platform folks prefer a third
 solution?

Well, I was hoping that the latest U-Boot would fix this problem, but
it doesn't.  Earlier U-Boot couldn't find my SATA drive, so I thought
that was a clue.  The latest U-Boot does find the SATA drive, but the
Linux driver still doesn't get interrupts.

-- 
Timur Tabi
Linux kernel developer at Freescale
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


[BUILD FAILURE 08] Next April 9 : PPC64 randconfig [drivers/net/pasemi_mac_driver.ko]

2009-04-09 Thread Subrata Modak
Observed the following build errors:

Building modules, stage 2.
MODPOST 549 modules
ERROR: .lro_receive_skb [drivers/net/pasemi_mac_driver.ko] undefined!
ERROR: .lro_flush_all [drivers/net/pasemi_mac_driver.ko] undefined!
WARNING: modpost: Found 8 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2

Regards--
Subrata

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.30-rc1
# Thu Apr  9 08:49:19 2009
#
CONFIG_PPC64=y

#
# Processor support
#
CONFIG_PPC_BOOK3S=y
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
# CONFIG_TUNE_CELL is not set
CONFIG_PPC_FPU=y
CONFIG_ALTIVEC=y
# CONFIG_VSX is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_STD_MMU_64=y
CONFIG_PPC_MM_SLICES=y
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32
CONFIG_64BIT=y
CONFIG_WORD_SIZE=64
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_IRQ_PER_CPU=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_LOCKBREAK=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_GPIO=y
CONFIG_ARCH_NO_VIRT_TO_BUS=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_PPC_DCR_NATIVE is not set
CONFIG_PPC_DCR_MMIO=y
CONFIG_PPC_DCR=y
CONFIG_PPC_OF_PLATFORM_PCI=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
# CONFIG_TASK_IO_ACCOUNTING is not set
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_TREE=y

#
# RCU Subsystem
#
# CONFIG_CLASSIC_RCU is not set
# CONFIG_TREE_RCU is not set
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_TRACE=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_PREEMPT_RCU_TRACE=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
CONFIG_IPC_NS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLQB is not set
# CONFIG_SLOB is not set
# CONFIG_PROFILING is not set
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_HAVE_OPROFILE=y
CONFIG_KPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_SYSCALL_WRAPPERS=y
CONFIG_KRETPROBES=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
# CONFIG_SLOW_WORK is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLOCK_COMPAT=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=m
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED=noop
# CONFIG_FREEZER is not set
CONFIG_PPC_MSI_BITMAP=y

#
# Platform support
#
# CONFIG_PPC_PSERIES is not set
CONFIG_LPARCFG=y
CONFIG_PPC_ISERIES=y

#
# iSeries device drivers
#
# CONFIG_VIODASD is not set
# CONFIG_VIOCD is not set
CONFIG_VIOTAPE=m
CONFIG_VIOPATH=y
CONFIG_PPC_PMAC=y
CONFIG_PPC_PMAC64=y
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC_PASEMI=y

#
# PA Semi PWRficient options
#
CONFIG_PPC_PASEMI_IOMMU=y
CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE=y

[CFQ/OOPS] rb_erase with April 9 next tree

2009-04-09 Thread Sachin Sant
 any other information.

Thanks
-Sachin


--

-
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
-

Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=1024 NUMA pSeries
Modules linked in: ipv6(F) fuse(F) loop(F) dm_mod(F) ehea(F)
NIP: c02ee1b0 LR: c02e14d0 CTR: c02e35ac
REGS: c000f20d2940 TRAP: 0300   Tainted: GF   
(2.6.30-rc1-next-20090409)
MSR: 80009032 EE,ME,IR,DR  CR: 44024448  XER: 0001
DAR: 0010, DSISR: 4000
TASK = c000f9346a00[3684] 'sh' THREAD: c000f20d CPU: 1
GPR00: c000f941f030 c000f20d2bc0 c09986e8 c000fbe91c50 
GPR04: c000fb8af038 fff0 0001 c000f941edb0 
GPR08: c000f941edb0 0001 c000fbb3cb50  
GPR12: c000f975ed00 c0a92500 c000f20d0080 c000f20d34c0 
GPR16: c06d2c92  0004 c000f20d3010 
GPR20: c000f20d2ff0 0080 02c8bc82 0085 
GPR24: c000fbaf  c000f98ef010 c000fb8af000 
GPR28: c000fb8af038 c000fb8af038 c0923360  
NIP [c02ee1b0] .rb_erase+0x16c/0x3b4
LR [c02e14d0] .cfq_prio_tree_add+0x58/0x120
Call Trace:
[c000f20d2bc0] [c02e1450] .cfq_service_tree_add+0x23c/0x264 
(unreliable)
[c000f20d2c50] [c02e14d0] .cfq_prio_tree_add+0x58/0x120
[c000f20d2cf0] [c02e16c8] .__cfq_slice_expired+0xc8/0x11c
[c000f20d2d80] [c02e3920] .cfq_insert_request+0x374/0x3f4
[c000f20d2e20] [c02cf448] .elv_insert+0x234/0x348
[c000f20d2ec0] [c02d3348] .__make_request+0x514/0x5b0
[c000f20d2f80] [c02d1348] .generic_make_request+0x430/0x4c8
[c000f20d30b0] [c02d14dc] .submit_bio+0xfc/0x124
[c000f20d3170] [c0156998] .submit_bh+0x14c/0x198
[c000f20d3200] [c0158814] .bh_submit_read+0x70/0xd0
[c000f20d3290] [c01dbf6c] .read_block_bitmap+0xb8/0x238
[c000f20d3330] [c01dc2d4] .ext3_free_blocks_sb+0x178/0x5e4
[c000f20d3450] [c01dc780] .ext3_free_blocks+0x40/0xe4
[c000f20d34e0] [c01e3e70] .ext3_clear_blocks+0x1d8/0x21c
[c000f20d35a0] [c01e3fcc] .ext3_free_data+0x118/0x190
[c000f20d3650] [c01e49c0] .ext3_truncate+0x670/0xa80
[c000f20d37b0] [c00fda70] .vmtruncate+0xf0/0x134
[c000f20d3850] [c01457c0] .inode_setattr+0x44/0x180
[c000f20d38f0] [c01e15e8] .ext3_setattr+0x1ec/0x298
[c000f20d39a0] [c0145afc] .notify_change+0x200/0x3dc
[c000f20d3a60] [c012905c] .do_truncate+0x84/0xbc
[c000f20d3b40] [c0137630] .may_open+0x1fc/0x2f4
[c000f20d3be0] [c013a5c4] .do_filp_open+0x400/0x95c
[c000f20d3d80] [c0127e68] .do_sys_open+0x80/0x140
[c000f20d3e30] [c00084ac] syscall_exit+0x0/0x40
Instruction dump:
e8090010 7fa01800 409e000c f9090010 4810 f9090008 4808 f91d 
2f860001 7cff3b78 409e0238 48000200 e95f0010 7faa4000 409e00ec e95f0008 


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

RE: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread John Linn

 -Original Message-
 From: Dale Farnsworth [mailto:d...@farnsworth.org] 
 Sent: Thursday, April 09, 2009 9:36 AM
 To: John Linn; linuxppc-dev@ozlabs.org
 Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
 support (non-DCR)
 
   -Original Message-
   From: Stephen Rothwell [mailto:s...@canb.auug.org.au] 
   Sent: Wednesday, April 08, 2009 7:52 PM
   To: John Linn
   Cc: grant.lik...@secretlab.ca; jwbo...@linux.vnet.ibm.com; 
   linuxppc-dev@ozlabs.org; 
   linux-fbdev-de...@lists.sourceforge.net; 
   akonova...@ru.mvista.com; adap...@gmail.com; Suneel 
 Garapati; Suneel
   Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
   support (non-DCR)
   
   Hi John,
   
   On Wed, 8 Apr 2009 15:11:25 -0600 John Linn 
   john.l...@xilinx.com wrote:
   
  * 2002-2007 (c) MontaVista Software, Inc.
  * 2007 (c) Secret Lab Technologies, Ltd.
+ * 2009 (c) Xilinx Inc.
  *
- * This file is licensed under the terms of the GNU 
   General Public License
- * version 2.  This program is licensed as is without 
   any warranty of any
- * kind, whether express or implied.
+ * This program is free software; you can redistribute it
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation;
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
+ * 02139, USA.
   
   This changes the license for this file (from GPLv2 to GPLv2 or
   later).  Have you asked the other copyright owners about that?
  
  Andrei was copied on the patch, we'll see if he has any 
 thoughts about
  it. 
 
 Although I work for MontaVista, I don't speak for them on 
 licensing issues.
 
 In my opinion, unless someone can come up with a compelling reason
 for changing the license terms of a file, they shouldn't be changed.
 MontaVista made a deliberate, considered decision to license that file
 under GPLv2 and not GPLv2 or later.  Those who use and distribute
 modifications to GPLv2 licensed work need to respect the license.

Thanks Dale, we agree, Grant said the same thing. I'll fix that when I
respin the patch.

-- John

 
 -Dale
 
 

This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB support (non-DCR)

2009-04-09 Thread Dale Farnsworth
  -Original Message-
  From: Stephen Rothwell [mailto:s...@canb.auug.org.au] 
  Sent: Wednesday, April 08, 2009 7:52 PM
  To: John Linn
  Cc: grant.lik...@secretlab.ca; jwbo...@linux.vnet.ibm.com; 
  linuxppc-dev@ozlabs.org; 
  linux-fbdev-de...@lists.sourceforge.net; 
  akonova...@ru.mvista.com; adap...@gmail.com; Suneel Garapati; Suneel
  Subject: Re: [PATCH] Xilinx : Framebuffer Driver: Add PLB 
  support (non-DCR)
  
  Hi John,
  
  On Wed, 8 Apr 2009 15:11:25 -0600 John Linn 
  john.l...@xilinx.com wrote:
  
 * 2002-2007 (c) MontaVista Software, Inc.
 * 2007 (c) Secret Lab Technologies, Ltd.
   + * 2009 (c) Xilinx Inc.
 *
   - * This file is licensed under the terms of the GNU 
  General Public License
   - * version 2.  This program is licensed as is without 
  any warranty of any
   - * kind, whether express or implied.
   + * This program is free software; you can redistribute it
   + * and/or modify it under the terms of the GNU General Public
   + * License as published by the Free Software Foundation;
   + * either version 2 of the License, or (at your option) any
   + * later version.
   + *
   + * You should have received a copy of the GNU General Public
   + * License along with this program; if not, write to the Free
   + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
   + * 02139, USA.
  
  This changes the license for this file (from GPLv2 to GPLv2 or
  later).  Have you asked the other copyright owners about that?
 
 Andrei was copied on the patch, we'll see if he has any thoughts about
 it. 

Although I work for MontaVista, I don't speak for them on licensing issues.

In my opinion, unless someone can come up with a compelling reason
for changing the license terms of a file, they shouldn't be changed.
MontaVista made a deliberate, considered decision to license that file
under GPLv2 and not GPLv2 or later.  Those who use and distribute
modifications to GPLv2 licensed work need to respect the license.

-Dale
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: Xilinx board and NPTL support lockup

2009-04-09 Thread John Bonesio

Hi Kevin,

This doesn't look like an NPTL problem to me. It appears you have 
rebuilt the kernel, and your new kernel has a problem booting on the 
board. I would check the configuration options you have enabled in the 
kernel, and I would check that xparameters.h (older kernel) or the 
device-tree (newer kernel) is right for your hardware design.


If you haven't rebuilt the kernel, then I would check your setup.

- John

khollan wrote:

Hi everyone,

I have a board similar to the ml410, its been running a linux kernel happily
for about a year now, but now the firmware guys want NPTL threading instead
of the linuxthread library.
I recompiled my gcc 4.0.2 and glibc 2.3.6 library with the NPTL support, and
recompiled my kernel with the new tools.

Now my kernel gets stuck at the infamous Now Booting the Kernel message.

Any thoughts on why this might be happening, or how to verify that my glibc
and gcc are functional other than trying to compile things with them (I know
this works).

Thanks
Kevin 
  


--


John Bonesio
Commercial Linux Solutions
john.bone...@xilinx.com
(408) 879-5569

This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [CFQ/OOPS] rb_erase with April 9 next tree

2009-04-09 Thread Jens Axboe
On Thu, Apr 09 2009, Sachin Sant wrote:
 I had Next 09 booted on a powerpc box and was compiling a kernel.
 That's when i ran into this oops.

 Unable to handle kernel paging request for data at address 0x0010.
 Faulting instruction address: 0xc02ee1b0...
 0:mon e
 cpu 0x0: Vector: 300 (Data Access) at [c000d6cf63c0]
pc: c02ee1b0: .rb_erase+0x16c/0x3b4
lr: c02e14d0: .cfq_prio_tree_add+0x58/0x120
sp: c000d6cf6640
   msr: 80009032
   dar: 10
 dsisr: 4000
  current = 0xc000fbdf5880
  paca= 0xc0a92300
   pid   = 1867, comm = ld
 0:mon t
 [c000d6cf66d0] c02e14d0 .cfq_prio_tree_add+0x58/0x120
 [c000d6cf6770] c02e16c8 .__cfq_slice_expired+0xc8/0x11c
 [c000d6cf6800] c02e3920 .cfq_insert_request+0x374/0x3f4
 [c000d6cf68a0] c02cf448 .elv_insert+0x234/0x348
 [c000d6cf6940] c02d3348 .__make_request+0x514/0x5b0
 [c000d6cf6a00] c02d1348 .generic_make_request+0x430/0x4c8
 [c000d6cf6b30] c02d14dc .submit_bio+0xfc/0x124
 [c000d6cf6bf0] c0156998 .submit_bh+0x14c/0x198
 [c000d6cf6c80] c015ba78 .block_read_full_page+0x394/0x40c
 [c000d6cf7180] c0163080 .do_mpage_readpage+0x680/0x688
 [c000d6cf7690] c0163200 .mpage_readpages+0x104/0x190
 [c000d6cf77f0] c01e2aac .ext3_readpages+0x28/0x40
 [c000d6cf7870] c00ebd20 .__do_page_cache_readahead+0x180/0x278
 [c000d6cf7960] c00ec16c .ondemand_readahead+0x1ac/0x1d8
 [c000d6cf7a00] c00e1f28 .generic_file_aio_read+0x260/0x6b0
 [c000d6cf7b40] c0129f74 .do_sync_read+0xcc/0x130
 [c000d6cf7ce0] c012af44 .vfs_read+0xd0/0x1bc
 [c000d6cf7d80] c012b138 .SyS_read+0x58/0xa0
 [c000d6cf7e30] c00084ac syscall_exit+0x0/0x40

Just ran into this myself, too. I'll pull that bad patch from -next
asap. I wont be able to fix this before next week.

-- 
Jens Axboe

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [CFQ/OOPS] rb_erase with April 9 next tree

2009-04-09 Thread Jens Axboe
On Thu, Apr 09 2009, Jens Axboe wrote:
 On Thu, Apr 09 2009, Sachin Sant wrote:
  I had Next 09 booted on a powerpc box and was compiling a kernel.
  That's when i ran into this oops.
 
  Unable to handle kernel paging request for data at address 0x0010.
  Faulting instruction address: 0xc02ee1b0...
  0:mon e
  cpu 0x0: Vector: 300 (Data Access) at [c000d6cf63c0]
 pc: c02ee1b0: .rb_erase+0x16c/0x3b4
 lr: c02e14d0: .cfq_prio_tree_add+0x58/0x120
 sp: c000d6cf6640
msr: 80009032
dar: 10
  dsisr: 4000
   current = 0xc000fbdf5880
   paca= 0xc0a92300
pid   = 1867, comm = ld
  0:mon t
  [c000d6cf66d0] c02e14d0 .cfq_prio_tree_add+0x58/0x120
  [c000d6cf6770] c02e16c8 .__cfq_slice_expired+0xc8/0x11c
  [c000d6cf6800] c02e3920 .cfq_insert_request+0x374/0x3f4
  [c000d6cf68a0] c02cf448 .elv_insert+0x234/0x348
  [c000d6cf6940] c02d3348 .__make_request+0x514/0x5b0
  [c000d6cf6a00] c02d1348 .generic_make_request+0x430/0x4c8
  [c000d6cf6b30] c02d14dc .submit_bio+0xfc/0x124
  [c000d6cf6bf0] c0156998 .submit_bh+0x14c/0x198
  [c000d6cf6c80] c015ba78 .block_read_full_page+0x394/0x40c
  [c000d6cf7180] c0163080 .do_mpage_readpage+0x680/0x688
  [c000d6cf7690] c0163200 .mpage_readpages+0x104/0x190
  [c000d6cf77f0] c01e2aac .ext3_readpages+0x28/0x40
  [c000d6cf7870] c00ebd20 .__do_page_cache_readahead+0x180/0x278
  [c000d6cf7960] c00ec16c .ondemand_readahead+0x1ac/0x1d8
  [c000d6cf7a00] c00e1f28 .generic_file_aio_read+0x260/0x6b0
  [c000d6cf7b40] c0129f74 .do_sync_read+0xcc/0x130
  [c000d6cf7ce0] c012af44 .vfs_read+0xd0/0x1bc
  [c000d6cf7d80] c012b138 .SyS_read+0x58/0xa0
  [c000d6cf7e30] c00084ac syscall_exit+0x0/0x40
 
 Just ran into this myself, too. I'll pull that bad patch from -next
 asap. I wont be able to fix this before next week.

Can you see if this fixes it for you?

diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index e01b103..64de5c0 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1654,6 +1654,7 @@ retry:
}
 
RB_CLEAR_NODE(cfqq-rb_node);
+   RB_CLEAR_NODE(cfqq-p_node);
INIT_LIST_HEAD(cfqq-fifo);
 
atomic_set(cfqq-ref, 0);

-- 
Jens Axboe

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


RE: Xilinx board and NPTL support lockup

2009-04-09 Thread Kevin Holland
Thanks for your help.

This was a kernel setup issue, I had forgotten to strip the debug information 
out of my new libraries and my initramfs was too large.
I believe the zImage was decompressing onto itself, thats why it was stuck at 
the now booting.  I probably could have fixed it by changing my boot 
link/load address in the kernel config but I just stripped the files and it 
booted fine after it was smaller.

Hope this helps out anybody else with similar problems.

Kevin

From: John Bonesio [john.bone...@xilinx.com]
Sent: Thursday, April 09, 2009 11:50 AM
To: Kevin Holland
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Xilinx board and NPTL support lockup

Hi Kevin,

This doesn't look like an NPTL problem to me. It appears you have
rebuilt the kernel, and your new kernel has a problem booting on the
board. I would check the configuration options you have enabled in the
kernel, and I would check that xparameters.h (older kernel) or the
device-tree (newer kernel) is right for your hardware design.

If you haven't rebuilt the kernel, then I would check your setup.

- John

khollan wrote:
 Hi everyone,

 I have a board similar to the ml410, its been running a linux kernel happily
 for about a year now, but now the firmware guys want NPTL threading instead
 of the linuxthread library.
 I recompiled my gcc 4.0.2 and glibc 2.3.6 library with the NPTL support, and
 recompiled my kernel with the new tools.

 Now my kernel gets stuck at the infamous Now Booting the Kernel message.

 Any thoughts on why this might be happening, or how to verify that my glibc
 and gcc are functional other than trying to compile things with them (I know
 this works).

 Thanks
 Kevin


--


John Bonesio
Commercial Linux Solutions
john.bone...@xilinx.com
(408) 879-5569

This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Segher Boessenkool
Gah, gcc sucks. It should just not warn in these cases where it  
doesn't

know wth is going on.


I don't think you'll get any arguments.  it only there was a - 
Wnowarnunused!


-Wno-unused or -Wno-unused-pparameter and/or -Wno-unused-variable.   
But I

thought this was about uninitialised var warnings?  -Wno-uninitialized
for that one.

If you are asking for a GCC option that will warn for all suspect cases
_except_ for the ones where it is obvious to you there is no problem:
you could try -Wesp.


Segher

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Tony Breeds
On Fri, Apr 10, 2009 at 12:46:06AM +0200, Segher Boessenkool wrote:

 -Wno-unused or -Wno-unused-pparameter and/or -Wno-unused-variable.  But I
 thought this was about uninitialised var warnings?  -Wno-uninitialized
 for that one.

 If you are asking for a GCC option that will warn for all suspect cases
 _except_ for the ones where it is obvious to you there is no problem:
 you could try -Wesp.

Ooops I was asking for -Wno-uninitialized.  I'll try a build with:
-Wno-uninitialized -Wesp
and see how that goes.

Thanks.

Yours Tony
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Stephen Rothwell
On Fri, 10 Apr 2009 08:45:53 +1000 Tony Breeds t...@bakeyournoodle.com wrote:

 On Fri, Apr 10, 2009 at 12:46:06AM +0200, Segher Boessenkool wrote:
 
  -Wno-unused or -Wno-unused-pparameter and/or -Wno-unused-variable.  But I
  thought this was about uninitialised var warnings?  -Wno-uninitialized
  for that one.
 
 Ooops I was asking for -Wno-uninitialized.  I'll try a build with:
   -Wno-uninitialized -Wesp
 and see how that goes.

Unfortunately -Wno-uninitialized also suppresses the warnings that point
to real bugs. (but, I guess, the -Wesp might help there :-))

-- 
Cheers,
Stephen Rothwells...@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/


pgprU1u2ye9Yc.pgp
Description: PGP signature
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Segher Boessenkool
-Wno-unused or -Wno-unused-pparameter and/or -Wno-unused- 
variable.  But I
thought this was about uninitialised var warnings?  -Wno- 
uninitialized

for that one.


If you are asking for a GCC option that will warn for all suspect  
cases

_except_ for the ones where it is obvious to you there is no problem:
you could try -Wesp.


Ooops I was asking for -Wno-uninitialized.  I'll try a build with:
-Wno-uninitialized -Wesp
and see how that goes.


-Wesp was a joke: I was trying to say that the compiler cannot read  
minds.

It doesn't know what potentially unused variables are obviously (to you)
actually used.


Segher

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Segher Boessenkool
Unfortunately -Wno-uninitialized also suppresses the warnings that  
point

to real bugs.


It's a double-edged sword, yes.  Warnings are always like that:
if the compiler could know that something _is_ wrong for certain,
it wouldn't need a warning (it would use an error, instead -- and
it does do this in certain cases); if it would know something is
not really wrong, it would just shut up.


(but, I guess, the -Wesp might help there :-))


Yeah, it's the holy grail of compiler architecture.  Do what I want,
not what I say :-)


Segher

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH 3/3] powerpc: allow 256kB pages with SHMEM

2009-04-09 Thread Andrew Morton
On Mon, 6 Apr 2009 22:01:15 +0100 (BST)
Hugh Dickins h...@veritas.com wrote:

 Now that shmem's divisions by zero and SHMEM_MAX_BYTES are fixed,
 let powerpc 256kB pages coexist with CONFIG_SHMEM again.
 
 Signed-off-by: Hugh Dickins h...@veritas.com
 ---
 Added linuxppc-dev and some other Cc's for this 3/3: sorry
 if you didn't see 1/3 and 2/3, they were just in mm/shmem.c.

Do we think these patches should be in 2.6.30?
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [BUILD FAILURE 04] Next April 9 : PPC64 randconfig [drivers/net/ibm_newemac/core.c]

2009-04-09 Thread Alexander Beregalov
On Thu, Apr 09, 2009 at 10:31:12AM -0400, Josh Boyer wrote:
 On Thu, Apr 09, 2009 at 09:28:23AM -0500, Kumar Gala wrote:
 
  On Apr 9, 2009, at 8:52 AM, Subrata Modak wrote:
 
  Observed the following build error:
 
  CC  drivers/net/ibm_newemac/core.o
  drivers/net/ibm_newemac/core.c: In function ???emac_probe???:
  drivers/net/ibm_newemac/core.c:2831: error: ???struct net_device??? has no
  member named ???open???
  drivers/net/ibm_newemac/core.c:2834: error: ???struct net_device??? has no
  member named ???tx_timeout???
  drivers/net/ibm_newemac/core.c:2836: error: ???struct net_device??? has no
  member named ???stop???
  drivers/net/ibm_newemac/core.c:2837: error: ???struct net_device??? has no
  member named ???get_stats???
  drivers/net/ibm_newemac/core.c:2838: error: ???struct net_device??? has no
  member named ???set_multicast_list???
  drivers/net/ibm_newemac/core.c:2839: error: ???struct net_device??? has no
  member named ???do_ioctl???
  drivers/net/ibm_newemac/core.c:2841: error: ???struct net_device??? has no
  member named ???hard_start_xmit???
  drivers/net/ibm_newemac/core.c:2842: error: ???struct net_device??? has no
  member named ???change_mtu???
  drivers/net/ibm_newemac/core.c:2845: error: ???struct net_device??? has no
  member named ???hard_start_xmit???
  make[3]: *** [drivers/net/ibm_newemac/core.o] Error 1
  make[2]: *** [drivers/net/ibm_newemac] Error 2
  make[1]: *** [drivers/net] Error 2
  make: *** [drivers] Error 2
 
  Regards--
  Subrata
 
  randconfig4-ppc64-next20090409.txt
 
  This is because CONFIG_COMPAT_NET_DEV_OPS isnt set and needs to be for  
  this driver to build.  I've asked the netdev guys about either fixing  
  the driver or adding the proper thing to Kconfig to select  
  CONFIG_COMPAT_NET_DEV_OPS.
 
 Thanks!
 
 If someone has pointers on what needs to be done to fix it, let me know.
 

From: Alexander Beregalov a.berega...@gmail.com
Subject: [PATCH] ibm_newemac: convert to netdev_ops


Reported-by: Subrata Modak subr...@linux.vnet.ibm.com
Signed-off-by: Alexander Beregalov a.berega...@gmail.com
---

 drivers/net/ibm_newemac/core.c |   41 ---
 1 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c
index 77e4b5b..806533c 100644
--- a/drivers/net/ibm_newemac/core.c
+++ b/drivers/net/ibm_newemac/core.c
@@ -2686,6 +2686,32 @@ static int __devinit emac_init_config(struct 
emac_instance *dev)
return 0;
 }
 
+static const struct net_device_ops emac_netdev_ops = {
+   .ndo_open   = emac_open,
+   .ndo_stop   = emac_close,
+   .ndo_get_stats  = emac_stats,
+   .ndo_set_multicast_list = emac_set_multicast_list,
+   .ndo_do_ioctl   = emac_ioctl,
+   .ndo_tx_timeout = emac_tx_timeout,
+   .ndo_validate_addr  = eth_validate_addr,
+   .ndo_set_mac_address= eth_mac_addr,
+   .ndo_start_xmit = emac_start_xmit,
+   .ndo_change_mtu = eth_change_mtu,
+};
+
+static const struct net_device_ops emac_gige_netdev_ops = {
+   .ndo_open   = emac_open,
+   .ndo_stop   = emac_close,
+   .ndo_get_stats  = emac_stats,
+   .ndo_set_multicast_list = emac_set_multicast_list,
+   .ndo_do_ioctl   = emac_ioctl,
+   .ndo_tx_timeout = emac_tx_timeout,
+   .ndo_validate_addr  = eth_validate_addr,
+   .ndo_set_mac_address= eth_mac_addr,
+   .ndo_start_xmit = emac_start_xmit_sg,
+   .ndo_change_mtu = emac_change_mtu,
+};
+
 static int __devinit emac_probe(struct of_device *ofdev,
const struct of_device_id *match)
 {
@@ -2827,23 +2853,14 @@ static int __devinit emac_probe(struct of_device *ofdev,
if (err != 0)
goto err_detach_tah;
 
-   /* Fill in the driver function table */
-   ndev-open = emac_open;
if (dev-tah_dev)
ndev-features |= NETIF_F_IP_CSUM | NETIF_F_SG;
-   ndev-tx_timeout = emac_tx_timeout;
ndev-watchdog_timeo = 5 * HZ;
-   ndev-stop = emac_close;
-   ndev-get_stats = emac_stats;
-   ndev-set_multicast_list = emac_set_multicast_list;
-   ndev-do_ioctl = emac_ioctl;
if (emac_phy_supports_gige(dev-phy_mode)) {
-   ndev-hard_start_xmit = emac_start_xmit_sg;
-   ndev-change_mtu = emac_change_mtu;
+   ndev-netdev_ops = emac_gige_netdev_ops;
dev-commac.ops = emac_commac_sg_ops;
-   } else {
-   ndev-hard_start_xmit = emac_start_xmit;
-   }
+   } else
+   ndev-netdev_ops = emac_netdev_ops;
SET_ETHTOOL_OPS(ndev, emac_ethtool_ops);
 
netif_carrier_off(ndev);
___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev


Re: [PATCH] Quieten arch/powerpc in a allmodconfig build.

2009-04-09 Thread Nathan Lynch
Tony Breeds t...@bakeyournoodle.com wrote:

 On Wed, Apr 08, 2009 at 01:47:36PM -0500, Nathan Lynch wrote:
 
  I think I had some reason for doing it this way, but I'm drawing a
  blank right now.
  
  In the meantime, can someone post the warnings that gcc emits for
  cacheinfo.c, as well as the gcc version?  I can't reproduce them with
  4.3.2 on Fedora.
 
 ---
 [t...@thor ~]$ egrep cacheinfo tmp/build.log 
 /scratch/tony/working/arch/powerpc/kernel/cacheinfo.c: In function 
 'associativity_show':
 /scratch/tony/working/arch/powerpc/kernel/cacheinfo.c:562: warning: 
 'associativity' may be used uninitialized in this function
 /scratch/tony/working/arch/powerpc/kernel/cacheinfo.c: In function 
 'size_show':
 /scratch/tony/working/arch/powerpc/kernel/cacheinfo.c:513: warning: 'size_kb' 
 may be used uninitialized in this function

Thanks.

So I think I've convinced myself that the warnings are incorrect and
that uninitialized use is not possible.

But I find it odd that gcc gives warnings for these sites but not others
in the file that use the same idiom (e.g. line_size_show,
nr_sets_show).  I'd guess that inlining is implicated somehow.  Would I
be justified in worrying that this version of gcc is generating
incorrect code?

If not, then I'm fine with the uninitialized_var() changes, but do
please include the warnings and the compiler version in the changelog.

___
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev