lkml.org 
[lkml]   [2005]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 01/10] IOCHK interface for I/O error handling/detecting
    On Thu, Jun 09, 2005 at 09:48:15PM +0900, Hidetoshi Seto wrote:
    > --- linux-2.6.11.11.orig/lib/iomap.c
    > +++ linux-2.6.11.11/lib/iomap.c
    > @@ -210,3 +210,29 @@ void pci_iounmap(struct pci_dev *dev, vo
    > }
    > EXPORT_SYMBOL(pci_iomap);
    > EXPORT_SYMBOL(pci_iounmap);
    > +
    > +/*
    > + * Clear/Read iocookie to check IO error while using iomap.
    > + *
    > + * Note that default iochk_clear-read pair interfaces don't have
    > + * any effective error check, but some high-reliable platforms
    > + * would provide useful information to you.
    > + * And note that some action may be limited (ex. irq-unsafe)
    > + * between the pair depend on the facility of the platform.
    > + */
    > +#ifndef HAVE_ARCH_IOMAP_CHECK
    > +void iochk_init(void) { ; }
    > +
    > +void iochk_clear(iocookie *cookie, struct pci_dev *dev)
    > +{
    > + /* no-ops */
    > +}

    A bit of a coding style difference between the two functions, yet they
    do the same thing :)

    > +
    > +int iochk_read(iocookie *cookie)
    > +{
    > + /* no-ops */
    > + return 0;
    > +}

    Why not just return the cookie? Can this ever fail?

    Shouldn't these go into a .h file and be made "static inline" so they
    just compile away to nothing?

    > +EXPORT_SYMBOL(iochk_clear);
    > +EXPORT_SYMBOL(iochk_read);

    EXPORT_SYMBOL_GPL() perhaps?

    > +#endif /* HAVE_ARCH_IOMAP_CHECK */
    > Index: linux-2.6.11.11/include/asm-generic/iomap.h
    > ===================================================================
    > --- linux-2.6.11.11.orig/include/asm-generic/iomap.h
    > +++ linux-2.6.11.11/include/asm-generic/iomap.h
    > @@ -60,4 +60,20 @@ struct pci_dev;
    > extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long
    > max);
    > extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
    >
    > +/*
    > + * IOMAP_CHECK provides additional interfaces for drivers to detect
    > + * some IO errors, supports drivers having ability to recover errors.
    > + *
    > + * All works around iomap-check depends on the design of "iocookie"
    > + * structure. Every architecture owning its iomap-check is free to
    > + * define the actual design of iocookie to fit its special style.
    > + */
    > +#ifndef HAVE_ARCH_IOMAP_CHECK
    > +typedef unsigned long iocookie;
    > +#endif

    Why typedef this if it isn't specified?

    thanks,

    greg k-h
    -
    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-06-09 18:58    [W:0.024 / U:30.708 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site