Commit 80952988 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Kumar Gala

powerpc/qe&cpm2: Avoid redefinitions in CPM2 and QE headers

struct mcc defined in both immap_qe.h and immap_cpm2.h, so they will
conflic when included in a single file. The mcc struct is easy to deal
with, since it isn't used in any driver (yet), so let's just rename QE
version to qe_mcc.

The ucb_ctlr is a bit trickier, since it is used by fsl_qe_udc driver,
and the driver supports both CPM and QE UDCs, plus the QE version is
used to form a bigger immap struct.

I don't want to touch too much of USB code in this series, so for now
let's just copy most generic version into the common cpm.h header,
later we'll create cpm_usb.h where we'll place common USB structs that
are used by QE/CPM UDC and QE Host drivers (FHCI).

And as for the structs in qe.h and cpm2.h, just prefix them with qe_
and cpm_.
Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 644b2a68
...@@ -5,6 +5,28 @@ ...@@ -5,6 +5,28 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/of.h> #include <linux/of.h>
/*
* USB Controller pram common to QE and CPM.
*/
struct usb_ctlr {
u8 usb_usmod;
u8 usb_usadr;
u8 usb_uscom;
u8 res1[1];
__be16 usb_usep[4];
u8 res2[4];
__be16 usb_usber;
u8 res3[2];
__be16 usb_usbmr;
u8 res4[1];
u8 usb_usbs;
/* Fields down below are QE-only */
__be16 usb_ussft;
u8 res5[2];
__be16 usb_usfrn;
u8 res6[0x22];
} __attribute__ ((packed));
/* Opcodes common to CPM1 and CPM2 /* Opcodes common to CPM1 and CPM2
*/ */
#define CPM_CR_INIT_TRX ((ushort)0x0000) #define CPM_CR_INIT_TRX ((ushort)0x0000)
......
...@@ -549,7 +549,7 @@ typedef struct comm_proc { ...@@ -549,7 +549,7 @@ typedef struct comm_proc {
/* USB Controller. /* USB Controller.
*/ */
typedef struct usb_ctlr { typedef struct cpm_usb_ctlr {
u8 usb_usmod; u8 usb_usmod;
u8 usb_usadr; u8 usb_usadr;
u8 usb_uscom; u8 usb_uscom;
......
...@@ -210,7 +210,7 @@ struct sir { ...@@ -210,7 +210,7 @@ struct sir {
} __attribute__ ((packed)); } __attribute__ ((packed));
/* USB Controller */ /* USB Controller */
struct usb_ctlr { struct qe_usb_ctlr {
u8 usb_usmod; u8 usb_usmod;
u8 usb_usadr; u8 usb_usadr;
u8 usb_uscom; u8 usb_uscom;
...@@ -229,7 +229,7 @@ struct usb_ctlr { ...@@ -229,7 +229,7 @@ struct usb_ctlr {
} __attribute__ ((packed)); } __attribute__ ((packed));
/* MCC */ /* MCC */
struct mcc { struct qe_mcc {
__be32 mcce; /* MCC event register */ __be32 mcce; /* MCC event register */
__be32 mccm; /* MCC mask register */ __be32 mccm; /* MCC mask register */
__be32 mccf; /* MCC configuration register */ __be32 mccf; /* MCC configuration register */
...@@ -431,9 +431,9 @@ struct qe_immap { ...@@ -431,9 +431,9 @@ struct qe_immap {
struct qe_mux qmx; /* QE Multiplexer */ struct qe_mux qmx; /* QE Multiplexer */
struct qe_timers qet; /* QE Timers */ struct qe_timers qet; /* QE Timers */
struct spi spi[0x2]; /* spi */ struct spi spi[0x2]; /* spi */
struct mcc mcc; /* mcc */ struct qe_mcc mcc; /* mcc */
struct qe_brg brg; /* brg */ struct qe_brg brg; /* brg */
struct usb_ctlr usb; /* USB */ struct qe_usb_ctlr usb; /* USB */
struct si1 si1; /* SI */ struct si1 si1; /* SI */
u8 res11[0x800]; u8 res11[0x800];
struct sir sir; /* SI Routing Tables */ struct sir sir; /* SI Routing Tables */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment