Skip to content

Commit 8fd06d4

Browse files
committed
Merge tag 'char-misc-6.3-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver fixes from Greg KH: "Here are some last-minute tiny driver fixes for 6.3-final. They include fixes for some fpga and iio drivers: - fpga bridge driver fix - fpga dfl error reporting fix - fpga m10bmc driver fix - fpga xilinx driver fix - iio light driver fix - iio dac fwhandle leak fix - iio adc driver fix All of these have been in linux-next for a few weeks with no reported problems" * tag 'char-misc-6.3-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: iio: light: tsl2772: fix reading proximity-diodes from device tree fpga: bridge: properly initialize bridge device before populating children iio: dac: ad5755: Add missing fwnode_handle_put() iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger() fpga: xilinx-pr-decoupler: Use readl wrapper instead of pure readl fpga: dfl-pci: Drop redundant pci_enable_pcie_error_reporting() fpga: m10bmc-sec: Fix rsu_send_data() to return FW_UPLOAD_ERR_HW_ERROR
2 parents bdc83e0 + a042d7f commit 8fd06d4

File tree

7 files changed

+13
-18
lines changed

7 files changed

+13
-18
lines changed

drivers/fpga/dfl-pci.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include <linux/module.h>
2222
#include <linux/stddef.h>
2323
#include <linux/errno.h>
24-
#include <linux/aer.h>
2524

2625
#include "dfl.h"
2726

@@ -376,35 +375,29 @@ int cci_pci_probe(struct pci_dev *pcidev, const struct pci_device_id *pcidevid)
376375
return ret;
377376
}
378377

379-
ret = pci_enable_pcie_error_reporting(pcidev);
380-
if (ret && ret != -EINVAL)
381-
dev_info(&pcidev->dev, "PCIE AER unavailable %d.\n", ret);
382-
383378
pci_set_master(pcidev);
384379

385380
ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(64));
386381
if (ret)
387382
ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(32));
388383
if (ret) {
389384
dev_err(&pcidev->dev, "No suitable DMA support available.\n");
390-
goto disable_error_report_exit;
385+
return ret;
391386
}
392387

393388
ret = cci_init_drvdata(pcidev);
394389
if (ret) {
395390
dev_err(&pcidev->dev, "Fail to init drvdata %d.\n", ret);
396-
goto disable_error_report_exit;
391+
return ret;
397392
}
398393

399394
ret = cci_enumerate_feature_devs(pcidev);
400-
if (!ret)
395+
if (ret) {
396+
dev_err(&pcidev->dev, "enumeration failure %d.\n", ret);
401397
return ret;
398+
}
402399

403-
dev_err(&pcidev->dev, "enumeration failure %d.\n", ret);
404-
405-
disable_error_report_exit:
406-
pci_disable_pcie_error_reporting(pcidev);
407-
return ret;
400+
return 0;
408401
}
409402

410403
static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
@@ -448,7 +441,6 @@ static void cci_pci_remove(struct pci_dev *pcidev)
448441
cci_pci_sriov_configure(pcidev, 0);
449442

450443
cci_remove_feature_devs(pcidev);
451-
pci_disable_pcie_error_reporting(pcidev);
452444
}
453445

454446
static struct pci_driver cci_pci_driver = {

drivers/fpga/fpga-bridge.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,6 @@ fpga_bridge_register(struct device *parent, const char *name,
363363
bridge->dev.parent = parent;
364364
bridge->dev.of_node = parent->of_node;
365365
bridge->dev.id = id;
366-
of_platform_populate(bridge->dev.of_node, NULL, NULL, &bridge->dev);
367366

368367
ret = dev_set_name(&bridge->dev, "br%d", id);
369368
if (ret)
@@ -375,6 +374,8 @@ fpga_bridge_register(struct device *parent, const char *name,
375374
return ERR_PTR(ret);
376375
}
377376

377+
of_platform_populate(bridge->dev.of_node, NULL, NULL, &bridge->dev);
378+
378379
return bridge;
379380

380381
error_device:

drivers/fpga/intel-m10-bmc-sec-update.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ static enum fw_upload_err rsu_send_data(struct m10bmc_sec *sec)
474474

475475
ret = sec->ops->rsu_status(sec);
476476
if (ret < 0)
477-
return ret;
477+
return FW_UPLOAD_ERR_HW_ERROR;
478478
status = ret;
479479

480480
if (!rsu_status_ok(status)) {

drivers/fpga/xilinx-pr-decoupler.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ static int xlnx_pr_decoupler_enable_show(struct fpga_bridge *bridge)
6969
if (err)
7070
return err;
7171

72-
status = readl(priv->io_base);
72+
status = xlnx_pr_decouple_read(priv, CTRL_OFFSET);
7373

7474
clk_disable(priv->clk);
7575

drivers/iio/adc/at91-sama5d2_adc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1409,7 +1409,7 @@ static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *indio,
14091409
trig = devm_iio_trigger_alloc(&indio->dev, "%s-dev%d-%s", indio->name,
14101410
iio_device_id(indio), trigger_name);
14111411
if (!trig)
1412-
return NULL;
1412+
return ERR_PTR(-ENOMEM);
14131413

14141414
trig->dev.parent = indio->dev.parent;
14151415
iio_trigger_set_drvdata(trig, indio);

drivers/iio/dac/ad5755.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,7 @@ static struct ad5755_platform_data *ad5755_parse_fw(struct device *dev)
802802
return pdata;
803803

804804
error_out:
805+
fwnode_handle_put(pp);
805806
devm_kfree(dev, pdata);
806807
return NULL;
807808
}

drivers/iio/light/tsl2772.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,7 @@ static int tsl2772_read_prox_diodes(struct tsl2772_chip *chip)
601601
return -EINVAL;
602602
}
603603
}
604+
chip->settings.prox_diode = prox_diode_mask;
604605

605606
return 0;
606607
}

0 commit comments

Comments
 (0)