Messages in this thread | | | From | "Adam J. Richter" <> | Date | Sat, 9 Nov 2002 17:50:42 -0800 | Subject | Re: [parisc-linux] Untested port of parisc_device to generic device interface |
| |
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." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |