aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget/function/f_midi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/function/f_midi.c')
-rw-r--r--drivers/usb/gadget/function/f_midi.c37
1 files changed, 16 insertions, 21 deletions
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index ce3c8a629266..42acb45e1ab4 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -902,9 +902,6 @@ static inline struct f_midi_opts *to_f_midi_opts(struct config_item *item)
902 func_inst.group); 902 func_inst.group);
903} 903}
904 904
905CONFIGFS_ATTR_STRUCT(f_midi_opts);
906CONFIGFS_ATTR_OPS(f_midi_opts);
907
908static void midi_attr_release(struct config_item *item) 905static void midi_attr_release(struct config_item *item)
909{ 906{
910 struct f_midi_opts *opts = to_f_midi_opts(item); 907 struct f_midi_opts *opts = to_f_midi_opts(item);
@@ -914,13 +911,12 @@ static void midi_attr_release(struct config_item *item)
914 911
915static struct configfs_item_operations midi_item_ops = { 912static struct configfs_item_operations midi_item_ops = {
916 .release = midi_attr_release, 913 .release = midi_attr_release,
917 .show_attribute = f_midi_opts_attr_show,
918 .store_attribute = f_midi_opts_attr_store,
919}; 914};
920 915
921#define F_MIDI_OPT(name, test_limit, limit) \ 916#define F_MIDI_OPT(name, test_limit, limit) \
922static ssize_t f_midi_opts_##name##_show(struct f_midi_opts *opts, char *page) \ 917static ssize_t f_midi_opts_##name##_show(struct config_item *item, char *page) \
923{ \ 918{ \
919 struct f_midi_opts *opts = to_f_midi_opts(item); \
924 int result; \ 920 int result; \
925 \ 921 \
926 mutex_lock(&opts->lock); \ 922 mutex_lock(&opts->lock); \
@@ -930,9 +926,10 @@ static ssize_t f_midi_opts_##name##_show(struct f_midi_opts *opts, char *page) \
930 return result; \ 926 return result; \
931} \ 927} \
932 \ 928 \
933static ssize_t f_midi_opts_##name##_store(struct f_midi_opts *opts, \ 929static ssize_t f_midi_opts_##name##_store(struct config_item *item, \
934 const char *page, size_t len) \ 930 const char *page, size_t len) \
935{ \ 931{ \
932 struct f_midi_opts *opts = to_f_midi_opts(item); \
936 int ret; \ 933 int ret; \
937 u32 num; \ 934 u32 num; \
938 \ 935 \
@@ -958,9 +955,7 @@ end: \
958 return ret; \ 955 return ret; \
959} \ 956} \
960 \ 957 \
961static struct f_midi_opts_attribute f_midi_opts_##name = \ 958CONFIGFS_ATTR(f_midi_opts_, name);
962 __CONFIGFS_ATTR(name, S_IRUGO | S_IWUSR, f_midi_opts_##name##_show, \
963 f_midi_opts_##name##_store)
964 959
965F_MIDI_OPT(index, true, SNDRV_CARDS); 960F_MIDI_OPT(index, true, SNDRV_CARDS);
966F_MIDI_OPT(buflen, false, 0); 961F_MIDI_OPT(buflen, false, 0);
@@ -968,8 +963,9 @@ F_MIDI_OPT(qlen, false, 0);
968F_MIDI_OPT(in_ports, true, MAX_PORTS); 963F_MIDI_OPT(in_ports, true, MAX_PORTS);
969F_MIDI_OPT(out_ports, true, MAX_PORTS); 964F_MIDI_OPT(out_ports, true, MAX_PORTS);
970 965
971static ssize_t f_midi_opts_id_show(struct f_midi_opts *opts, char *page) 966static ssize_t f_midi_opts_id_show(struct config_item *item, char *page)
972{ 967{
968 struct f_midi_opts *opts = to_f_midi_opts(item);
973 int result; 969 int result;
974 970
975 mutex_lock(&opts->lock); 971 mutex_lock(&opts->lock);
@@ -985,9 +981,10 @@ static ssize_t f_midi_opts_id_show(struct f_midi_opts *opts, char *page)
985 return result; 981 return result;
986} 982}
987 983
988static ssize_t f_midi_opts_id_store(struct f_midi_opts *opts, 984static ssize_t f_midi_opts_id_store(struct config_item *item,
989 const char *page, size_t len) 985 const char *page, size_t len)
990{ 986{
987 struct f_midi_opts *opts = to_f_midi_opts(item);
991 int ret; 988 int ret;
992 char *c; 989 char *c;
993 990
@@ -1012,17 +1009,15 @@ end:
1012 return ret; 1009 return ret;
1013} 1010}
1014 1011
1015static struct f_midi_opts_attribute f_midi_opts_id = 1012CONFIGFS_ATTR(f_midi_opts_, id);
1016 __CONFIGFS_ATTR(id, S_IRUGO | S_IWUSR, f_midi_opts_id_show,
1017 f_midi_opts_id_store);
1018 1013
1019static struct configfs_attribute *midi_attrs[] = { 1014static struct configfs_attribute *midi_attrs[] = {
1020 &f_midi_opts_index.attr, 1015 &f_midi_opts_attr_index,
1021 &f_midi_opts_buflen.attr, 1016 &f_midi_opts_attr_buflen,
1022 &f_midi_opts_qlen.attr, 1017 &f_midi_opts_attr_qlen,
1023 &f_midi_opts_in_ports.attr, 1018 &f_midi_opts_attr_in_ports,
1024 &f_midi_opts_out_ports.attr, 1019 &f_midi_opts_attr_out_ports,
1025 &f_midi_opts_id.attr, 1020 &f_midi_opts_attr_id,
1026 NULL, 1021 NULL,
1027}; 1022};
1028 1023