* [openeuler:OLK-6.6 3493/3493] drivers/ata/ahci_zhaoxin_sgpio.c:31:5: warning: no previous prototype for 'ahci_wait_em_reset'
@ 2025-12-08 18:58 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-12-08 18:58 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
Hi leoliu-oc,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: 36141432a37f7dedddde8825e724b07ce3a440fb
commit: fb43492008c11fe89e510dd63383a2d37ea3cf8e [3493/3493] ata: ahci: Add support for AHCI SGPIO Enclosure Management
config: x86_64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20251208/202512081930.DAECHxia-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251208/202512081930.DAECHxia-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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512081930.DAECHxia-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/ata/ahci_zhaoxin_sgpio.c:31:5: warning: no previous prototype for 'ahci_wait_em_reset' [-Wmissing-prototypes]
31 | int ahci_wait_em_reset(struct sgpio_zhaoxin *sgpio_zhaoxin, u32 retry)
| ^~~~~~~~~~~~~~~~~~
>> drivers/ata/ahci_zhaoxin_sgpio.c:55:6: warning: no previous prototype for 'ahci_zhaoxin_set_em_sgpio' [-Wmissing-prototypes]
55 | void ahci_zhaoxin_set_em_sgpio(struct sgpio_zhaoxin *sgpio_zhaoxin)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/ata/ahci_zhaoxin_sgpio.c:99:6: warning: no previous prototype for 'ahci_zhaoxin_set_em_sgpio_gpmode' [-Wmissing-prototypes]
99 | void ahci_zhaoxin_set_em_sgpio_gpmode(struct sgpio_zhaoxin *sgpio_zhaoxin)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/ata/ahci_zhaoxin_sgpio.c:601:6: warning: no previous prototype for 'set_em_messages' [-Wmissing-prototypes]
601 | void set_em_messages(struct sgpio_zhaoxin *sgpio_zhaoxin)
| ^~~~~~~~~~~~~~~
>> drivers/ata/ahci_zhaoxin_sgpio.c:621:5: warning: no previous prototype for 'add_sgpio_zhaoxin' [-Wmissing-prototypes]
621 | int add_sgpio_zhaoxin(void)
| ^~~~~~~~~~~~~~~~~
>> drivers/ata/ahci_zhaoxin_sgpio.c:673:6: warning: no previous prototype for 'remove_sgpio_zhaoxin' [-Wmissing-prototypes]
673 | void remove_sgpio_zhaoxin(void)
| ^~~~~~~~~~~~~~~~~~~~
vim +/ahci_wait_em_reset +31 drivers/ata/ahci_zhaoxin_sgpio.c
25
26 static unsigned int zhaoxin_em_type __read_mostly = AHCI_EM_MSG_LED_MODE; /*LED protocol*/
27 module_param(zhaoxin_em_type, int, 0644);
28 MODULE_PARM_DESC(zhaoxin_em_type,
29 "AHCI Enclosure Management Message type control (1 = led on, 2 = sgpio on,3 = sgpio gp on)");
30
> 31 int ahci_wait_em_reset(struct sgpio_zhaoxin *sgpio_zhaoxin, u32 retry)
32 {
33 void __iomem *mmio = sgpio_zhaoxin->mmio;
34 u32 em_ctl;
35
36 if (!sgpio_zhaoxin || retry == 0) {
37 pr_err("In ahci wait em reset, invalid param\n");
38 return -EINVAL;
39 }
40
41 while (retry--) { /*EM_CTL needs reset at least 64ms*/
42 em_ctl = readl(mmio + HOST_EM_CTL);
43 if (em_ctl & EM_CTL_RST)
44 usleep_range(10000, 20000); /*EM_CTL still in reset, usleep 10ms*/
45 else
46 break;
47
48 if (!retry)
49 pr_err("Wait for EM_CTL reset, time out\n");
50 }
51
52 return 0;
53 }
54
> 55 void ahci_zhaoxin_set_em_sgpio(struct sgpio_zhaoxin *sgpio_zhaoxin)
56 {
57 void __iomem *mmio = sgpio_zhaoxin->mmio;
58 void __iomem *em_mmio = mmio + SGPIO_OFFSET;
59
60 u32 read;
61
62 sgpio_zhaoxin->sgpio_reg.cfg_0.enable = 1;
63
64 sgpio_zhaoxin->sgpio_reg.cfg_1.blink_gen_a = 0x7;
65 sgpio_zhaoxin->sgpio_reg.cfg_1.blink_gen_b = 0x3;
66 sgpio_zhaoxin->sgpio_reg.cfg_1.blink_gen_c = 0x0;
67 sgpio_zhaoxin->sgpio_reg.cfg_1.stretch_act_on = 0;
68 sgpio_zhaoxin->sgpio_reg.cfg_1.stretch_act_off = 0;
69 sgpio_zhaoxin->sgpio_reg.cfg_1.max_act_on = 2;
70 sgpio_zhaoxin->sgpio_reg.cfg_1.force_act_off = 1;
71
72 sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.sload = 0xf;
73 sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.count = 0x0;
74
75 sgpio_zhaoxin->sgpio_reg.transmit_0.sgpio_tx_0 = 0;
76 sgpio_zhaoxin->sgpio_reg.transmit_1.sgpio_tx_1 = 0;
77 sgpio_zhaoxin->sgpio_reg.gp_transmit_reg.sgpio_tx_gp = 0;
78
79 sgpio_zhaoxin->sgpio_reg.receive_reg.sgpio_rx = 0x07070707;
80 sgpio_zhaoxin->sgpio_reg.gp_receive_reg.sgpio_rx_gp = 0;
81
82 /*Setup SGPIO type*/
83 read = readl(mmio + sgpio_zhaoxin->em_loc);
84 read = read | SGPIO_MESSAGE_HEAD; /*LED register MSG_HEAD, select SGPIO*/
85 writel(read, mmio + sgpio_zhaoxin->em_loc);
86
87 /*Setup gp mode*/
88 writel(sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.sgpio_tx_gp_cfg, em_mmio + 0x38);
89
90 /*Initial SGPIO CFG1*/
91 writel(sgpio_zhaoxin->sgpio_reg.cfg_1.sgpio_cfg_1, em_mmio + 0x4);
92
93 /*Initial SGPIO CFG0*/
94 read = readl(em_mmio);
95 read |= sgpio_zhaoxin->sgpio_reg.cfg_0.sgpio_cfg_0;
96 writel(read, em_mmio);
97 }
98
> 99 void ahci_zhaoxin_set_em_sgpio_gpmode(struct sgpio_zhaoxin *sgpio_zhaoxin)
100 {
101 void __iomem *mmio = sgpio_zhaoxin->mmio;
102 void __iomem *em_mmio = mmio + SGPIO_OFFSET;
103 u32 read;
104
105 sgpio_zhaoxin->sgpio_reg.cfg_0.enable = 1;
106
107 sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.sload = 0xf;
108 sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.count = 0xff;
109
110 sgpio_zhaoxin->sgpio_reg.transmit_0.sgpio_tx_0 = 0;
111 sgpio_zhaoxin->sgpio_reg.transmit_1.sgpio_tx_1 = 0;
112 sgpio_zhaoxin->sgpio_reg.gp_transmit_reg.sgpio_tx_gp = 0;
113
114 sgpio_zhaoxin->sgpio_reg.receive_reg.sgpio_rx = 0;
115 sgpio_zhaoxin->sgpio_reg.gp_receive_reg.sgpio_rx_gp = 0xff0f0000;
116
117 /*Setup SGPIO type*/
118 read = readl(mmio + sgpio_zhaoxin->em_loc);
119 read |= SGPIO_MESSAGE_HEAD;
120 writel(read, mmio + sgpio_zhaoxin->em_loc);
121
122 /*Setup gp mode*/
123 writel(sgpio_zhaoxin->sgpio_reg.gp_transmit_cfg.sgpio_tx_gp_cfg, em_mmio + 0x38);
124
125 /*Enable SGPIO*/
126 writel(sgpio_zhaoxin->sgpio_reg.cfg_0.sgpio_cfg_0, em_mmio);
127 }
128
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-12-08 18:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-08 18:58 [openeuler:OLK-6.6 3493/3493] drivers/ata/ahci_zhaoxin_sgpio.c:31:5: warning: no previous prototype for 'ahci_wait_em_reset' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.