Lines Matching refs:shared
78 struct cougar_shared *shared;
121 struct cougar_shared *shared;
124 list_for_each_entry(shared, &cougar_udev_list, list) {
125 if (hid_compare_device_paths(hdev, shared->dev, '/')) {
126 kref_get(&shared->kref);
127 return shared;
135 struct cougar_shared *shared = container_of(kref,
139 list_del(&shared->list);
142 kfree(shared);
149 if (cougar->shared) {
150 kref_put(&cougar->shared->kref, cougar_release_shared_data);
151 cougar->shared = NULL;
156 * Bind the device group's shared data to this cougar struct.
157 * If no shared data exists for this group, create and initialize it.
162 struct cougar_shared *shared;
167 shared = cougar_get_shared_data(hdev);
168 if (!shared) {
169 shared = kzalloc(sizeof(*shared), GFP_KERNEL);
170 if (!shared) {
175 kref_init(&shared->kref);
176 shared->dev = hdev;
177 list_add_tail(&shared->list, &cougar_udev_list);
180 cougar->shared = shared;
236 cougar->shared->input = hidinput->input;
237 cougar->shared->enabled = true;
262 struct cougar_shared *shared;
267 shared = cougar->shared;
268 if (!cougar->special_intf || !shared)
271 if (!shared->enabled || !shared->input)
278 input_event(shared->input, EV_KEY,
280 input_sync(shared->input);
296 if (cougar->shared)
297 cougar->shared->enabled = false;