aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/iio/adc/rcar-gyroadc.c4
-rw-r--r--drivers/iio/adc/xilinx-xadc-core.c6
-rw-r--r--drivers/iio/counter/104-quad-8.c2
-rw-r--r--drivers/staging/fsl-mc/bus/fsl-mc-bus.c22
-rw-r--r--drivers/staging/lustre/lnet/selftest/rpc.c2
-rw-r--r--drivers/staging/media/platform/bcm2835/mmal-vchiq.c7
-rw-r--r--drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c8
8 files changed, 29 insertions, 23 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 6f68cefa11e2..fa0e8da55f18 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -5034,7 +5034,6 @@ F: lib/fault-inject.c
5034 5034
5035FBTFT Framebuffer drivers 5035FBTFT Framebuffer drivers
5036M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 5036M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
5037M: Noralf Trønnes <noralf@tronnes.org>
5038S: Maintained 5037S: Maintained
5039F: drivers/staging/fbtft/ 5038F: drivers/staging/fbtft/
5040 5039
diff --git a/drivers/iio/adc/rcar-gyroadc.c b/drivers/iio/adc/rcar-gyroadc.c
index 0c44f72c32a8..018ed360e717 100644
--- a/drivers/iio/adc/rcar-gyroadc.c
+++ b/drivers/iio/adc/rcar-gyroadc.c
@@ -336,7 +336,7 @@ static int rcar_gyroadc_parse_subdevs(struct iio_dev *indio_dev)
336 struct device_node *child; 336 struct device_node *child;
337 struct regulator *vref; 337 struct regulator *vref;
338 unsigned int reg; 338 unsigned int reg;
339 unsigned int adcmode, childmode; 339 unsigned int adcmode = -1, childmode;
340 unsigned int sample_width; 340 unsigned int sample_width;
341 unsigned int num_channels; 341 unsigned int num_channels;
342 int ret, first = 1; 342 int ret, first = 1;
@@ -366,6 +366,8 @@ static int rcar_gyroadc_parse_subdevs(struct iio_dev *indio_dev)
366 channels = rcar_gyroadc_iio_channels_3; 366 channels = rcar_gyroadc_iio_channels_3;
367 num_channels = ARRAY_SIZE(rcar_gyroadc_iio_channels_3); 367 num_channels = ARRAY_SIZE(rcar_gyroadc_iio_channels_3);
368 break; 368 break;
369 default:
370 return -EINVAL;
369 } 371 }
370 372
371 /* 373 /*
diff --git a/drivers/iio/adc/xilinx-xadc-core.c b/drivers/iio/adc/xilinx-xadc-core.c
index 0a6beb3d99cb..56cf5907a5f0 100644
--- a/drivers/iio/adc/xilinx-xadc-core.c
+++ b/drivers/iio/adc/xilinx-xadc-core.c
@@ -1208,7 +1208,7 @@ static int xadc_probe(struct platform_device *pdev)
1208 1208
1209 ret = xadc->ops->setup(pdev, indio_dev, irq); 1209 ret = xadc->ops->setup(pdev, indio_dev, irq);
1210 if (ret) 1210 if (ret)
1211 goto err_free_samplerate_trigger; 1211 goto err_clk_disable_unprepare;
1212 1212
1213 ret = request_irq(irq, xadc->ops->interrupt_handler, 0, 1213 ret = request_irq(irq, xadc->ops->interrupt_handler, 0,
1214 dev_name(&pdev->dev), indio_dev); 1214 dev_name(&pdev->dev), indio_dev);
@@ -1268,6 +1268,8 @@ static int xadc_probe(struct platform_device *pdev)
1268 1268
1269err_free_irq: 1269err_free_irq:
1270 free_irq(irq, indio_dev); 1270 free_irq(irq, indio_dev);
1271err_clk_disable_unprepare:
1272 clk_disable_unprepare(xadc->clk);
1271err_free_samplerate_trigger: 1273err_free_samplerate_trigger:
1272 if (xadc->ops->flags & XADC_FLAGS_BUFFERED) 1274 if (xadc->ops->flags & XADC_FLAGS_BUFFERED)
1273 iio_trigger_free(xadc->samplerate_trigger); 1275 iio_trigger_free(xadc->samplerate_trigger);
@@ -1277,8 +1279,6 @@ err_free_convst_trigger:
1277err_triggered_buffer_cleanup: 1279err_triggered_buffer_cleanup:
1278 if (xadc->ops->flags & XADC_FLAGS_BUFFERED) 1280 if (xadc->ops->flags & XADC_FLAGS_BUFFERED)
1279 iio_triggered_buffer_cleanup(indio_dev); 1281 iio_triggered_buffer_cleanup(indio_dev);
1280err_clk_disable_unprepare:
1281 clk_disable_unprepare(xadc->clk);
1282err_device_free: 1282err_device_free:
1283 kfree(indio_dev->channels); 1283 kfree(indio_dev->channels);
1284 1284
diff --git a/drivers/iio/counter/104-quad-8.c b/drivers/iio/counter/104-quad-8.c
index a5913e97945e..f9b8fc9ae13f 100644
--- a/drivers/iio/counter/104-quad-8.c
+++ b/drivers/iio/counter/104-quad-8.c
@@ -76,7 +76,7 @@ static int quad8_read_raw(struct iio_dev *indio_dev,
76 return IIO_VAL_INT; 76 return IIO_VAL_INT;
77 } 77 }
78 78
79 flags = inb(base_offset); 79 flags = inb(base_offset + 1);
80 borrow = flags & BIT(0); 80 borrow = flags & BIT(0);
81 carry = !!(flags & BIT(1)); 81 carry = !!(flags & BIT(1));
82 82
diff --git a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
index 47acb0a29842..3be5f25ff113 100644
--- a/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
+++ b/drivers/staging/fsl-mc/bus/fsl-mc-bus.c
@@ -588,8 +588,7 @@ static int parse_mc_ranges(struct device *dev,
588 int *paddr_cells, 588 int *paddr_cells,
589 int *mc_addr_cells, 589 int *mc_addr_cells,
590 int *mc_size_cells, 590 int *mc_size_cells,
591 const __be32 **ranges_start, 591 const __be32 **ranges_start)
592 u8 *num_ranges)
593{ 592{
594 const __be32 *prop; 593 const __be32 *prop;
595 int range_tuple_cell_count; 594 int range_tuple_cell_count;
@@ -602,8 +601,6 @@ static int parse_mc_ranges(struct device *dev,
602 dev_warn(dev, 601 dev_warn(dev,
603 "missing or empty ranges property for device tree node '%s'\n", 602 "missing or empty ranges property for device tree node '%s'\n",
604 mc_node->name); 603 mc_node->name);
605
606 *num_ranges = 0;
607 return 0; 604 return 0;
608 } 605 }
609 606
@@ -630,8 +627,7 @@ static int parse_mc_ranges(struct device *dev,
630 return -EINVAL; 627 return -EINVAL;
631 } 628 }
632 629
633 *num_ranges = ranges_len / tuple_len; 630 return ranges_len / tuple_len;
634 return 0;
635} 631}
636 632
637static int get_mc_addr_translation_ranges(struct device *dev, 633static int get_mc_addr_translation_ranges(struct device *dev,
@@ -639,7 +635,7 @@ static int get_mc_addr_translation_ranges(struct device *dev,
639 **ranges, 635 **ranges,
640 u8 *num_ranges) 636 u8 *num_ranges)
641{ 637{
642 int error; 638 int ret;
643 int paddr_cells; 639 int paddr_cells;
644 int mc_addr_cells; 640 int mc_addr_cells;
645 int mc_size_cells; 641 int mc_size_cells;
@@ -647,16 +643,16 @@ static int get_mc_addr_translation_ranges(struct device *dev,
647 const __be32 *ranges_start; 643 const __be32 *ranges_start;
648 const __be32 *cell; 644 const __be32 *cell;
649 645
650 error = parse_mc_ranges(dev, 646 ret = parse_mc_ranges(dev,
651 &paddr_cells, 647 &paddr_cells,
652 &mc_addr_cells, 648 &mc_addr_cells,
653 &mc_size_cells, 649 &mc_size_cells,
654 &ranges_start, 650 &ranges_start);
655 num_ranges); 651 if (ret < 0)
656 if (error < 0) 652 return ret;
657 return error;
658 653
659 if (!(*num_ranges)) { 654 *num_ranges = ret;
655 if (!ret) {
660 /* 656 /*
661 * Missing or empty ranges property ("ranges;") for the 657 * Missing or empty ranges property ("ranges;") for the
662 * 'fsl,qoriq-mc' node. In this case, identity mapping 658 * 'fsl,qoriq-mc' node. In this case, identity mapping
diff --git a/drivers/staging/lustre/lnet/selftest/rpc.c b/drivers/staging/lustre/lnet/selftest/rpc.c
index 92cd4113cf75..87fe366f8f70 100644
--- a/drivers/staging/lustre/lnet/selftest/rpc.c
+++ b/drivers/staging/lustre/lnet/selftest/rpc.c
@@ -255,7 +255,7 @@ srpc_service_init(struct srpc_service *svc)
255 svc->sv_shuttingdown = 0; 255 svc->sv_shuttingdown = 0;
256 256
257 svc->sv_cpt_data = cfs_percpt_alloc(lnet_cpt_table(), 257 svc->sv_cpt_data = cfs_percpt_alloc(lnet_cpt_table(),
258 sizeof(*svc->sv_cpt_data)); 258 sizeof(**svc->sv_cpt_data));
259 if (!svc->sv_cpt_data) 259 if (!svc->sv_cpt_data)
260 return -ENOMEM; 260 return -ENOMEM;
261 261
diff --git a/drivers/staging/media/platform/bcm2835/mmal-vchiq.c b/drivers/staging/media/platform/bcm2835/mmal-vchiq.c
index f0639ee6c8b9..fdfb6a620a43 100644
--- a/drivers/staging/media/platform/bcm2835/mmal-vchiq.c
+++ b/drivers/staging/media/platform/bcm2835/mmal-vchiq.c
@@ -397,8 +397,10 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
397 397
398 /* get context */ 398 /* get context */
399 msg_context = get_msg_context(instance); 399 msg_context = get_msg_context(instance);
400 if (msg_context == NULL) 400 if (!msg_context) {
401 return -ENOMEM; 401 ret = -ENOMEM;
402 goto unlock;
403 }
402 404
403 /* store bulk message context for when data arrives */ 405 /* store bulk message context for when data arrives */
404 msg_context->u.bulk.instance = instance; 406 msg_context->u.bulk.instance = instance;
@@ -454,6 +456,7 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
454 456
455 vchi_service_release(instance->handle); 457 vchi_service_release(instance->handle);
456 458
459unlock:
457 mutex_unlock(&instance->bulk_mutex); 460 mutex_unlock(&instance->bulk_mutex);
458 461
459 return ret; 462 return ret;
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
index e6241fb5cfa6..3aeffcb9c87e 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -121,8 +121,14 @@ int vchiq_platform_init(struct platform_device *pdev, VCHIQ_STATE_T *state)
121 if (err < 0) 121 if (err < 0)
122 return err; 122 return err;
123 123
124 (void)of_property_read_u32(dev->of_node, "cache-line-size", 124 err = of_property_read_u32(dev->of_node, "cache-line-size",
125 &g_cache_line_size); 125 &g_cache_line_size);
126
127 if (err) {
128 dev_err(dev, "Missing cache-line-size property\n");
129 return -ENODEV;
130 }
131
126 g_fragments_size = 2 * g_cache_line_size; 132 g_fragments_size = 2 * g_cache_line_size;
127 133
128 /* Allocate space for the channels in coherent memory */ 134 /* Allocate space for the channels in coherent memory */