[PATCH] usb: add Freescale QE/CPM USB peripheral controller driver
Timur Tabi
timur at freescale.com
Thu Aug 7 01:47:53 EST 2008
On Wed, Aug 6, 2008 at 2:16 AM, Li Yang <leoli at freescale.com> wrote:
> +/*---------------------------------------------------------------------
> + * Mask definitions for usb BD *
> + *--------------------------------------------------------------------*/
> +#define QE_SIZEOF_BD sizeof(struct qe_bd)
> +
> +#define BD_BUFFER_ARG(bd) (((struct qe_bd *)bd)->buf)
> +#define BD_BUFFER_CLEAR(bd) out_be32(&(BD_BUFFER_ARG(bd)), 0);
> +#define BD_BUFFER(bd) in_be32(&(BD_BUFFER_ARG(bd)))
> +#define BD_STATUS_AND_LENGTH_SET(bd, val) out_be32((u32 *)bd, val)
> +#define BD_STATUS_AND_LENGTH(bd) in_be32((u32 *)bd)
> +#define BD_BUFFER_SET(bd, buffer) out_be32(&(BD_BUFFER_ARG(bd)), \
> + (u32)(buffer))
Delete all of these. Don't use these silly macros at all. Reference
the structure fields directly, and use the in_ and out_ functions
directly.
Using macros like these encourages unnecessary typecasts. "struct
qe_bd" has been defined, so you should use it.
--
Timur Tabi
Linux kernel developer at Freescale
More information about the Linuxppc-dev
mailing list