From: kernel test robot <lkp@intel.com>
To: Johan Hovold <johan@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: drivers/usb/phy/phy-fsl-usb.c:884:30: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Sun, 15 Nov 2026 11:16:31 +0100 [thread overview]
Message-ID: <202611151137.gimk4KBL-lkp@intel.com> (raw)
Hi Johan,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 23c62304dde29abe92013d85910d03a77dada35d
commit: a71f5aef1be98fb10f00e66a0ac4ef23ba9c877f USB: gadget: fsl-udc: enable compile testing
date: 4 months ago
config: arm-randconfig-r2300-20261115 (https://download.01.org/0day-ci/archive/20261115/202611151137.gimk4KBL-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project c0693becb96c1610aeb87445a50df00d58a823cd)
sparse: v0.6.5-rc1-21-g84ec0658
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261115/202611151137.gimk4KBL-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: a71f5aef1be9 ("USB: gadget: fsl-udc: enable compile testing")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202611151137.gimk4KBL-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/usb/phy/phy-fsl-usb.c:64:60: sparse: sparse: symbol 'b_srp_fail_tmr' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:65:9: sparse: sparse: symbol 'b_srp_wait_tmr' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:65:26: sparse: sparse: symbol 'a_wait_enum_tmr' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:110:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:110:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:110:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:105:5: sparse: sparse: symbol 'write_ulpi' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:122:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:122:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:122:15: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:132:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:132:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:132:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:118:6: sparse: sparse: symbol 'fsl_otg_chrg_vbus' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:140:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:140:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:140:15: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:150:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:150:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:150:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:136:6: sparse: sparse: symbol 'fsl_otg_dischrg_vbus' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:159:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:159:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:159:23: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:160:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:160:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:160:17: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:162:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:162:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:162:23: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:164:17: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:164:17: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:164:17: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:154:6: sparse: sparse: symbol 'fsl_otg_drv_vbus' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:176:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:176:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:176:15: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:183:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:183:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:183:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:172:6: sparse: sparse: symbol 'fsl_otg_loc_conn' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:195:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:195:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:195:15: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:201:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:201:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:201:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:191:6: sparse: sparse: symbol 'fsl_otg_loc_sof' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:212:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:212:15: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:212:15: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:214:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:214:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:214:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:206:6: sparse: sparse: symbol 'fsl_otg_start_pulse' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:222:6: sparse: sparse: symbol 'b_data_pulse_end' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:241:6: sparse: sparse: symbol 'b_vbus_pulse_end' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:254:6: sparse: sparse: symbol 'b_srp_end' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:269:6: sparse: sparse: symbol 'a_wait_enum' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:279:6: sparse: sparse: symbol 'set_tmout' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:285:5: sparse: sparse: symbol 'fsl_otg_init_timers' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:342:6: sparse: sparse: symbol 'fsl_otg_uninit_timers' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:450:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:450:19: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:450:19: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:452:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:452:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:452:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:453:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:453:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:453:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:446:6: sparse: sparse: symbol 'otg_reset_controller' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:475:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:475:20: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:475:20: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:458:5: sparse: sparse: symbol 'fsl_otg_start_host' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:525:5: sparse: sparse: symbol 'fsl_otg_start_gadget' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:582:23: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:582:23: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:582:23: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:618:31: sparse: sparse: Using plain integer as NULL pointer
drivers/usb/phy/phy-fsl-usb.c:713:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:713:18: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:713:18: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:717:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:717:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:717:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:707:13: sparse: sparse: symbol 'fsl_otg_isr' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c:782:22: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:782:22: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:782:22: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:786:31: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:786:31: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:786:31: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.c:858:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct usb_dr_mmap *static [toplevel] usb_dr_regs @@ got void [noderef] __iomem * @@
drivers/usb/phy/phy-fsl-usb.c:858:21: sparse: expected struct usb_dr_mmap *static [toplevel] usb_dr_regs
drivers/usb/phy/phy-fsl-usb.c:858:21: sparse: got void [noderef] __iomem *
drivers/usb/phy/phy-fsl-usb.c:860:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *regs @@ got void * @@
drivers/usb/phy/phy-fsl-usb.c:860:21: sparse: expected void [noderef] __iomem *regs
drivers/usb/phy/phy-fsl-usb.c:860:21: sparse: got void *
>> drivers/usb/phy/phy-fsl-usb.c:884:30: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got struct usb_dr_mmap *dr_mem_map @@
drivers/usb/phy/phy-fsl-usb.c:884:30: sparse: expected void volatile [noderef] __iomem *io_addr
drivers/usb/phy/phy-fsl-usb.c:884:30: sparse: got struct usb_dr_mmap *dr_mem_map
drivers/usb/phy/phy-fsl-usb.c:891:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:891:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:891:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:893:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:893:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:893:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:896:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:896:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:896:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:898:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:898:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:898:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:901:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:901:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:901:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:906:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:906:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:906:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:909:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:909:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:909:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:924:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:924:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:924:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:928:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:928:42: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:928:42: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:930:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:930:42: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:930:42: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:934:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:934:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:934:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:937:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:937:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:937:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:944:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:944:13: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:944:13: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:955:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:955:16: sparse: expected void const volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:955:16: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:958:9: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/usb/phy/phy-fsl-usb.c:958:9: sparse: expected void volatile [noderef] __iomem *addr
drivers/usb/phy/phy-fsl-usb.c:958:9: sparse: got unsigned int *
drivers/usb/phy/phy-fsl-usb.c:833:5: sparse: sparse: symbol 'usb_otg_start' was not declared. Should it be static?
>> drivers/usb/phy/phy-fsl-usb.c:995:18: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void * @@
drivers/usb/phy/phy-fsl-usb.c:995:18: sparse: expected void volatile [noderef] __iomem *io_addr
drivers/usb/phy/phy-fsl-usb.c:995:18: sparse: got void *
drivers/usb/phy/phy-fsl-usb.c:1005:24: sparse: sparse: symbol 'fsl_otg_driver' was not declared. Should it be static?
drivers/usb/phy/phy-fsl-usb.c: note: in included file:
drivers/usb/phy/phy-fsl-usb.h:348:17: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.h:348:17: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
drivers/usb/phy/phy-fsl-usb.h:348:17: sparse: sparse: undefined identifier '__builtin_infer_alloc_token'
vim +884 drivers/usb/phy/phy-fsl-usb.c
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 874
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 875 /* request irq */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 876 p_otg->irq = platform_get_irq(pdev, 0);
ecc2f30dbb2596 drivers/usb/phy/phy-fsl-usb.c Sergey Shtylyov 2021-08-09 877 if (p_otg->irq < 0)
ecc2f30dbb2596 drivers/usb/phy/phy-fsl-usb.c Sergey Shtylyov 2021-08-09 878 return p_otg->irq;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 879 status = request_irq(p_otg->irq, fsl_otg_isr,
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 880 IRQF_SHARED, driver_name, p_otg);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 881 if (status) {
7e062c0f888800 drivers/usb/otg/fsl_otg.c Heikki Krogerus 2012-02-13 882 dev_dbg(p_otg->phy.dev, "can't get IRQ %d, error %d\n",
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 883 p_otg->irq, status);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 @884 iounmap(p_otg->dr_mem_map);
7e062c0f888800 drivers/usb/otg/fsl_otg.c Heikki Krogerus 2012-02-13 885 kfree(p_otg->phy.otg);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 886 kfree(p_otg);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 887 return status;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 888 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 889
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 890 /* stop the controller */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 891 temp = fsl_readl(&p_otg->dr_mem_map->usbcmd);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 892 temp &= ~USB_CMD_RUN_STOP;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 893 fsl_writel(temp, &p_otg->dr_mem_map->usbcmd);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 894
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 895 /* reset the controller */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 896 temp = fsl_readl(&p_otg->dr_mem_map->usbcmd);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 897 temp |= USB_CMD_CTRL_RESET;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 898 fsl_writel(temp, &p_otg->dr_mem_map->usbcmd);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 899
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 900 /* wait reset completed */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 901 while (fsl_readl(&p_otg->dr_mem_map->usbcmd) & USB_CMD_CTRL_RESET)
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 902 ;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 903
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 904 /* configure the VBUSHS as IDLE(both host and device) */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 905 temp = USB_MODE_STREAM_DISABLE | (pdata->es ? USB_MODE_ES : 0);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 906 fsl_writel(temp, &p_otg->dr_mem_map->usbmode);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 907
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 908 /* configure PHY interface */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 909 temp = fsl_readl(&p_otg->dr_mem_map->portsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 910 temp &= ~(PORTSC_PHY_TYPE_SEL | PORTSC_PTW);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 911 switch (pdata->phy_mode) {
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 912 case FSL_USB2_PHY_ULPI:
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 913 temp |= PORTSC_PTS_ULPI;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 914 break;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 915 case FSL_USB2_PHY_UTMI_WIDE:
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 916 temp |= PORTSC_PTW_16BIT;
4e71e079432e3e drivers/usb/phy/phy-fsl-usb.c Gustavo A. R. Silva 2020-07-07 917 fallthrough;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 918 case FSL_USB2_PHY_UTMI:
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 919 temp |= PORTSC_PTS_UTMI;
4e71e079432e3e drivers/usb/phy/phy-fsl-usb.c Gustavo A. R. Silva 2020-07-07 920 fallthrough;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 921 default:
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 922 break;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 923 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 924 fsl_writel(temp, &p_otg->dr_mem_map->portsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 925
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 926 if (pdata->have_sysif_regs) {
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 927 /* configure control enable IO output, big endian register */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 928 temp = __raw_readl(&p_otg->dr_mem_map->control);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 929 temp |= USB_CTRL_IOENB;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 930 __raw_writel(temp, &p_otg->dr_mem_map->control);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 931 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 932
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 933 /* disable all interrupt and clear all OTGSC status */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 934 temp = fsl_readl(&p_otg->dr_mem_map->otgsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 935 temp &= ~OTGSC_INTERRUPT_ENABLE_BITS_MASK;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 936 temp |= OTGSC_INTERRUPT_STATUS_BITS_MASK | OTGSC_CTRL_VBUS_DISCHARGE;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 937 fsl_writel(temp, &p_otg->dr_mem_map->otgsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 938
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 939 /*
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 940 * The identification (id) input is FALSE when a Mini-A plug is inserted
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 941 * in the devices Mini-AB receptacle. Otherwise, this input is TRUE.
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 942 * Also: record initial state of ID pin
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 943 */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 944 if (fsl_readl(&p_otg->dr_mem_map->otgsc) & OTGSC_STS_USB_ID) {
e5ba1c024aa0c2 drivers/usb/phy/phy-fsl-usb.c Felipe Balbi 2014-11-12 945 p_otg->phy.otg->state = OTG_STATE_UNDEFINED;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 946 p_otg->fsm.id = 1;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 947 } else {
e5ba1c024aa0c2 drivers/usb/phy/phy-fsl-usb.c Felipe Balbi 2014-11-12 948 p_otg->phy.otg->state = OTG_STATE_A_IDLE;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 949 p_otg->fsm.id = 0;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 950 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 951
523e531ea694ea drivers/usb/phy/phy-fsl-usb.c Greg Kroah-Hartman 2013-06-28 952 pr_debug("initial ID pin=%d\n", p_otg->fsm.id);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 953
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 954 /* enable OTG ID pin interrupt */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 955 temp = fsl_readl(&p_otg->dr_mem_map->otgsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 956 temp |= OTGSC_INTR_USB_ID_EN;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 957 temp &= ~(OTGSC_CTRL_VBUS_DISCHARGE | OTGSC_INTR_1MS_TIMER_EN);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 958 fsl_writel(temp, &p_otg->dr_mem_map->otgsc);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 959
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 960 return 0;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 961 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 962
41ac7b3ab7fe1d drivers/usb/otg/fsl_otg.c Bill Pemberton 2012-11-19 963 static int fsl_otg_probe(struct platform_device *pdev)
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 964 {
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 965 int ret;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 966
19f9e188deb4bb drivers/usb/phy/phy-fsl-usb.c Jingoo Han 2013-07-30 967 if (!dev_get_platdata(&pdev->dev))
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 968 return -ENODEV;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 969
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 970 /* configure the OTG */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 971 ret = fsl_otg_conf(pdev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 972 if (ret) {
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 973 dev_err(&pdev->dev, "Couldn't configure OTG module\n");
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 974 return ret;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 975 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 976
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 977 /* start OTG */
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 978 ret = usb_otg_start(pdev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 979 if (ret) {
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 980 dev_err(&pdev->dev, "Can't init FSL OTG device\n");
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 981 return ret;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 982 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 983
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 984 return ret;
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 985 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 986
ba1e43522f3290 drivers/usb/phy/phy-fsl-usb.c Uwe Kleine-König 2023-03-19 987 static void fsl_otg_remove(struct platform_device *pdev)
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 988 {
19f9e188deb4bb drivers/usb/phy/phy-fsl-usb.c Jingoo Han 2013-07-30 989 struct fsl_usb2_platform_data *pdata = dev_get_platdata(&pdev->dev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 990
41ca62e3e21e48 drivers/usb/phy/phy-fsl-usb.c Duoming Zhou 2025-12-05 991 disable_delayed_work_sync(&fsl_otg_dev->otg_event);
662dca54ca67c9 drivers/usb/otg/fsl_otg.c Kishon Vijay Abraham I 2012-06-22 992 usb_remove_phy(&fsl_otg_dev->phy);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 993 free_irq(fsl_otg_dev->irq, fsl_otg_dev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 994
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 @995 iounmap((void *)usb_dr_regs);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 996
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 997 fsl_otg_uninit_timers();
7e062c0f888800 drivers/usb/otg/fsl_otg.c Heikki Krogerus 2012-02-13 998 kfree(fsl_otg_dev->phy.otg);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 999 kfree(fsl_otg_dev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 1000
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 1001 if (pdata->exit)
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 1002 pdata->exit(pdev);
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 1003 }
0807c500a1a6d7 drivers/usb/otg/fsl_otg.c Li Yang 2011-04-18 1004
:::::: The code at line 884 was first introduced by commit
:::::: 0807c500a1a6d7fa20cbd7bbe7fea14a66112463 USB: add Freescale USB OTG Transceiver driver
:::::: TO: Li Yang <leoli@freescale.com>
:::::: CC: Greg Kroah-Hartman <gregkh@suse.de>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-11-15 10:16 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202611151137.gimk4KBL-lkp@intel.com \
--to=lkp@intel.com \
--cc=johan@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®