Merge branch 'for-6.1/google' into for-linus
- convert to use dev_groups (Greg Kroah-Hartman)
This commit is contained in:
Коммит
cb7c02e91c
|
@ -608,9 +608,11 @@ static struct hid_driver hammer_driver = {
|
|||
.probe = hammer_probe,
|
||||
.remove = hammer_remove,
|
||||
.feature_mapping = vivaldi_feature_mapping,
|
||||
.input_configured = vivaldi_input_configured,
|
||||
.input_mapping = hammer_input_mapping,
|
||||
.event = hammer_event,
|
||||
.driver = {
|
||||
.dev_groups = vivaldi_attribute_groups,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init hammer_init(void)
|
||||
|
|
|
@ -116,25 +116,26 @@ static struct attribute *vivaldi_sysfs_attrs[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const struct attribute_group vivaldi_attribute_group = {
|
||||
.attrs = vivaldi_sysfs_attrs,
|
||||
};
|
||||
|
||||
/**
|
||||
* vivaldi_input_configured - Complete initialization of device using vivaldi map
|
||||
* @hdev: HID device to which vivaldi attributes should be attached
|
||||
* @hidinput: HID input device (unused)
|
||||
*/
|
||||
int vivaldi_input_configured(struct hid_device *hdev,
|
||||
struct hid_input *hidinput)
|
||||
static umode_t vivaldi_is_visible(struct kobject *kobj, struct attribute *attr,
|
||||
int n)
|
||||
{
|
||||
struct hid_device *hdev = to_hid_device(kobj_to_dev(kobj));
|
||||
struct vivaldi_data *data = hid_get_drvdata(hdev);
|
||||
|
||||
if (!data->num_function_row_keys)
|
||||
return 0;
|
||||
|
||||
return devm_device_add_group(&hdev->dev, &vivaldi_attribute_group);
|
||||
return attr->mode;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(vivaldi_input_configured);
|
||||
|
||||
static const struct attribute_group vivaldi_attribute_group = {
|
||||
.attrs = vivaldi_sysfs_attrs,
|
||||
.is_visible = vivaldi_is_visible,
|
||||
};
|
||||
|
||||
const struct attribute_group *vivaldi_attribute_groups[] = {
|
||||
&vivaldi_attribute_group,
|
||||
NULL,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(vivaldi_attribute_groups);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
|
@ -4,13 +4,11 @@
|
|||
|
||||
struct hid_device;
|
||||
struct hid_field;
|
||||
struct hid_input;
|
||||
struct hid_usage;
|
||||
|
||||
void vivaldi_feature_mapping(struct hid_device *hdev,
|
||||
struct hid_field *field, struct hid_usage *usage);
|
||||
|
||||
int vivaldi_input_configured(struct hid_device *hdev,
|
||||
struct hid_input *hidinput);
|
||||
extern const struct attribute_group *vivaldi_attribute_groups[];
|
||||
|
||||
#endif /* _HID_VIVALDI_COMMON_H */
|
||||
|
|
|
@ -45,7 +45,9 @@ static struct hid_driver hid_vivaldi = {
|
|||
.id_table = vivaldi_table,
|
||||
.probe = vivaldi_probe,
|
||||
.feature_mapping = vivaldi_feature_mapping,
|
||||
.input_configured = vivaldi_input_configured,
|
||||
.driver = {
|
||||
.dev_groups = vivaldi_attribute_groups,
|
||||
},
|
||||
};
|
||||
|
||||
module_hid_driver(hid_vivaldi);
|
||||
|
|
Загрузка…
Ссылка в новой задаче