[Added Lennert Buytenhek to CC list] Hey again,Headers for ixp4xx-specific hardware can surely live in the include/ asm-arm/arch-ixp4xx/ quite happily. Despite their name, Network Processing Engines are independent coprocessors which are only coincidentally attached to MACs for ethernet / WAN purposes. If Intel would allow us to compile code for these coprocessors, we could get them to do lots of things other than networking. In fact, we already kind of can. Crypto is not networking, and if the kernel gains ixp4xx crypto support, that should be possible to enable independently of networking. They can also function as DMA engines, which should also be independent of networking functionality. So, the NPE driver (which is basically ixp4xx specific) should be, for practical purposes, networking-code agnostic. As it is a lump of code talking to an architecture specific piece of hardware, it should live in arch/arm/ rather than arch-independent drivers/ (NB: the publically reviewed version of Christian's ixp4xx_net driver had exactly this file layout, see below) Sorry, unclear. That sentence was meant as a coherent whole - agreeing with you that the NPE dependency should use select but then pointing out that you should still be able to turn NPE support on in arch/arm/mach/ixp4xx/Kconfig even without selecting any of the network drivers. For networking devices point, see above. I don't fully understand the specifics, but Christian appeared to avoid any dependency mess in the publically reviewed version of his driver (as below). As I understand it, functions to talk to the NPE should appear in the NPE driver. The NPE driver should then be called by ethernet/wan/ crypto/dma(?) drivers to carry out the specific firmware-dependent tasks. I haven't reviewed your code in detail, so I can't comment on whether this is what you actually do or not. ==Links to the review of Christian's driver== [1/7] Register & NPE definitions: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038082.html [2/7] Platform devices (thought unnecessary by Lennert in his review): http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038086.html [3/7] Stub for Data/Address-Coherent mode setup: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038083.html [4/7] QMGR driver: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038278.html [5/7] NPE driver: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038085.html [6/7] Ethernet driver: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038087.html [7/7] Documentation: http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2007-January/ 038088.html Sorry if I'm stating the obvious, but this is a public discussion and I want to make sure everyone who reads this can see what I mean. If they disagree with me despite this, so be it :) Mike-Luke -
| Greg KH | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 006/196] Chinese: add translation of oops-tracing.txt |
| Luciano Rocha | usb hdd problems with 2.6.27.2 |
| Roland Dreier | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| Natalie Protasevich | [BUG] New Kernel Bugs |
