diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-05 19:20:22 -0400 |
commit | abf7dba7c4f77d781f6df50fefb19a64c5dc331f (patch) | |
tree | 38648731b502d5aec508f3b33f6616190e598eb6 /drivers/fpga/altera-ps-spi.c | |
parent | 07c4dd3435aa387d3b58f4e941dc516513f14507 (diff) | |
parent | b23220fe054e92f616b82450fae8cd3ab176cc60 (diff) |
Merge tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH:
"Here is the "big" char and misc driver patches for 4.18-rc1.
It's not a lot of stuff here, but there are some highlights:
- coreboot driver updates
- soundwire driver updates
- android binder updates
- fpga big sync, mostly documentation
- lots of minor driver updates
All of these have been in linux-next for a while with no reported
issues"
* tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
vmw_balloon: fixing double free when batching mode is off
MAINTAINERS: Add driver-api/fpga path
fpga: clarify that unregister functions also free
documentation: fpga: move fpga-region.txt to driver-api
documentation: fpga: add bridge document to driver-api
documentation: fpga: move fpga-mgr.txt to driver-api
Documentation: fpga: move fpga overview to driver-api
fpga: region: kernel-doc fixes
fpga: bridge: kernel-doc fixes
fpga: mgr: kernel-doc fixes
fpga: use SPDX
fpga: region: change api, add fpga_region_create/free
fpga: bridge: change api, don't use drvdata
fpga: manager: change api, don't use drvdata
fpga: region: don't use drvdata in common fpga code
Drivers: hv: vmbus: Removed an unnecessary cast from void *
ver_linux: Drop redundant calls to system() to test if file is readable
ver_linux: Move stderr redirection from function parameter to function body
misc: IBM Virtual Management Channel Driver (VMC)
rpmsg: Correct support for MODULE_DEVICE_TABLE()
...
Diffstat (limited to 'drivers/fpga/altera-ps-spi.c')
-rw-r--r-- | drivers/fpga/altera-ps-spi.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/fpga/altera-ps-spi.c b/drivers/fpga/altera-ps-spi.c index 06d212a3d49d..24b25c626036 100644 --- a/drivers/fpga/altera-ps-spi.c +++ b/drivers/fpga/altera-ps-spi.c | |||
@@ -238,6 +238,8 @@ static int altera_ps_probe(struct spi_device *spi) | |||
238 | { | 238 | { |
239 | struct altera_ps_conf *conf; | 239 | struct altera_ps_conf *conf; |
240 | const struct of_device_id *of_id; | 240 | const struct of_device_id *of_id; |
241 | struct fpga_manager *mgr; | ||
242 | int ret; | ||
241 | 243 | ||
242 | conf = devm_kzalloc(&spi->dev, sizeof(*conf), GFP_KERNEL); | 244 | conf = devm_kzalloc(&spi->dev, sizeof(*conf), GFP_KERNEL); |
243 | if (!conf) | 245 | if (!conf) |
@@ -273,13 +275,25 @@ static int altera_ps_probe(struct spi_device *spi) | |||
273 | snprintf(conf->mgr_name, sizeof(conf->mgr_name), "%s %s", | 275 | snprintf(conf->mgr_name, sizeof(conf->mgr_name), "%s %s", |
274 | dev_driver_string(&spi->dev), dev_name(&spi->dev)); | 276 | dev_driver_string(&spi->dev), dev_name(&spi->dev)); |
275 | 277 | ||
276 | return fpga_mgr_register(&spi->dev, conf->mgr_name, | 278 | mgr = fpga_mgr_create(&spi->dev, conf->mgr_name, |
277 | &altera_ps_ops, conf); | 279 | &altera_ps_ops, conf); |
280 | if (!mgr) | ||
281 | return -ENOMEM; | ||
282 | |||
283 | spi_set_drvdata(spi, mgr); | ||
284 | |||
285 | ret = fpga_mgr_register(mgr); | ||
286 | if (ret) | ||
287 | fpga_mgr_free(mgr); | ||
288 | |||
289 | return ret; | ||
278 | } | 290 | } |
279 | 291 | ||
280 | static int altera_ps_remove(struct spi_device *spi) | 292 | static int altera_ps_remove(struct spi_device *spi) |
281 | { | 293 | { |
282 | fpga_mgr_unregister(&spi->dev); | 294 | struct fpga_manager *mgr = spi_get_drvdata(spi); |
295 | |||
296 | fpga_mgr_unregister(mgr); | ||
283 | 297 | ||
284 | return 0; | 298 | return 0; |
285 | } | 299 | } |