diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-06-05 16:26:18 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-06-05 16:26:18 +0200 |
commit | 77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c (patch) | |
tree | 54ea3c48e0663ef1b9f227ffff7710f0ea03f9a1 /drivers/firewire/fw-device.c | |
parent | e8ca97021c8eb127bb04aec4e2420e1d66be371d (diff) | |
download | lwn-77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c.tar.gz lwn-77c9a5daa9c4d9b37812c9c69c7bcbb3f9399c3c.zip |
firewire: reorganize header files
The three header files of firewire-core, i.e.
"drivers/firewire/fw-device.h",
"drivers/firewire/fw-topology.h",
"drivers/firewire/fw-transaction.h",
are replaced by
"drivers/firewire/core.h",
"include/linux/firewire.h".
The latter includes everything which a firewire high-level driver (like
firewire-sbp2) needs besides linux/firewire-constants.h, while core.h
contains the rest which is needed by firewire-core itself and by low-
level drivers (card drivers) like firewire-ohci.
High-level drivers can now also reside outside of drivers/firewire
without having to add drivers/firewire to the header file search path in
makefiles. At least the firedtv driver will be such a driver.
I also considered to spread the contents of core.h over several files,
one for each .c file where the respective implementation resides. But
it turned out that most core .c files will end up including most of the
core .h files. Also, the combined core.h isn't unreasonably big, and it
will lose more of its contents to linux/firewire.h anyway soon when more
firewire drivers are added. (IP-over-1394, firedtv, and there are plans
for one or two more.)
Furthermore, fw-ohci.h is renamed to ohci.h. The name of core.h and
ohci.h is chosen with regard to name changes of the .c files in a
follow-up change.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-device.c')
-rw-r--r-- | drivers/firewire/fw-device.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c index 238acac5badb..65d84dd6c1de 100644 --- a/drivers/firewire/fw-device.c +++ b/drivers/firewire/fw-device.c @@ -22,6 +22,8 @@ #include <linux/delay.h> #include <linux/device.h> #include <linux/errno.h> +#include <linux/firewire.h> +#include <linux/firewire-constants.h> #include <linux/idr.h> #include <linux/jiffies.h> #include <linux/kobject.h> @@ -39,9 +41,7 @@ #include <asm/byteorder.h> #include <asm/system.h> -#include "fw-device.h" -#include "fw-topology.h" -#include "fw-transaction.h" +#include "core.h" void fw_csr_iterator_init(struct fw_csr_iterator *ci, u32 * p) { @@ -94,8 +94,9 @@ static int fw_unit_match(struct device *dev, struct device_driver *drv) return 0; device = fw_device(unit->device.parent); + id = container_of(drv, struct fw_driver, driver)->id_table; - for (id = fw_driver(drv)->id_table; id->match_flags != 0; id++) { + for (; id->match_flags != 0; id++) { if (match_unit_directory(unit->directory, id->match_flags, id)) return 1; |