From: "Adam J. Richter" <adam@yggdrasil.com>
To: grundler@dsl2.external.hp.com
Cc: andmike@us.ibm.com, hch@lst.de, James.Bottomley@steeleye.com,
linux-kernel@vger.kernel.org, mochel@osdl.org,
parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] Untested port of parisc_device to generic device interface
Date: Sat, 9 Nov 2002 17:50:42 -0800 [thread overview]
Message-ID: <200211100150.RAA27228@baldur.yggdrasil.com> (raw)
Grant Grundler writes:
>Documentation/driver-model/overview.txt:
>| Note also that it is at the _end_ of struct pci_dev. This is
>| to make people think about what they're doing when switching between the bus
>| driver and the global driver; and to prevent against mindless casts between
>| the two.
>
>Until this changes, I don't see this as a useful replacement for
>either PCI or parisc devices. The "mindless casts" can be fixed.
>But without the ability to easily go from generic device type to
>bus specific type, people will just get lost in the maze of pointers.
linux-2.5.46/include/linux/kernel.h already defines
container_of(ptr_to_element, parent_struct, element_name).
>From <linux/pci.h>:
#define to_pci_dev(n) container_of(n, struct pci_dev, dev)
>From <linux/usb.h>:
#define to_usb_device(d) container_of(d, struct usb_device, dev)
>From <asm-parisc/hardware.h> with my parisc device patch:
static inline struct parisc_device *to_parisc_dev(struct device *dev)
{
return container_of(dev, struct parisc_device, device);
}
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Miplitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
next reply other threads:[~2002-11-10 1:44 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-10 1:50 Adam J. Richter [this message]
-- strict thread matches above, loose matches on Subject: below --
2002-11-10 5:20 Adam J. Richter
2002-11-10 0:23 Adam J. Richter
2002-11-10 2:01 ` J.E.J. Bottomley
2002-11-10 2:15 ` Matthew Wilcox
2002-11-09 12:22 Adam J. Richter
2002-11-09 4:51 Adam J. Richter
2002-11-09 5:21 ` Matthew Wilcox
2002-11-09 6:03 ` Greg KH
2002-11-09 15:33 ` J.E.J. Bottomley
2002-11-13 6:13 ` Greg KH
2002-11-13 7:46 ` Miles Bader
2002-11-13 7:52 ` Greg KH
2002-11-13 8:02 ` Miles Bader
2002-11-13 8:10 ` Greg KH
2002-11-13 8:26 ` Miles Bader
2002-11-13 8:25 ` Greg KH
2002-11-13 9:05 ` Miles Bader
[not found] ` <miles@lsi.nec.co.jp>
2002-11-13 20:13 ` Grant Grundler
2002-11-13 20:21 ` J.E.J. Bottomley
2002-11-13 20:37 ` Grant Grundler
2002-11-13 11:59 ` Ivan Kokshaysky
2002-11-13 12:36 ` Marc Zyngier
2002-11-13 16:32 ` Bjorn Helgaas
2002-11-13 17:23 ` J.E.J. Bottomley
2002-11-13 20:33 ` Grant Grundler
2002-11-13 20:44 ` J.E.J. Bottomley
2002-11-13 21:42 ` Grant Grundler
2002-11-13 20:12 ` Grant Grundler
2002-11-09 7:58 ` Marc Zyngier
2002-11-09 18:04 ` Grant Grundler
[not found] <200211090128.RAA31693@adam.yggdrasil.com>
2002-11-09 3:37 ` Matthew Wilcox
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200211100150.RAA27228@baldur.yggdrasil.com \
--to=adam@yggdrasil.com \
--cc=James.Bottomley@steeleye.com \
--cc=andmike@us.ibm.com \
--cc=grundler@dsl2.external.hp.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mochel@osdl.org \
--cc=parisc-linux@lists.parisc-linux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®