[PATCH 2/3] usb: chipidea: export interrupt enable and status register read functions.
This patch moves usb interrupt enable and status register read functions from udc driver to core driver to use them in all ci drivers. Acked-by: Peter Chen Signed-off-by: Li Jun --- drivers/usb/chipidea/ci.h |4 drivers/usb/chipidea/core.c | 20 drivers/usb/chipidea/udc.c | 20 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h index e206406..7ae8cb6 100644 --- a/drivers/usb/chipidea/ci.h +++ b/drivers/usb/chipidea/ci.h @@ -319,6 +319,10 @@ static inline u32 hw_test_and_write(struct ci_hdrc *ci, enum ci_hw_regs reg, return (val & mask) >> __ffs(mask); } +u32 hw_read_intr_enable(struct ci_hdrc *ci); + +u32 hw_read_intr_status(struct ci_hdrc *ci); + int hw_device_reset(struct ci_hdrc *ci, u32 mode); int hw_port_test_set(struct ci_hdrc *ci, u8 mode); diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index bc9dcab..ec00b23 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -140,6 +140,26 @@ static int hw_alloc_regmap(struct ci_hdrc *ci, bool is_lpm) } /** + * hw_read_intr_enable: returns interrupt enable register + * + * This function returns register data + */ +u32 hw_read_intr_enable(struct ci_hdrc *ci) +{ + return hw_read(ci, OP_USBINTR, ~0); +} + +/** + * hw_read_intr_status: returns interrupt status register + * + * This function returns register data + */ +u32 hw_read_intr_status(struct ci_hdrc *ci) +{ + return hw_read(ci, OP_USBSTS, ~0); +} + +/** * hw_port_test_set: writes port test mode (execute without interruption) * @mode: new value * diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 3bc28d4..2513d80 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -242,26 +242,6 @@ static int hw_port_is_high_speed(struct ci_hdrc *ci) } /** - * hw_read_intr_enable: returns interrupt enable register - * - * This function returns register data - */ -static u32 hw_read_intr_enable(struct ci_hdrc *ci) -{ - return hw_read(ci, OP_USBINTR, ~0); -} - -/** - * hw_read_intr_status: returns interrupt status register - * - * This function returns register data - */ -static u32 hw_read_intr_status(struct ci_hdrc *ci) -{ - return hw_read(ci, OP_USBSTS, ~0); -} - -/** * hw_test_and_clear_complete: test & clear complete status (execute without * interruption) * @n: endpoint number -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/3] usb: chipidea: export interrupt enable and status register read functions.
On Wed, Mar 12, 2014 at 02:32:40PM +0800, Li Jun wrote: > This patch moves usb interrupt enable and status register read functions > from udc driver to core driver to use them in all ci drivers. > > Signed-off-by: Li Jun > --- > drivers/usb/chipidea/ci.h |4 > drivers/usb/chipidea/core.c | 20 > drivers/usb/chipidea/udc.c | 20 > 3 files changed, 24 insertions(+), 20 deletions(-) > > diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h > index e206406..7ae8cb6 100644 > --- a/drivers/usb/chipidea/ci.h > +++ b/drivers/usb/chipidea/ci.h > @@ -319,6 +319,10 @@ static inline u32 hw_test_and_write(struct ci_hdrc *ci, > enum ci_hw_regs reg, > return (val & mask) >> __ffs(mask); > } > > +u32 hw_read_intr_enable(struct ci_hdrc *ci); > + > +u32 hw_read_intr_status(struct ci_hdrc *ci); > + > int hw_device_reset(struct ci_hdrc *ci, u32 mode); > > int hw_port_test_set(struct ci_hdrc *ci, u8 mode); > diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c > index 20be020..db1a6d6 100644 > --- a/drivers/usb/chipidea/core.c > +++ b/drivers/usb/chipidea/core.c > @@ -140,6 +140,26 @@ static int hw_alloc_regmap(struct ci_hdrc *ci, bool > is_lpm) > } > > /** > + * hw_read_intr_enable: returns interrupt enable register > + * > + * This function returns register data > + */ > +u32 hw_read_intr_enable(struct ci_hdrc *ci) > +{ > + return hw_read(ci, OP_USBINTR, ~0); > +} > + > +/** > + * hw_read_intr_status: returns interrupt status register > + * > + * This function returns register data > + */ > +u32 hw_read_intr_status(struct ci_hdrc *ci) > +{ > + return hw_read(ci, OP_USBSTS, ~0); > +} > + > +/** > * hw_port_test_set: writes port test mode (execute without interruption) > * @mode: new value > * > diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c > index 6a847c2..007d0a4 100644 > --- a/drivers/usb/chipidea/udc.c > +++ b/drivers/usb/chipidea/udc.c > @@ -242,26 +242,6 @@ static int hw_port_is_high_speed(struct ci_hdrc *ci) > } > > /** > - * hw_read_intr_enable: returns interrupt enable register > - * > - * This function returns register data > - */ > -static u32 hw_read_intr_enable(struct ci_hdrc *ci) > -{ > - return hw_read(ci, OP_USBINTR, ~0); > -} > - > -/** > - * hw_read_intr_status: returns interrupt status register > - * > - * This function returns register data > - */ > -static u32 hw_read_intr_status(struct ci_hdrc *ci) > -{ > - return hw_read(ci, OP_USBSTS, ~0); > -} > - > -/** > * hw_test_and_clear_complete: test & clear complete status (execute without > * interruption) > * @n: endpoint number > -- > 1.7.9.5 > > Acked-by: Peter Chen -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 2/3] usb: chipidea: export interrupt enable and status register read functions.
This patch moves usb interrupt enable and status register read functions from udc driver to core driver to use them in all ci drivers. Signed-off-by: Li Jun --- drivers/usb/chipidea/ci.h |4 drivers/usb/chipidea/core.c | 20 drivers/usb/chipidea/udc.c | 20 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/drivers/usb/chipidea/ci.h b/drivers/usb/chipidea/ci.h index e206406..7ae8cb6 100644 --- a/drivers/usb/chipidea/ci.h +++ b/drivers/usb/chipidea/ci.h @@ -319,6 +319,10 @@ static inline u32 hw_test_and_write(struct ci_hdrc *ci, enum ci_hw_regs reg, return (val & mask) >> __ffs(mask); } +u32 hw_read_intr_enable(struct ci_hdrc *ci); + +u32 hw_read_intr_status(struct ci_hdrc *ci); + int hw_device_reset(struct ci_hdrc *ci, u32 mode); int hw_port_test_set(struct ci_hdrc *ci, u8 mode); diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 20be020..db1a6d6 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -140,6 +140,26 @@ static int hw_alloc_regmap(struct ci_hdrc *ci, bool is_lpm) } /** + * hw_read_intr_enable: returns interrupt enable register + * + * This function returns register data + */ +u32 hw_read_intr_enable(struct ci_hdrc *ci) +{ + return hw_read(ci, OP_USBINTR, ~0); +} + +/** + * hw_read_intr_status: returns interrupt status register + * + * This function returns register data + */ +u32 hw_read_intr_status(struct ci_hdrc *ci) +{ + return hw_read(ci, OP_USBSTS, ~0); +} + +/** * hw_port_test_set: writes port test mode (execute without interruption) * @mode: new value * diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c index 6a847c2..007d0a4 100644 --- a/drivers/usb/chipidea/udc.c +++ b/drivers/usb/chipidea/udc.c @@ -242,26 +242,6 @@ static int hw_port_is_high_speed(struct ci_hdrc *ci) } /** - * hw_read_intr_enable: returns interrupt enable register - * - * This function returns register data - */ -static u32 hw_read_intr_enable(struct ci_hdrc *ci) -{ - return hw_read(ci, OP_USBINTR, ~0); -} - -/** - * hw_read_intr_status: returns interrupt status register - * - * This function returns register data - */ -static u32 hw_read_intr_status(struct ci_hdrc *ci) -{ - return hw_read(ci, OP_USBSTS, ~0); -} - -/** * hw_test_and_clear_complete: test & clear complete status (execute without * interruption) * @n: endpoint number -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html