lkml.org 
[lkml]   [2004]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch] 2.6.8-rc1-mm1: USB w9968cf compile error
    On Tue, Jul 13, 2004 at 06:25:59PM -0700, Andrew Morton wrote:
    >...
    > All 252 patches:
    >...
    > bk-usb.patch
    >...

    This patch marks w9968cf_valid_depth as inline, although it's used
    before it's defined.

    gcc 3.4 therefore correctly fails with:

    <-- snip -->

    ...
    CC drivers/usb/media/w9968cf.o
    drivers/usb/media/w9968cf.c: In function `w9968cf_set_picture':
    drivers/usb/media/w9968cf.c:487: sorry, unimplemented: inlining failed
    in call to 'w9968cf_valid_depth': function body not available
    drivers/usb/media/w9968cf.c:1722: sorry, unimplemented: called from here
    make[3]: *** [drivers/usb/media/w9968cf.o] Error 1

    <-- snip -->


    This patch moves w9968cf_valid_depth above it's first user (it also uses
    two other functions to keep the ordering of functions a bit more
    consistent).

    diffstat output:
    drivers/usb/media/w9968cf.c | 92 ++++++++++++++++++------------------
    1 files changed, 46 insertions(+), 46 deletions(-)


    Signed-off-by: Adrian Bunk <bunk@fs.tum.de>

    --- linux-2.6.8-rc1-mm1-full-3.4/drivers/usb/media/w9968cf.c.old 2004-07-14 20:31:39.000000000 +0200
    +++ linux-2.6.8-rc1-mm1-full-3.4/drivers/usb/media/w9968cf.c 2004-07-14 20:42:52.000000000 +0200
    @@ -481,11 +481,11 @@
    static void w9968cf_adjust_configuration(struct w9968cf_device*);
    static int w9968cf_turn_on_led(struct w9968cf_device*);
    static int w9968cf_init_chip(struct w9968cf_device*);
    -static int w9968cf_set_picture(struct w9968cf_device*, struct video_picture);
    -static int w9968cf_set_window(struct w9968cf_device*, struct video_window);
    static inline u16 w9968cf_valid_palette(u16 palette);
    static inline u16 w9968cf_valid_depth(u16 palette);
    static inline u8 w9968cf_need_decompression(u16 palette);
    +static int w9968cf_set_picture(struct w9968cf_device*, struct video_picture);
    +static int w9968cf_set_window(struct w9968cf_device*, struct video_window);
    static int w9968cf_postprocess_frame(struct w9968cf_device*,
    struct w9968cf_frame_t*);
    static int w9968cf_adjust_window_size(struct w9968cf_device*, u16* w, u16* h);
    @@ -1709,6 +1709,50 @@


    /*--------------------------------------------------------------------------
    + Return non-zero if the palette is supported, 0 otherwise.
    + --------------------------------------------------------------------------*/
    +static inline u16 w9968cf_valid_palette(u16 palette)
    +{
    + u8 i = 0;
    + while (w9968cf_formatlist[i].palette != 0) {
    + if (palette == w9968cf_formatlist[i].palette)
    + return palette;
    + i++;
    + }
    + return 0;
    +}
    +
    +
    +/*--------------------------------------------------------------------------
    + Return the depth corresponding to the given palette.
    + Palette _must_ be supported !
    + --------------------------------------------------------------------------*/
    +static inline u16 w9968cf_valid_depth(u16 palette)
    +{
    + u8 i=0;
    + while (w9968cf_formatlist[i].palette != palette)
    + i++;
    +
    + return w9968cf_formatlist[i].depth;
    +}
    +
    +
    +/*--------------------------------------------------------------------------
    + Return non-zero if the format requires decompression, 0 otherwise.
    + --------------------------------------------------------------------------*/
    +static inline u8 w9968cf_need_decompression(u16 palette)
    +{
    + u8 i = 0;
    + while (w9968cf_formatlist[i].palette != 0) {
    + if (palette == w9968cf_formatlist[i].palette)
    + return w9968cf_formatlist[i].compression;
    + i++;
    + }
    + return 0;
    +}
    +
    +
    +/*--------------------------------------------------------------------------
    Change the picture settings of the camera.
    Return 0 on success, a negative number otherwise.
    --------------------------------------------------------------------------*/
    @@ -1966,50 +2010,6 @@
    }


    -/*--------------------------------------------------------------------------
    - Return non-zero if the palette is supported, 0 otherwise.
    - --------------------------------------------------------------------------*/
    -static inline u16 w9968cf_valid_palette(u16 palette)
    -{
    - u8 i = 0;
    - while (w9968cf_formatlist[i].palette != 0) {
    - if (palette == w9968cf_formatlist[i].palette)
    - return palette;
    - i++;
    - }
    - return 0;
    -}
    -
    -
    -/*--------------------------------------------------------------------------
    - Return the depth corresponding to the given palette.
    - Palette _must_ be supported !
    - --------------------------------------------------------------------------*/
    -static inline u16 w9968cf_valid_depth(u16 palette)
    -{
    - u8 i=0;
    - while (w9968cf_formatlist[i].palette != palette)
    - i++;
    -
    - return w9968cf_formatlist[i].depth;
    -}
    -
    -
    -/*--------------------------------------------------------------------------
    - Return non-zero if the format requires decompression, 0 otherwise.
    - --------------------------------------------------------------------------*/
    -static inline u8 w9968cf_need_decompression(u16 palette)
    -{
    - u8 i = 0;
    - while (w9968cf_formatlist[i].palette != 0) {
    - if (palette == w9968cf_formatlist[i].palette)
    - return w9968cf_formatlist[i].compression;
    - i++;
    - }
    - return 0;
    -}
    -
    -
    /*--------------------------------------------------------------------------
    Adjust the asked values for window width and height.
    Return 0 on success, -1 otherwise.
    -
    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/

    \
     
     \ /
      Last update: 2005-03-22 14:04    [W:0.028 / U:0.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site