lkml.org 
[lkml]   [2007]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 2/3] ps3: BD/DVD/CD-ROM Storage Driver
    On Thu, 19 Jul 2007, Andrew Morton wrote:
    > On Thu, 19 Jul 2007 11:02:07 +0200 (CEST) Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> wrote:
    >
    > > On Wed, 18 Jul 2007, Andrew Morton wrote:
    > > > > +struct ps3rom_private {
    > > > > + struct ps3_storage_device *dev;
    > > > > + struct scsi_cmnd *curr_cmd;
    > > > > +};
    > > > > +#define ps3rom_priv(dev) ((dev)->sbd.core.driver_data)
    > > > > +
    > > >
    > > > Someone should invent a keyboard which delivers an electric shock when the
    > > > operator types "#define". In the meanwhile, I get to do the honours.
    > > >
    > > > Please don't implement in a macro anything which can be implemented in C.
    > >
    > > All I needed was a shorthand to access driver_data, for both read and write
    > > access (you cannot do the latter with C, unless you decouple read and write).
    >
    > 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?

    With kind regards,

    Geert Uytterhoeven
    Software Architect

    Sony Network and Software Technology Center Europe
    The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

    Phone: +32 (0)2 700 8453
    Fax: +32 (0)2 700 8622
    E-mail: Geert.Uytterhoeven@sonycom.com
    Internet: http://www.sony-europe.com/

    Sony Network and Software Technology Center Europe
    A division of Sony Service Centre (Europe) N.V.
    Registered office: Technologielaan 7 · B-1840 Londerzeel · Belgium
    VAT BE 0413.825.160 · RPR Brussels
    Fortis Bank Zaventem · Swift GEBABEBB08A · IBAN BE39001382358619
    \
     
     \ /
      Last update: 2007-07-19 11:43    [W:0.035 / U:0.428 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site