diff options
Diffstat (limited to 'drivers/staging/greybus')
-rw-r--r-- | drivers/staging/greybus/Kconfig | 1 | ||||
-rw-r--r-- | drivers/staging/greybus/audio_codec.h | 122 | ||||
-rw-r--r-- | drivers/staging/greybus/audio_manager.c | 3 | ||||
-rw-r--r-- | drivers/staging/greybus/bundle.c | 2 | ||||
-rw-r--r-- | drivers/staging/greybus/hid.c | 1 | ||||
-rw-r--r-- | drivers/staging/greybus/power_supply.c | 4 | ||||
-rw-r--r-- | drivers/staging/greybus/sdio.c | 8 |
7 files changed, 72 insertions, 69 deletions
diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig index b571e4e8060b..4894c3514955 100644 --- a/drivers/staging/greybus/Kconfig +++ b/drivers/staging/greybus/Kconfig @@ -1,3 +1,4 @@ +# SPDX-License-Identifier: GPL-2.0 menuconfig GREYBUS tristate "Greybus support" depends on SYSFS diff --git a/drivers/staging/greybus/audio_codec.h b/drivers/staging/greybus/audio_codec.h index d36f8cd35e06..9ba09ea9c2fc 100644 --- a/drivers/staging/greybus/audio_codec.h +++ b/drivers/staging/greybus/audio_codec.h @@ -173,66 +173,66 @@ int gbaudio_register_module(struct gbaudio_module_info *module); void gbaudio_unregister_module(struct gbaudio_module_info *module); /* protocol related */ -extern int gb_audio_gb_get_topology(struct gb_connection *connection, - struct gb_audio_topology **topology); -extern int gb_audio_gb_get_control(struct gb_connection *connection, - u8 control_id, u8 index, - struct gb_audio_ctl_elem_value *value); -extern int gb_audio_gb_set_control(struct gb_connection *connection, - u8 control_id, u8 index, - struct gb_audio_ctl_elem_value *value); -extern int gb_audio_gb_enable_widget(struct gb_connection *connection, - u8 widget_id); -extern int gb_audio_gb_disable_widget(struct gb_connection *connection, - u8 widget_id); -extern int gb_audio_gb_get_pcm(struct gb_connection *connection, - u16 data_cport, u32 *format, - u32 *rate, u8 *channels, - u8 *sig_bits); -extern int gb_audio_gb_set_pcm(struct gb_connection *connection, - u16 data_cport, u32 format, - u32 rate, u8 channels, - u8 sig_bits); -extern int gb_audio_gb_set_tx_data_size(struct gb_connection *connection, - u16 data_cport, u16 size); -extern int gb_audio_gb_activate_tx(struct gb_connection *connection, - u16 data_cport); -extern int gb_audio_gb_deactivate_tx(struct gb_connection *connection, - u16 data_cport); -extern int gb_audio_gb_set_rx_data_size(struct gb_connection *connection, - u16 data_cport, u16 size); -extern int gb_audio_gb_activate_rx(struct gb_connection *connection, - u16 data_cport); -extern int gb_audio_gb_deactivate_rx(struct gb_connection *connection, - u16 data_cport); -extern int gb_audio_apbridgea_set_config(struct gb_connection *connection, - __u16 i2s_port, __u32 format, - __u32 rate, __u32 mclk_freq); -extern int gb_audio_apbridgea_register_cport(struct gb_connection *connection, - __u16 i2s_port, __u16 cportid, - __u8 direction); -extern int gb_audio_apbridgea_unregister_cport(struct gb_connection *connection, - __u16 i2s_port, __u16 cportid, - __u8 direction); -extern int gb_audio_apbridgea_set_tx_data_size(struct gb_connection *connection, - __u16 i2s_port, __u16 size); -extern int gb_audio_apbridgea_prepare_tx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_start_tx(struct gb_connection *connection, - __u16 i2s_port, __u64 timestamp); -extern int gb_audio_apbridgea_stop_tx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_shutdown_tx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_set_rx_data_size(struct gb_connection *connection, - __u16 i2s_port, __u16 size); -extern int gb_audio_apbridgea_prepare_rx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_start_rx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_stop_rx(struct gb_connection *connection, - __u16 i2s_port); -extern int gb_audio_apbridgea_shutdown_rx(struct gb_connection *connection, - __u16 i2s_port); +int gb_audio_gb_get_topology(struct gb_connection *connection, + struct gb_audio_topology **topology); +int gb_audio_gb_get_control(struct gb_connection *connection, + u8 control_id, u8 index, + struct gb_audio_ctl_elem_value *value); +int gb_audio_gb_set_control(struct gb_connection *connection, + u8 control_id, u8 index, + struct gb_audio_ctl_elem_value *value); +int gb_audio_gb_enable_widget(struct gb_connection *connection, + u8 widget_id); +int gb_audio_gb_disable_widget(struct gb_connection *connection, + u8 widget_id); +int gb_audio_gb_get_pcm(struct gb_connection *connection, + u16 data_cport, u32 *format, + u32 *rate, u8 *channels, + u8 *sig_bits); +int gb_audio_gb_set_pcm(struct gb_connection *connection, + u16 data_cport, u32 format, + u32 rate, u8 channels, + u8 sig_bits); +int gb_audio_gb_set_tx_data_size(struct gb_connection *connection, + u16 data_cport, u16 size); +int gb_audio_gb_activate_tx(struct gb_connection *connection, + u16 data_cport); +int gb_audio_gb_deactivate_tx(struct gb_connection *connection, + u16 data_cport); +int gb_audio_gb_set_rx_data_size(struct gb_connection *connection, + u16 data_cport, u16 size); +int gb_audio_gb_activate_rx(struct gb_connection *connection, + u16 data_cport); +int gb_audio_gb_deactivate_rx(struct gb_connection *connection, + u16 data_cport); +int gb_audio_apbridgea_set_config(struct gb_connection *connection, + __u16 i2s_port, __u32 format, + __u32 rate, __u32 mclk_freq); +int gb_audio_apbridgea_register_cport(struct gb_connection *connection, + __u16 i2s_port, __u16 cportid, + __u8 direction); +int gb_audio_apbridgea_unregister_cport(struct gb_connection *connection, + __u16 i2s_port, __u16 cportid, + __u8 direction); +int gb_audio_apbridgea_set_tx_data_size(struct gb_connection *connection, + __u16 i2s_port, __u16 size); +int gb_audio_apbridgea_prepare_tx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_start_tx(struct gb_connection *connection, + __u16 i2s_port, __u64 timestamp); +int gb_audio_apbridgea_stop_tx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_shutdown_tx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_set_rx_data_size(struct gb_connection *connection, + __u16 i2s_port, __u16 size); +int gb_audio_apbridgea_prepare_rx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_start_rx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_stop_rx(struct gb_connection *connection, + __u16 i2s_port); +int gb_audio_apbridgea_shutdown_rx(struct gb_connection *connection, + __u16 i2s_port); #endif /* __LINUX_GBAUDIO_CODEC_H */ diff --git a/drivers/staging/greybus/audio_manager.c b/drivers/staging/greybus/audio_manager.c index d44b070d8862..c2a4af4c1d06 100644 --- a/drivers/staging/greybus/audio_manager.c +++ b/drivers/staging/greybus/audio_manager.c @@ -45,6 +45,9 @@ int gb_audio_manager_add(struct gb_audio_manager_module_descriptor *desc) int err; id = ida_simple_get(&module_id, 0, 0, GFP_KERNEL); + if (id < 0) + return id; + err = gb_audio_manager_module_create(&module, manager_kset, id, desc); if (err) { diff --git a/drivers/staging/greybus/bundle.c b/drivers/staging/greybus/bundle.c index e97b2b87ba47..3f702db9e098 100644 --- a/drivers/staging/greybus/bundle.c +++ b/drivers/staging/greybus/bundle.c @@ -32,7 +32,7 @@ static ssize_t state_show(struct device *dev, struct device_attribute *attr, { struct gb_bundle *bundle = to_gb_bundle(dev); - if (bundle->state == NULL) + if (!bundle->state) return sprintf(buf, "\n"); return sprintf(buf, "%s\n", bundle->state); diff --git a/drivers/staging/greybus/hid.c b/drivers/staging/greybus/hid.c index 0b72e1b9d325..8ab810bf5716 100644 --- a/drivers/staging/greybus/hid.c +++ b/drivers/staging/greybus/hid.c @@ -292,7 +292,6 @@ static int gb_hid_parse(struct hid_device *hid) rdesc = kzalloc(rsize, GFP_KERNEL); if (!rdesc) { - dbg_hid("couldn't allocate rdesc memory\n"); return -ENOMEM; } diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c index 0529e5628c24..34b40a409ea3 100644 --- a/drivers/staging/greybus/power_supply.c +++ b/drivers/staging/greybus/power_supply.c @@ -520,8 +520,8 @@ static int gb_power_supply_prop_descriptors_get(struct gb_power_supply *gbpsy) op = gb_operation_create(connection, GB_POWER_SUPPLY_TYPE_GET_PROP_DESCRIPTORS, - sizeof(req), sizeof(*resp) + props_count * - sizeof(struct gb_power_supply_props_desc), + sizeof(*req), + struct_size(resp, props, props_count), GFP_KERNEL); if (!op) return -ENOMEM; diff --git a/drivers/staging/greybus/sdio.c b/drivers/staging/greybus/sdio.c index 38e85033fc4b..a097a8916b3b 100644 --- a/drivers/staging/greybus/sdio.c +++ b/drivers/staging/greybus/sdio.c @@ -275,7 +275,7 @@ static int _gb_sdio_send(struct gb_sdio_host *host, struct mmc_data *data, return -ENOMEM; request = operation->request->payload; - request->data_flags = (data->flags >> 8); + request->data_flags = data->flags >> 8; request->data_blocks = cpu_to_le16(nblocks); request->data_blksz = cpu_to_le16(data->blksz); @@ -329,7 +329,7 @@ static int _gb_sdio_recv(struct gb_sdio_host *host, struct mmc_data *data, return -ENOMEM; request = operation->request->payload; - request->data_flags = (data->flags >> 8); + request->data_flags = data->flags >> 8; request->data_blocks = cpu_to_le16(nblocks); request->data_blksz = cpu_to_le16(data->blksz); @@ -602,9 +602,9 @@ static void gb_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) vdd = 1 << (ios->vdd - GB_SDIO_VDD_SHIFT); request.vdd = cpu_to_le32(vdd); - request.bus_mode = (ios->bus_mode == MMC_BUSMODE_OPENDRAIN ? + request.bus_mode = ios->bus_mode == MMC_BUSMODE_OPENDRAIN ? GB_SDIO_BUSMODE_OPENDRAIN : - GB_SDIO_BUSMODE_PUSHPULL); + GB_SDIO_BUSMODE_PUSHPULL; switch (ios->power_mode) { case MMC_POWER_OFF: |