On Thu, 19 Jul 2007 11:39:32 +0200 (CEST) Geert Uytterhoeven [off-list ref] wrote:
quoted
Oh dear.
ps3rom_priv(dev) = host;
that's 'orrid. We have an identifier pretending to be a function, only we
go and treat it as an lvalue.
I mean, C code should look like C code, and the above just doesn't.
Sigh.
Do you prefer
static inline struct ps3rom_private *ps3rom_priv_get(struct ps3_storage_device
*dev)
{
return dev->sbd.core.driver_data;
}
static inline void ps3rom_priv_set(struct ps3_storage_device *dev,
struct ps3rom_private *priv)
{
dev->sbd.core.driver_data = priv;
}
instead?
Yes. Not that it's a terribly important issue, particularly down in the
dark and dusty corners where this code lurks. The "function" as an lvalue
thing would be more obnoxious in some top-level interface. We probably
already have some :(
If it were mine I'd open-code the "set" and do the "get" as a static
inline. Or you could leave it as-is and go off and do something more
important ;)