Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging/IIO driver fixes from Greg KH:
"Here are a few small staging and IIO driver fixes for issues that
showed up after the big set if changes you merged last week.

Nothing major, just small bugs resolved in some IIO drivers, a lustre
allocation fix, and some RaspberryPi driver fixes for reported
problems, as well as a MAINTAINERS entry update.

All of these have been in linux-next for a week with no reported
issues"

* tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
staging: fsl-mc: fix warning in DT ranges parser
MAINTAINERS: Remove Noralf Trønnes as fbtft maintainer
staging: vchiq_2835_arm: Make cache-line-size a required DT property
staging: bcm2835/mmal-vchiq: unlock on error in buffer_from_host()
staging/lustre/lnet: Fix allocation size for sv_cpt_data
iio: adc: xilinx: Fix error handling
iio: 104-quad-8: Fix off-by-one error when addressing flag register
iio: adc: handle unknow of_device_id data

+29 -23
-1
MAINTAINERS
··· 5034 5034 5035 5035 FBTFT Framebuffer drivers 5036 5036 M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 5037 - M: Noralf Trønnes <noralf@tronnes.org> 5038 5037 S: Maintained 5039 5038 F: drivers/staging/fbtft/ 5040 5039
+3 -1
drivers/iio/adc/rcar-gyroadc.c
··· 336 336 struct device_node *child; 337 337 struct regulator *vref; 338 338 unsigned int reg; 339 - unsigned int adcmode, childmode; 339 + unsigned int adcmode = -1, childmode; 340 340 unsigned int sample_width; 341 341 unsigned int num_channels; 342 342 int ret, first = 1; ··· 366 366 channels = rcar_gyroadc_iio_channels_3; 367 367 num_channels = ARRAY_SIZE(rcar_gyroadc_iio_channels_3); 368 368 break; 369 + default: 370 + return -EINVAL; 369 371 } 370 372 371 373 /*
+3 -3
drivers/iio/adc/xilinx-xadc-core.c
··· 1208 1208 1209 1209 ret = xadc->ops->setup(pdev, indio_dev, irq); 1210 1210 if (ret) 1211 - goto err_free_samplerate_trigger; 1211 + goto err_clk_disable_unprepare; 1212 1212 1213 1213 ret = request_irq(irq, xadc->ops->interrupt_handler, 0, 1214 1214 dev_name(&pdev->dev), indio_dev); ··· 1268 1268 1269 1269 err_free_irq: 1270 1270 free_irq(irq, indio_dev); 1271 + err_clk_disable_unprepare: 1272 + clk_disable_unprepare(xadc->clk); 1271 1273 err_free_samplerate_trigger: 1272 1274 if (xadc->ops->flags & XADC_FLAGS_BUFFERED) 1273 1275 iio_trigger_free(xadc->samplerate_trigger); ··· 1279 1277 err_triggered_buffer_cleanup: 1280 1278 if (xadc->ops->flags & XADC_FLAGS_BUFFERED) 1281 1279 iio_triggered_buffer_cleanup(indio_dev); 1282 - err_clk_disable_unprepare: 1283 - clk_disable_unprepare(xadc->clk); 1284 1280 err_device_free: 1285 1281 kfree(indio_dev->channels); 1286 1282
+1 -1
drivers/iio/counter/104-quad-8.c
··· 76 76 return IIO_VAL_INT; 77 77 } 78 78 79 - flags = inb(base_offset); 79 + flags = inb(base_offset + 1); 80 80 borrow = flags & BIT(0); 81 81 carry = !!(flags & BIT(1)); 82 82
+9 -13
drivers/staging/fsl-mc/bus/fsl-mc-bus.c
··· 588 588 int *paddr_cells, 589 589 int *mc_addr_cells, 590 590 int *mc_size_cells, 591 - const __be32 **ranges_start, 592 - u8 *num_ranges) 591 + const __be32 **ranges_start) 593 592 { 594 593 const __be32 *prop; 595 594 int range_tuple_cell_count; ··· 601 602 dev_warn(dev, 602 603 "missing or empty ranges property for device tree node '%s'\n", 603 604 mc_node->name); 604 - 605 - *num_ranges = 0; 606 605 return 0; 607 606 } 608 607 ··· 627 630 return -EINVAL; 628 631 } 629 632 630 - *num_ranges = ranges_len / tuple_len; 631 - return 0; 633 + return ranges_len / tuple_len; 632 634 } 633 635 634 636 static int get_mc_addr_translation_ranges(struct device *dev, ··· 635 639 **ranges, 636 640 u8 *num_ranges) 637 641 { 638 - int error; 642 + int ret; 639 643 int paddr_cells; 640 644 int mc_addr_cells; 641 645 int mc_size_cells; ··· 643 647 const __be32 *ranges_start; 644 648 const __be32 *cell; 645 649 646 - error = parse_mc_ranges(dev, 650 + ret = parse_mc_ranges(dev, 647 651 &paddr_cells, 648 652 &mc_addr_cells, 649 653 &mc_size_cells, 650 - &ranges_start, 651 - num_ranges); 652 - if (error < 0) 653 - return error; 654 + &ranges_start); 655 + if (ret < 0) 656 + return ret; 654 657 655 - if (!(*num_ranges)) { 658 + *num_ranges = ret; 659 + if (!ret) { 656 660 /* 657 661 * Missing or empty ranges property ("ranges;") for the 658 662 * 'fsl,qoriq-mc' node. In this case, identity mapping
+1 -1
drivers/staging/lustre/lnet/selftest/rpc.c
··· 255 255 svc->sv_shuttingdown = 0; 256 256 257 257 svc->sv_cpt_data = cfs_percpt_alloc(lnet_cpt_table(), 258 - sizeof(*svc->sv_cpt_data)); 258 + sizeof(**svc->sv_cpt_data)); 259 259 if (!svc->sv_cpt_data) 260 260 return -ENOMEM; 261 261
+5 -2
drivers/staging/media/platform/bcm2835/mmal-vchiq.c
··· 397 397 398 398 /* get context */ 399 399 msg_context = get_msg_context(instance); 400 - if (msg_context == NULL) 401 - return -ENOMEM; 400 + if (!msg_context) { 401 + ret = -ENOMEM; 402 + goto unlock; 403 + } 402 404 403 405 /* store bulk message context for when data arrives */ 404 406 msg_context->u.bulk.instance = instance; ··· 456 454 457 455 vchi_service_release(instance->handle); 458 456 457 + unlock: 459 458 mutex_unlock(&instance->bulk_mutex); 460 459 461 460 return ret;
+7 -1
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
··· 121 121 if (err < 0) 122 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 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 132 g_fragments_size = 2 * g_cache_line_size; 127 133 128 134 /* Allocate space for the channels in coherent memory */