Lines Matching refs:wl
31 struct wl1271 *wl = dev_get_drvdata(dev); in wl1271_sysfs_show_bt_coex_state() local
36 mutex_lock(&wl->mutex); in wl1271_sysfs_show_bt_coex_state()
38 wl->sg_enabled); in wl1271_sysfs_show_bt_coex_state()
39 mutex_unlock(&wl->mutex); in wl1271_sysfs_show_bt_coex_state()
49 struct wl1271 *wl = dev_get_drvdata(dev); in wl1271_sysfs_store_bt_coex_state() local
59 mutex_lock(&wl->mutex); in wl1271_sysfs_store_bt_coex_state()
63 if (res == wl->sg_enabled) in wl1271_sysfs_store_bt_coex_state()
66 wl->sg_enabled = res; in wl1271_sysfs_store_bt_coex_state()
68 if (unlikely(wl->state != WLCORE_STATE_ON)) in wl1271_sysfs_store_bt_coex_state()
71 ret = wl1271_ps_elp_wakeup(wl); in wl1271_sysfs_store_bt_coex_state()
75 wl1271_acx_sg_enable(wl, wl->sg_enabled); in wl1271_sysfs_store_bt_coex_state()
76 wl1271_ps_elp_sleep(wl); in wl1271_sysfs_store_bt_coex_state()
79 mutex_unlock(&wl->mutex); in wl1271_sysfs_store_bt_coex_state()
91 struct wl1271 *wl = dev_get_drvdata(dev); in wl1271_sysfs_show_hw_pg_ver() local
96 mutex_lock(&wl->mutex); in wl1271_sysfs_show_hw_pg_ver()
97 if (wl->hw_pg_ver >= 0) in wl1271_sysfs_show_hw_pg_ver()
98 len = snprintf(buf, len, "%d\n", wl->hw_pg_ver); in wl1271_sysfs_show_hw_pg_ver()
101 mutex_unlock(&wl->mutex); in wl1271_sysfs_show_hw_pg_ver()
114 struct wl1271 *wl = dev_get_drvdata(dev); in wl1271_sysfs_read_fwlog() local
118 ret = mutex_lock_interruptible(&wl->mutex); in wl1271_sysfs_read_fwlog()
123 if (wl->fwlog_size < 0) { in wl1271_sysfs_read_fwlog()
124 mutex_unlock(&wl->mutex); in wl1271_sysfs_read_fwlog()
129 len = min_t(size_t, count, wl->fwlog_size); in wl1271_sysfs_read_fwlog()
130 wl->fwlog_size -= len; in wl1271_sysfs_read_fwlog()
131 memcpy(buffer, wl->fwlog, len); in wl1271_sysfs_read_fwlog()
134 memmove(wl->fwlog, wl->fwlog + len, wl->fwlog_size); in wl1271_sysfs_read_fwlog()
136 mutex_unlock(&wl->mutex); in wl1271_sysfs_read_fwlog()
146 int wlcore_sysfs_init(struct wl1271 *wl) in wlcore_sysfs_init() argument
151 ret = device_create_file(wl->dev, &dev_attr_bt_coex_state); in wlcore_sysfs_init()
158 ret = device_create_file(wl->dev, &dev_attr_hw_pg_ver); in wlcore_sysfs_init()
165 ret = device_create_bin_file(wl->dev, &fwlog_attr); in wlcore_sysfs_init()
174 device_remove_file(wl->dev, &dev_attr_hw_pg_ver); in wlcore_sysfs_init()
177 device_remove_file(wl->dev, &dev_attr_bt_coex_state); in wlcore_sysfs_init()
183 void wlcore_sysfs_free(struct wl1271 *wl) in wlcore_sysfs_free() argument
185 device_remove_bin_file(wl->dev, &fwlog_attr); in wlcore_sysfs_free()
187 device_remove_file(wl->dev, &dev_attr_hw_pg_ver); in wlcore_sysfs_free()
189 device_remove_file(wl->dev, &dev_attr_bt_coex_state); in wlcore_sysfs_free()