xref: /wlan-driver/qca-wifi-host-cmn/qal/inc/qal_vbus_dev.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name /**
21*5113495bSYour Name  * DOC: qal_vbus_dev
22*5113495bSYour Name  * QCA abstraction layer (QAL) virtual bus management APIs
23*5113495bSYour Name  */
24*5113495bSYour Name 
25*5113495bSYour Name #if !defined(__QAL_VBUS_DEV_H)
26*5113495bSYour Name #define __QAL_VBUS_DEV_H
27*5113495bSYour Name 
28*5113495bSYour Name /* Include Files */
29*5113495bSYour Name #include <qdf_types.h>
30*5113495bSYour Name #include <i_qal_vbus_dev.h>
31*5113495bSYour Name 
32*5113495bSYour Name struct qdf_vbus_resource;
33*5113495bSYour Name struct qdf_vbus_rstctl;
34*5113495bSYour Name struct qdf_dev_clk;
35*5113495bSYour Name struct qdf_pfm_hndl;
36*5113495bSYour Name struct qdf_pfm_drv;
37*5113495bSYour Name struct qdf_device_node;
38*5113495bSYour Name typedef __qdf_of_gpio_flags qdf_of_gpio_flags;
39*5113495bSYour Name #ifdef ENHANCED_OS_ABSTRACTION
40*5113495bSYour Name /**
41*5113495bSYour Name  * qal_vbus_get_iorsc() - acquire io resource
42*5113495bSYour Name  * @devnum: Device Number
43*5113495bSYour Name  * @flag: Property bitmap for the io resource
44*5113495bSYour Name  * @devname: Device name string
45*5113495bSYour Name  *
46*5113495bSYour Name  * This function will allocate the io resource for a device
47*5113495bSYour Name  *
48*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
49*5113495bSYour Name  */
50*5113495bSYour Name QDF_STATUS
51*5113495bSYour Name qal_vbus_get_iorsc(int devnum, uint32_t flag, char *devname);
52*5113495bSYour Name 
53*5113495bSYour Name /**
54*5113495bSYour Name  * qal_vbus_release_iorsc() - release io resource
55*5113495bSYour Name  * @devnum: Device Number
56*5113495bSYour Name  *
57*5113495bSYour Name  * This function will release the io resource attached to a device
58*5113495bSYour Name  *
59*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
60*5113495bSYour Name  */
61*5113495bSYour Name QDF_STATUS
62*5113495bSYour Name qal_vbus_release_iorsc(int devnum);
63*5113495bSYour Name 
64*5113495bSYour Name /**
65*5113495bSYour Name  * qal_vbus_allocate_iorsc() - allocate io resource
66*5113495bSYour Name  * @pinnum: pin Number
67*5113495bSYour Name  * @label: pin name string
68*5113495bSYour Name  *
69*5113495bSYour Name  * This function will allocate the io resource for a device
70*5113495bSYour Name  *
71*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
72*5113495bSYour Name  */
73*5113495bSYour Name QDF_STATUS
74*5113495bSYour Name qal_vbus_allocate_iorsc(unsigned int pinnum, const char *label);
75*5113495bSYour Name 
76*5113495bSYour Name /**
77*5113495bSYour Name  * qal_vbus_iorsc_dir_output() - set pin dirction to output
78*5113495bSYour Name  * @pin: pin Number
79*5113495bSYour Name  * @val: value
80*5113495bSYour Name  *
81*5113495bSYour Name  * This function set the gpio pin direction to output
82*5113495bSYour Name  *
83*5113495bSYour Name  * Return: 0 on success, error no on failure
84*5113495bSYour Name  */
85*5113495bSYour Name QDF_STATUS
86*5113495bSYour Name qal_vbus_iorsc_dir_output(unsigned int pin, int val);
87*5113495bSYour Name 
88*5113495bSYour Name /**
89*5113495bSYour Name  * qal_vbus_iorsc_set_value() - set pin direction
90*5113495bSYour Name  * @pin: pin Number
91*5113495bSYour Name  * @val: value
92*5113495bSYour Name  *
93*5113495bSYour Name  * This function set the gpio pin direction based on value
94*5113495bSYour Name  *
95*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
96*5113495bSYour Name  */
97*5113495bSYour Name QDF_STATUS
98*5113495bSYour Name qal_vbus_iorsc_set_value(unsigned int pin, int val);
99*5113495bSYour Name 
100*5113495bSYour Name /**
101*5113495bSYour Name  * qal_vbus_iorsc_toirq() - set irq number to gpio
102*5113495bSYour Name  * @pin: pin Number
103*5113495bSYour Name  *
104*5113495bSYour Name  * This function set the irq number to gpio pin
105*5113495bSYour Name  *
106*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
107*5113495bSYour Name  */
108*5113495bSYour Name QDF_STATUS
109*5113495bSYour Name qal_vbus_iorsc_toirq(unsigned int pin);
110*5113495bSYour Name 
111*5113495bSYour Name /**
112*5113495bSYour Name  * qal_vbus_request_irq() - set interrupt handler
113*5113495bSYour Name  * @irqnum: irq Number
114*5113495bSYour Name  * @handler: function handler to be called
115*5113495bSYour Name  * @flags: irq flags
116*5113495bSYour Name  * @dev_name: device name
117*5113495bSYour Name  * @ctx: pointer to device context
118*5113495bSYour Name  * This function set up the handling of the interrupt
119*5113495bSYour Name  *
120*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success, Error code on failure
121*5113495bSYour Name  */
122*5113495bSYour Name QDF_STATUS
123*5113495bSYour Name qal_vbus_request_irq(unsigned int irqnum,
124*5113495bSYour Name 		     irqreturn_t (*handler)(int irq, void *arg),
125*5113495bSYour Name 		     unsigned long flags, const char *dev_name,
126*5113495bSYour Name 		     void *ctx);
127*5113495bSYour Name 
128*5113495bSYour Name /**
129*5113495bSYour Name  * __qal_vbus_free_irq() - free irq
130*5113495bSYour Name  * @irqnum: irq Number
131*5113495bSYour Name  * @ctx: pointer to device context
132*5113495bSYour Name  *
133*5113495bSYour Name  * This function free the irq number set to gpio pin
134*5113495bSYour Name  *
135*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
136*5113495bSYour Name  */
137*5113495bSYour Name static inline QDF_STATUS
138*5113495bSYour Name __qal_vbus_free_irq(unsigned int irqnum, void *ctx);
139*5113495bSYour Name 
140*5113495bSYour Name /**
141*5113495bSYour Name  * qal_vbus_enable_devclk() - enable device clock
142*5113495bSYour Name  * @clk: Device clock
143*5113495bSYour Name  *
144*5113495bSYour Name  * This function will enable the clock for a device
145*5113495bSYour Name  *
146*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
147*5113495bSYour Name  */
148*5113495bSYour Name QDF_STATUS
149*5113495bSYour Name qal_vbus_enable_devclk(struct qdf_dev_clk *clk);
150*5113495bSYour Name 
151*5113495bSYour Name /**
152*5113495bSYour Name  * qal_vbus_disable_devclk() - disable device clock
153*5113495bSYour Name  * @clk: Device clock
154*5113495bSYour Name  *
155*5113495bSYour Name  * This function will disable the clock for a device
156*5113495bSYour Name  *
157*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
158*5113495bSYour Name  */
159*5113495bSYour Name QDF_STATUS
160*5113495bSYour Name qal_vbus_disable_devclk(struct qdf_dev_clk *clk);
161*5113495bSYour Name 
162*5113495bSYour Name /**
163*5113495bSYour Name  * qal_vbus_get_dev_rstctl() - get device reset control
164*5113495bSYour Name  * @pfhndl: Device handle
165*5113495bSYour Name  * @state: Device state information
166*5113495bSYour Name  * @rstctl: Device reset control handle
167*5113495bSYour Name  *
168*5113495bSYour Name  * This function will acquire the control to reset the device
169*5113495bSYour Name  *
170*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
171*5113495bSYour Name  */
172*5113495bSYour Name QDF_STATUS
173*5113495bSYour Name qal_vbus_get_dev_rstctl(struct qdf_pfm_hndl *pfhndl, const char *state,
174*5113495bSYour Name 			struct qdf_vbus_rstctl **rstctl);
175*5113495bSYour Name 
176*5113495bSYour Name /**
177*5113495bSYour Name  * qal_vbus_release_dev_rstctl() - release device reset control
178*5113495bSYour Name  * @pfhndl: Device handle
179*5113495bSYour Name  * @rstctl: Device reset control handle
180*5113495bSYour Name  *
181*5113495bSYour Name  * This function will release the control to reset the device
182*5113495bSYour Name  *
183*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
184*5113495bSYour Name  */
185*5113495bSYour Name QDF_STATUS
186*5113495bSYour Name qal_vbus_release_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
187*5113495bSYour Name 			    struct qdf_vbus_rstctl *rstctl);
188*5113495bSYour Name 
189*5113495bSYour Name /**
190*5113495bSYour Name  * qal_vbus_activate_dev_rstctl() - activate device reset control
191*5113495bSYour Name  * @pfhndl: Device handle
192*5113495bSYour Name  * @rstctl: Device reset control handle
193*5113495bSYour Name  *
194*5113495bSYour Name  * This function will activate the reset control for the device
195*5113495bSYour Name  *
196*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
197*5113495bSYour Name  */
198*5113495bSYour Name QDF_STATUS
199*5113495bSYour Name qal_vbus_activate_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
200*5113495bSYour Name 			     struct qdf_vbus_rstctl *rstctl);
201*5113495bSYour Name 
202*5113495bSYour Name /**
203*5113495bSYour Name  * qal_vbus_deactivate_dev_rstctl() - deactivate device reset control
204*5113495bSYour Name  * @pfhndl: Device handle
205*5113495bSYour Name  * @rstctl: Device reset control handle
206*5113495bSYour Name  *
207*5113495bSYour Name  * This function will deactivate the reset control for the device
208*5113495bSYour Name  *
209*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
210*5113495bSYour Name  */
211*5113495bSYour Name QDF_STATUS
212*5113495bSYour Name qal_vbus_deactivate_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
213*5113495bSYour Name 			       struct qdf_vbus_rstctl *rstctl);
214*5113495bSYour Name 
215*5113495bSYour Name /**
216*5113495bSYour Name  * qal_vbus_get_resource() - get resource
217*5113495bSYour Name  * @pfhndl: Device handle
218*5113495bSYour Name  * @rsc: Resource handle
219*5113495bSYour Name  * @restype: Resource type
220*5113495bSYour Name  * @residx: Resource index
221*5113495bSYour Name  *
222*5113495bSYour Name  * This function will acquire a particular resource and attach it to the device
223*5113495bSYour Name  *
224*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
225*5113495bSYour Name  */
226*5113495bSYour Name QDF_STATUS
227*5113495bSYour Name qal_vbus_get_resource(struct qdf_pfm_hndl *pfhndl,
228*5113495bSYour Name 		      struct qdf_vbus_resource **rsc, uint32_t restype,
229*5113495bSYour Name 		      uint32_t residx);
230*5113495bSYour Name 
231*5113495bSYour Name /**
232*5113495bSYour Name  * qal_vbus_get_irq() - get irq
233*5113495bSYour Name  * @pfhndl: Device handle
234*5113495bSYour Name  * @str: Device identifier
235*5113495bSYour Name  * @irq: irq number
236*5113495bSYour Name  *
237*5113495bSYour Name  * This function will acquire an irq for the device
238*5113495bSYour Name  *
239*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
240*5113495bSYour Name  */
241*5113495bSYour Name QDF_STATUS
242*5113495bSYour Name qal_vbus_get_irq(struct qdf_pfm_hndl *pfhndl, const char *str, int *irq);
243*5113495bSYour Name 
244*5113495bSYour Name /**
245*5113495bSYour Name  * qal_vbus_register_driver() - register driver
246*5113495bSYour Name  * @pfdev: Device handle
247*5113495bSYour Name  *
248*5113495bSYour Name  * This function will initialize a device
249*5113495bSYour Name  *
250*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
251*5113495bSYour Name  */
252*5113495bSYour Name QDF_STATUS
253*5113495bSYour Name qal_vbus_register_driver(struct qdf_pfm_drv *pfdev);
254*5113495bSYour Name 
255*5113495bSYour Name /**
256*5113495bSYour Name  * qal_vbus_deregister_driver() - deregister driver
257*5113495bSYour Name  * @pfdev: Device handle
258*5113495bSYour Name  *
259*5113495bSYour Name  * This function will deregister the driver for a device
260*5113495bSYour Name  *
261*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
262*5113495bSYour Name  */
263*5113495bSYour Name QDF_STATUS
264*5113495bSYour Name qal_vbus_deregister_driver(struct qdf_pfm_drv *pfdev);
265*5113495bSYour Name 
266*5113495bSYour Name /**
267*5113495bSYour Name  * qal_vbus_gpio_set_value_cansleep() - assign a gpio's value
268*5113495bSYour Name  * @gpio: gpio whose value will be assigned
269*5113495bSYour Name  * @value: value to assign
270*5113495bSYour Name  *
271*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
272*5113495bSYour Name  */
273*5113495bSYour Name QDF_STATUS
274*5113495bSYour Name qal_vbus_gpio_set_value_cansleep(unsigned int gpio, int value);
275*5113495bSYour Name 
276*5113495bSYour Name /**
277*5113495bSYour Name  * qal_vbus_rcu_read_lock() - mark the beginning of an RCU read-side critical
278*5113495bSYour Name  *                            section
279*5113495bSYour Name  *
280*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
281*5113495bSYour Name  */
282*5113495bSYour Name QDF_STATUS
283*5113495bSYour Name qal_vbus_rcu_read_lock(void);
284*5113495bSYour Name 
285*5113495bSYour Name /**
286*5113495bSYour Name  * qal_vbus_rcu_read_unlock() - mark the end of an RCU read-side critical
287*5113495bSYour Name  *                              section
288*5113495bSYour Name  *
289*5113495bSYour Name  * Return: QDF_STATUS_SUCCESS on success
290*5113495bSYour Name  */
291*5113495bSYour Name QDF_STATUS
292*5113495bSYour Name qal_vbus_rcu_read_unlock(void);
293*5113495bSYour Name 
294*5113495bSYour Name /**
295*5113495bSYour Name  * qal_vbus_of_get_named_gpio_flags() - Get a GPIO descriptor and flags
296*5113495bSYour Name  * for GPIO API
297*5113495bSYour Name  * @np: device node to get GPIO from
298*5113495bSYour Name  * @list_name: property name containing gpio specifier(s)
299*5113495bSYour Name  * @index: index of the GPIO
300*5113495bSYour Name  * @flags: a flags pointer to fill in
301*5113495bSYour Name  *
302*5113495bSYour Name  * The global GPIO number for the GPIO specified by its descriptor.
303*5113495bSYour Name  */
304*5113495bSYour Name int
305*5113495bSYour Name qal_vbus_of_get_named_gpio_flags(struct qdf_device_node *np,
306*5113495bSYour Name 				 const char *list_name,
307*5113495bSYour Name 				 int index, qdf_of_gpio_flags *flags);
308*5113495bSYour Name #else
309*5113495bSYour Name static inline QDF_STATUS
qal_vbus_get_iorsc(int devnum,uint32_t flag,char * devname)310*5113495bSYour Name qal_vbus_get_iorsc(int devnum, uint32_t flag, char *devname)
311*5113495bSYour Name {
312*5113495bSYour Name 	return __qal_vbus_get_iorsc(devnum, flag, devname);
313*5113495bSYour Name }
314*5113495bSYour Name 
315*5113495bSYour Name static inline QDF_STATUS
qal_vbus_allocate_iorsc(unsigned int pinnum,const char * label)316*5113495bSYour Name qal_vbus_allocate_iorsc(unsigned int pinnum, const char *label)
317*5113495bSYour Name {
318*5113495bSYour Name 	return __qal_vbus_allocate_iorsc(pinnum, label);
319*5113495bSYour Name }
320*5113495bSYour Name 
321*5113495bSYour Name static inline QDF_STATUS
qal_vbus_iorsc_dir_output(unsigned int pin,int val)322*5113495bSYour Name qal_vbus_iorsc_dir_output(unsigned int pin, int val)
323*5113495bSYour Name {
324*5113495bSYour Name 	return __qal_vbus_iorsc_dir_output(pin, val);
325*5113495bSYour Name }
326*5113495bSYour Name 
327*5113495bSYour Name static inline QDF_STATUS
qal_vbus_iorsc_set_value(unsigned int pin,int val)328*5113495bSYour Name qal_vbus_iorsc_set_value(unsigned int pin, int val)
329*5113495bSYour Name {
330*5113495bSYour Name 	return __qal_vbus_iorsc_set_value(pin, val);
331*5113495bSYour Name }
332*5113495bSYour Name 
333*5113495bSYour Name static inline QDF_STATUS
qal_vbus_release_iorsc(int devnum)334*5113495bSYour Name qal_vbus_release_iorsc(int devnum)
335*5113495bSYour Name {
336*5113495bSYour Name 	return __qal_vbus_release_iorsc(devnum);
337*5113495bSYour Name }
338*5113495bSYour Name 
339*5113495bSYour Name static inline QDF_STATUS
qal_vbus_iorsc_toirq(unsigned int pin)340*5113495bSYour Name qal_vbus_iorsc_toirq(unsigned int pin)
341*5113495bSYour Name {
342*5113495bSYour Name 	return __qal_vbus_iorsc_toirq(pin);
343*5113495bSYour Name }
344*5113495bSYour Name 
345*5113495bSYour Name static inline QDF_STATUS
qal_vbus_request_irq(unsigned int irqnum,irqreturn_t (* handler)(int irq,void * arg),unsigned long flags,const char * dev_name,void * ctx)346*5113495bSYour Name qal_vbus_request_irq(unsigned int irqnum,
347*5113495bSYour Name 		     irqreturn_t (*handler)(int irq, void *arg),
348*5113495bSYour Name 		     unsigned long flags, const char *dev_name, void *ctx)
349*5113495bSYour Name {
350*5113495bSYour Name 	return __qal_vbus_request_irq(irqnum, handler, flags, dev_name, ctx);
351*5113495bSYour Name }
352*5113495bSYour Name 
353*5113495bSYour Name static inline QDF_STATUS
qal_vbus_free_irq(unsigned int irqnum,void * ctx)354*5113495bSYour Name qal_vbus_free_irq(unsigned int irqnum, void *ctx)
355*5113495bSYour Name {
356*5113495bSYour Name 	return __qal_vbus_free_irq(irqnum, ctx);
357*5113495bSYour Name }
358*5113495bSYour Name 
359*5113495bSYour Name static inline QDF_STATUS
qal_vbus_enable_devclk(struct qdf_dev_clk * clk)360*5113495bSYour Name qal_vbus_enable_devclk(struct qdf_dev_clk *clk)
361*5113495bSYour Name {
362*5113495bSYour Name 	return __qal_vbus_enable_devclk(clk);
363*5113495bSYour Name }
364*5113495bSYour Name 
365*5113495bSYour Name static inline QDF_STATUS
qal_vbus_disable_devclk(struct qdf_dev_clk * clk)366*5113495bSYour Name qal_vbus_disable_devclk(struct qdf_dev_clk *clk)
367*5113495bSYour Name {
368*5113495bSYour Name 	return __qal_vbus_disable_devclk(clk);
369*5113495bSYour Name }
370*5113495bSYour Name 
371*5113495bSYour Name static inline QDF_STATUS
qal_vbus_get_dev_rstctl(struct qdf_pfm_hndl * pfhndl,const char * state,struct qdf_vbus_rstctl ** rstctl)372*5113495bSYour Name qal_vbus_get_dev_rstctl(struct qdf_pfm_hndl *pfhndl, const char *state,
373*5113495bSYour Name 			struct qdf_vbus_rstctl **rstctl)
374*5113495bSYour Name {
375*5113495bSYour Name 	return __qal_vbus_get_dev_rstctl(pfhndl, state, rstctl);
376*5113495bSYour Name }
377*5113495bSYour Name 
378*5113495bSYour Name static inline QDF_STATUS
qal_vbus_release_dev_rstctl(struct qdf_pfm_hndl * pfhndl,struct qdf_vbus_rstctl * rstctl)379*5113495bSYour Name qal_vbus_release_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
380*5113495bSYour Name 			    struct qdf_vbus_rstctl *rstctl)
381*5113495bSYour Name {
382*5113495bSYour Name 	return __qal_vbus_release_dev_rstctl(pfhndl, rstctl);
383*5113495bSYour Name }
384*5113495bSYour Name 
385*5113495bSYour Name static inline QDF_STATUS
qal_vbus_activate_dev_rstctl(struct qdf_pfm_hndl * pfhndl,struct qdf_vbus_rstctl * rstctl)386*5113495bSYour Name qal_vbus_activate_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
387*5113495bSYour Name 			     struct qdf_vbus_rstctl *rstctl)
388*5113495bSYour Name {
389*5113495bSYour Name 	return __qal_vbus_activate_dev_rstctl(pfhndl, rstctl);
390*5113495bSYour Name }
391*5113495bSYour Name 
392*5113495bSYour Name static inline QDF_STATUS
qal_vbus_deactivate_dev_rstctl(struct qdf_pfm_hndl * pfhndl,struct qdf_vbus_rstctl * rstctl)393*5113495bSYour Name qal_vbus_deactivate_dev_rstctl(struct qdf_pfm_hndl *pfhndl,
394*5113495bSYour Name 			       struct qdf_vbus_rstctl *rstctl)
395*5113495bSYour Name {
396*5113495bSYour Name 	return __qal_vbus_deactivate_dev_rstctl(pfhndl, rstctl);
397*5113495bSYour Name }
398*5113495bSYour Name 
399*5113495bSYour Name static inline QDF_STATUS
qal_vbus_get_resource(struct qdf_pfm_hndl * pfhndl,struct qdf_vbus_resource ** rsc,uint32_t restype,uint32_t residx)400*5113495bSYour Name qal_vbus_get_resource(struct qdf_pfm_hndl *pfhndl,
401*5113495bSYour Name 		      struct qdf_vbus_resource **rsc, uint32_t restype,
402*5113495bSYour Name 		      uint32_t residx)
403*5113495bSYour Name {
404*5113495bSYour Name 	return __qal_vbus_get_resource(pfhndl, rsc, restype, residx);
405*5113495bSYour Name }
406*5113495bSYour Name 
407*5113495bSYour Name static inline QDF_STATUS
qal_vbus_get_irq(struct qdf_pfm_hndl * pfhndl,const char * str,int * irq)408*5113495bSYour Name qal_vbus_get_irq(struct qdf_pfm_hndl *pfhndl, const char *str, int *irq)
409*5113495bSYour Name {
410*5113495bSYour Name 	return __qal_vbus_get_irq(pfhndl, str, irq);
411*5113495bSYour Name }
412*5113495bSYour Name 
413*5113495bSYour Name static inline QDF_STATUS
qal_vbus_register_driver(struct qdf_pfm_drv * pfdev)414*5113495bSYour Name qal_vbus_register_driver(struct qdf_pfm_drv *pfdev)
415*5113495bSYour Name {
416*5113495bSYour Name 	return __qal_vbus_register_driver(pfdev);
417*5113495bSYour Name }
418*5113495bSYour Name 
419*5113495bSYour Name static inline QDF_STATUS
qal_vbus_deregister_driver(struct qdf_pfm_drv * pfdev)420*5113495bSYour Name qal_vbus_deregister_driver(struct qdf_pfm_drv *pfdev)
421*5113495bSYour Name {
422*5113495bSYour Name 	return __qal_vbus_deregister_driver(pfdev);
423*5113495bSYour Name }
424*5113495bSYour Name 
425*5113495bSYour Name static inline QDF_STATUS
qal_vbus_gpio_set_value_cansleep(unsigned int gpio,int value)426*5113495bSYour Name qal_vbus_gpio_set_value_cansleep(unsigned int gpio, int value)
427*5113495bSYour Name {
428*5113495bSYour Name 	return __qal_vbus_gpio_set_value_cansleep(gpio, value);
429*5113495bSYour Name }
430*5113495bSYour Name 
431*5113495bSYour Name static inline QDF_STATUS
qal_vbus_rcu_read_lock(void)432*5113495bSYour Name qal_vbus_rcu_read_lock(void)
433*5113495bSYour Name {
434*5113495bSYour Name 	return __qal_vbus_rcu_read_lock();
435*5113495bSYour Name }
436*5113495bSYour Name 
437*5113495bSYour Name static inline QDF_STATUS
qal_vbus_rcu_read_unlock(void)438*5113495bSYour Name qal_vbus_rcu_read_unlock(void)
439*5113495bSYour Name {
440*5113495bSYour Name 	return __qal_vbus_rcu_read_unlock();
441*5113495bSYour Name }
442*5113495bSYour Name 
443*5113495bSYour Name static inline int
qal_vbus_of_get_named_gpio_flags(struct qdf_device_node * np,const char * list_name,int index,qdf_of_gpio_flags * flags)444*5113495bSYour Name qal_vbus_of_get_named_gpio_flags(struct qdf_device_node *np,
445*5113495bSYour Name 				 const char *list_name,
446*5113495bSYour Name 				 int index, qdf_of_gpio_flags *flags)
447*5113495bSYour Name {
448*5113495bSYour Name 	return __qal_vbus_of_get_named_gpio_flags(np, list_name, index, flags);
449*5113495bSYour Name }
450*5113495bSYour Name #endif
451*5113495bSYour Name #endif  /* __QAL_VBUS_DEV_H */
452