linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC v0 0/8] Reuse firmware loader helpers
@ 2016-07-28  7:55 Daniel Wagner
  2016-07-28  7:55 ` [RFC v0 1/8] selftests: firmware: do not abort test too early Daniel Wagner
                   ` (7 more replies)
  0 siblings, 8 replies; 48+ messages in thread
From: Daniel Wagner @ 2016-07-28  7:55 UTC (permalink / raw)
  To: Bastien Nocera, Bjorn Andersson, Dmitry Torokhov,
	Greg Kroah-Hartman, Johannes Berg, Kalle Valo, Ohad Ben-Cohen
  Cc: linux-input, linux-kselftest, linux-wireless, linux-kernel,
	Daniel Wagner

From: Daniel Wagner <daniel.wagner@bmw-carit.de>

Hi,

While reviewing all the complete_all() users, I realized there is
recouring pattern how the completion API is used to synchronize the
stages of the firmware loading. Since firmware_class.c contains a
fairly complete implemetation for synching the loading, it worthwhile
to export it and reuse it in drivers, At the same time one
complete_all() user is gone which is a good thing for -rt (*).

The first 2 patches are bug fixes for the test script.

Patch 3 adds the new API, and the following patches update a few
drivers.

I haven't updated all the drivers because I wanted to see first if
this is going into the right direction. Since naming is a difficult, I
am more than please to pick a better name if you have one.

cheers,
daniel

(*) Under -rt waking all waiters via complete_all() is not good. If
the complete_all() call happens in IRQ context we have an unbound
latency there. Therefore the aim is to reduce the complete_all() users
and get rid of them where possible.

Daniel Wagner (8):
  selftests: firmware: do not abort test too early
  selftests: firmware: do not clutter output
  firmware: Factor out firmware load helpers
  Input: goodix: use firmware_stat instead of completion
  ath9k_htc: use firmware_stat instead of completion
  remoteproc: use firmware_stat instead of completion
  Input: ims-pcu: use firmware_stat instead of completion
  iwl4965: use firmware_stat instead of completion

 drivers/base/firmware_class.c                     | 112 ++++++++++------------
 drivers/input/misc/ims-pcu.c                      |  10 +-
 drivers/input/touchscreen/goodix.c                |  10 +-
 drivers/net/wireless/ath/ath9k/hif_usb.c          |  10 +-
 drivers/net/wireless/ath/ath9k/hif_usb.h          |   2 +-
 drivers/net/wireless/intel/iwlegacy/4965-mac.c    |   8 +-
 drivers/net/wireless/intel/iwlegacy/common.h      |   3 +-
 drivers/remoteproc/remoteproc_core.c              |  10 +-
 drivers/soc/ti/wkup_m3_ipc.c                      |   2 +-
 include/linux/firmware.h                          |  71 ++++++++++++++
 include/linux/remoteproc.h                        |   6 +-
 tools/testing/selftests/firmware/fw_filesystem.sh |   6 +-
 tools/testing/selftests/firmware/fw_userhelper.sh |   2 +-
 13 files changed, 158 insertions(+), 94 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2016-08-03 22:26 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-28  7:55 [RFC v0 0/8] Reuse firmware loader helpers Daniel Wagner
2016-07-28  7:55 ` [RFC v0 1/8] selftests: firmware: do not abort test too early Daniel Wagner
2016-07-28  7:55 ` [RFC v0 2/8] selftests: firmware: do not clutter output Daniel Wagner
2016-07-28  7:55 ` [RFC v0 3/8] firmware: Factor out firmware load helpers Daniel Wagner
2016-07-28 15:01   ` Dan Williams
2016-07-29  6:07     ` Daniel Wagner
2016-07-28 17:57   ` Dmitry Torokhov
2016-07-29  6:08     ` Daniel Wagner
2016-07-28  7:55 ` [RFC v0 4/8] Input: goodix: use firmware_stat instead of completion Daniel Wagner
2016-07-28 11:22   ` Bastien Nocera
2016-07-28 11:59     ` Daniel Wagner
2016-07-28 12:20       ` Bastien Nocera
2016-07-28 13:10         ` Daniel Wagner
2016-07-28  7:55 ` [RFC v0 5/8] ath9k_htc: " Daniel Wagner
2016-07-28  7:55 ` [RFC v0 6/8] remoteproc: " Daniel Wagner
2016-07-28  7:55 ` [RFC v0 7/8] Input: ims-pcu: " Daniel Wagner
2016-07-28 18:33   ` Dmitry Torokhov
2016-07-28 19:01     ` Bjorn Andersson
2016-07-29  6:13       ` Daniel Wagner
2016-07-30 12:42         ` Arend van Spriel
2016-07-30 16:58           ` Luis R. Rodriguez
2016-07-31  7:23             ` Dmitry Torokhov
     [not found]               ` <C528E404-0CA5-46B4-B551-B1D4B58BC053-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-08-01 12:26                 ` Daniel Wagner
     [not found]                   ` <37a3cd66-262e-ffbe-ea7a-a6d5b1ca1c8b-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2016-08-01 19:44                     ` Luis R. Rodriguez
2016-08-02  5:49                       ` Daniel Wagner
2016-08-02  6:34                         ` Luis R. Rodriguez
     [not found]                           ` <20160802063419.GG3296-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2016-08-02  6:53                             ` Daniel Wagner
     [not found]                               ` <2713d779-ef55-793d-f37e-d1414bb1bfc2-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2016-08-02  7:41                                 ` Luis R. Rodriguez
2016-08-03  6:57                                   ` Daniel Wagner
     [not found]                                     ` <ef14dc68-d2f8-0934-7be5-dfb3a4771f27-98C5kh4wR6ohFhg+JK9F0w@public.gmane.org>
2016-08-03 15:55                                       ` Luis R. Rodriguez
2016-08-03 16:18                                         ` Dmitry Torokhov
2016-08-03 17:37                                           ` Luis R. Rodriguez
     [not found]                                         ` <20160803155540.GL3296-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2016-08-03 18:40                                           ` Luis R. Rodriguez
2016-08-03 22:26                                         ` Bjorn Andersson
2016-08-03  7:42                                   ` Dmitry Torokhov
2016-08-03 11:43                                     ` Arend van Spriel
2016-08-03 15:18                                       ` Luis R. Rodriguez
2016-08-03 15:35                                       ` Dmitry Torokhov
2016-08-03 20:42                                         ` Arend van Spriel
2016-08-03 16:03                                     ` Luis R. Rodriguez
     [not found]                                   ` <20160802074106.GI3296-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2016-08-03 17:39                                     ` Bjorn Andersson
2016-08-03 18:08                                       ` Luis R. Rodriguez
2016-08-01 19:36               ` Luis R. Rodriguez
2016-08-01 17:19             ` Bjorn Andersson
2016-08-01 19:56               ` Luis R. Rodriguez
2016-08-01 21:34               ` Dmitry Torokhov
2016-07-31  7:17           ` Dmitry Torokhov
2016-07-28  7:55 ` [RFC v0 8/8] iwl4965: " Daniel Wagner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).