Skip to content

Commit

Permalink
usb: gadget: ci13xxx: rename register layouts
Browse files Browse the repository at this point in the history
Currently, the register prefixes in the driver seem to be mixed: the
capability registers are the ones that contain capability information,
such as number of hardware endpoints, while the registers that are
used to program the controller are called operational registers.

Normally, capability registers start at 0x100 offset of the register
window and are followed by operational registers. In some versions,
however, capability registers start at 0x0 offset.

This patch renames the register and adjusts their offsets appropriately,
leaving the possibility of having a non-standard capability offset.

I couldn't find any mentions of the TESTMODE register anywhere, so I
suspect it might only be enabled in chipidea internal versions of the
controller and I'm really inclined to remove it from the driver or at
least hiding it behind a config option.

Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Alexander Shishkin authored and Greg Kroah-Hartman committed May 8, 2012
1 parent d36ade6 commit f9df839
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 133 deletions.
3 changes: 2 additions & 1 deletion drivers/usb/gadget/ci13xxx_msm.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ static int ci13xxx_msm_probe(struct platform_device *pdev)
return -ENOMEM;
}

ret = udc_probe(&ci13xxx_msm_udc_driver, &pdev->dev, regs);
ret = udc_probe(&ci13xxx_msm_udc_driver, &pdev->dev, regs,
DEF_CAPOFFSET);
if (ret < 0) {
dev_err(&pdev->dev, "udc_probe failed\n");
goto iounmap;
Expand Down
7 changes: 6 additions & 1 deletion drivers/usb/gadget/ci13xxx_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ static int __devinit ci13xxx_pci_probe(struct pci_dev *pdev,
const struct pci_device_id *id)
{
void __iomem *regs = NULL;
uintptr_t capoffset = DEF_CAPOFFSET;
int retval = 0;

if (id == NULL)
Expand Down Expand Up @@ -86,7 +87,11 @@ static int __devinit ci13xxx_pci_probe(struct pci_dev *pdev,
pci_set_master(pdev);
pci_try_set_mwi(pdev);

retval = udc_probe(&ci13xxx_pci_udc_driver, &pdev->dev, regs);
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
capoffset = 0;

retval = udc_probe(&ci13xxx_pci_udc_driver, &pdev->dev, regs,
capoffset);
if (retval)
goto iounmap;

Expand Down
Loading

0 comments on commit f9df839

Please sign in to comment.