2008-12-13 23:02:47

by Harvey Harrison

[permalink] [raw]
Subject: [PATCH 3/4] ieee1394: mark bus_info_data was a __be32 array

Two access functions get_max_rom and set_hw_config_rom are
changed to take __be32 as well. Only bus_info_data was
ever passed in so this is OK. All other uses of bus_info_data
treated it as a be32 value already.

Signed-off-by: Harvey Harrison <[email protected]>
---
drivers/ieee1394/csr1212.h | 4 ++--
drivers/ieee1394/hosts.h | 2 +-
drivers/ieee1394/nodemgr.c | 2 +-
drivers/ieee1394/ohci1394.c | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/ieee1394/csr1212.h b/drivers/ieee1394/csr1212.h
index 043039f..55ab4cc 100644
--- a/drivers/ieee1394/csr1212.h
+++ b/drivers/ieee1394/csr1212.h
@@ -181,7 +181,7 @@ struct csr1212_csr_rom_cache {
struct csr1212_csr {
size_t bus_info_len; /* bus info block length in bytes */
size_t crc_len; /* crc length in bytes */
- u32 *bus_info_data; /* bus info data incl bus name and EUI */
+ __be32 *bus_info_data; /* bus info data incl bus name and EUI */

void *private; /* private, bus specific data */
struct csr1212_bus_ops *ops;
@@ -215,7 +215,7 @@ struct csr1212_bus_ops {
/* This function is used by csr1212 to determine the max read request
* supported by a remote node when reading the ConfigROM space. Must
* return 0, 1, or 2 per IEEE 1212. */
- int (*get_max_rom) (u32 *bus_info, void *private);
+ int (*get_max_rom) (__be32 *bus_info, void *private);
};


diff --git a/drivers/ieee1394/hosts.h b/drivers/ieee1394/hosts.h
index dd22995..49c3590 100644
--- a/drivers/ieee1394/hosts.h
+++ b/drivers/ieee1394/hosts.h
@@ -154,7 +154,7 @@ struct hpsb_host_driver {
* to set the hardware ConfigROM if the hardware supports handling
* reads to the ConfigROM on its own. */
void (*set_hw_config_rom)(struct hpsb_host *host,
- quadlet_t *config_rom);
+ __be32 *config_rom);

/* This function shall implement packet transmission based on
* packet->type. It shall CRC both parts of the packet (unless
diff --git a/drivers/ieee1394/nodemgr.c b/drivers/ieee1394/nodemgr.c
index 175a9d4..92c8b8d 100644
--- a/drivers/ieee1394/nodemgr.c
+++ b/drivers/ieee1394/nodemgr.c
@@ -115,7 +115,7 @@ static int nodemgr_bus_read(struct csr1212_csr *csr, u64 addr, u16 length,
return error;
}

-static int nodemgr_get_max_rom(quadlet_t *bus_info_data, void *__ci)
+static int nodemgr_get_max_rom(__be32 *bus_info_data, void *__ci)
{
return (be32_to_cpu(bus_info_data[2]) >> 8) & 0x3;
}
diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index 066726b..b3116d0 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -2973,7 +2973,7 @@ alloc_dma_trm_ctx(struct ti_ohci *ohci, struct dma_trm_ctx *d,
return 0;
}

-static void ohci_set_hw_config_rom(struct hpsb_host *host, quadlet_t *config_rom)
+static void ohci_set_hw_config_rom(struct hpsb_host *host, __be32 *config_rom)
{
struct ti_ohci *ohci = host->hostdata;

--
1.6.1.rc2.306.ge5d5e


2008-12-14 00:38:29

by Stefan Richter

[permalink] [raw]
Subject: Re: [PATCH 3/4] ieee1394: mark bus_info_data was a __be32 array

Harvey Harrison wrote:
> Two access functions get_max_rom and set_hw_config_rom are
> changed to take __be32 as well. Only bus_info_data was
> ever passed in so this is OK. All other uses of bus_info_data
> treated it as a be32 value already.

I pushed the following out to linux1394-2.6.git:

Harvey Harrison (6):
ieee1394: pcilynx: trivial endian annotation
ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro
ieee1394: mark bus_info_data as a __be32 array
ieee1394: eth1394: trivial sparse annotations
ieee1394: dv1394 annotate frame input/output structs as little endian
ieee1934: dv1394: interrupt enabling/disabling broken on big-endian

Note, I dropped two hunks from "mark bus_info_data..." due to another
change which I posted only a few hours ago. Please check:
http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=commitdiff;h=d88b81b772c6db76eb3b9f9564034f55d0dcdd09
This interfered with your patch:
http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=commitdiff;h=6b09b72cbdcba8da71b85651eb37e0156aa65def

I pulled your patches into my master branch but not yet into my for-next
branch (awaiting possible feedback on what I enqueued before your patches).
--
Stefan Richter
-=====-==--- ==-- -===-
http://arcgraph.de/sr/

2008-12-14 00:53:25

by Harvey Harrison

[permalink] [raw]
Subject: Re: [PATCH 3/4] ieee1394: mark bus_info_data was a __be32 array

On Sun, 2008-12-14 at 01:38 +0100, Stefan Richter wrote:
> Harvey Harrison wrote:
> > Two access functions get_max_rom and set_hw_config_rom are
> > changed to take __be32 as well. Only bus_info_data was
> > ever passed in so this is OK. All other uses of bus_info_data
> > treated it as a be32 value already.
>
> I pushed the following out to linux1394-2.6.git:
>
> Harvey Harrison (6):
> ieee1394: pcilynx: trivial endian annotation
> ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro
> ieee1394: mark bus_info_data as a __be32 array
> ieee1394: eth1394: trivial sparse annotations
> ieee1394: dv1394 annotate frame input/output structs as little endian
> ieee1934: dv1394: interrupt enabling/disabling broken on big-endian
>
> Note, I dropped two hunks from "mark bus_info_data..." due to another
> change which I posted only a few hours ago. Please check:
> http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=commitdiff;h=d88b81b772c6db76eb3b9f9564034f55d0dcdd09
> This interfered with your patch:
> http://git.kernel.org/?p=linux/kernel/git/ieee1394/linux1394-2.6.git;a=commitdiff;h=6b09b72cbdcba8da71b85651eb37e0156aa65def
>
> I pulled your patches into my master branch but not yet into my for-next
> branch (awaiting possible feedback on what I enqueued before your patches).

Looks OK to me, I needed to change the definition of get_max_rom to take
a be32 as it was only ever passed the bus_info_data, now that the other
patch removes that function entirely, the two hunks you dropped are no
longer needed.

Cheers,

Harvey

2008-12-14 00:56:39

by Stefan Richter

[permalink] [raw]
Subject: Re: [PATCH 3/4] ieee1394: mark bus_info_data was a __be32 array

Harvey Harrison wrote:
> On Sun, 2008-12-14 at 01:38 +0100, Stefan Richter wrote:
>> I dropped two hunks from "mark bus_info_data..." due to another change
...
> Looks OK to me, I needed to change the definition of get_max_rom to take
> a be32 as it was only ever passed the bus_info_data, now that the other
> patch removes that function entirely, the two hunks you dropped are no
> longer needed.

Ah, I wanted to remove get_max_rom from the changelog as well but then
forgot it...
--
Stefan Richter
-=====-==--- ==-- -===-
http://arcgraph.de/sr/