[PATCH 00/10] sound: convert tasklets to use new tasklet_setup()
From: Allen Pais allen.lkml@gmail.com
Commit 12cc923f1ccc ("tasklet: Introduce new initialization API")' introduced a new tasklet initialization API. This series converts all the sound drivers to use the new tasklet_setup() API
Allen Pais (10): sound: core: convert tasklets to use new tasklet_setup() API sound: firewire: convert tasklets to use new tasklet_setup() API sound: asihpi: convert tasklets to use new tasklet_setup() API sound: riptide: convert tasklets to use new tasklet_setup() API sound: rm9652: convert tasklets to use new tasklet_setup() API sound/soc: fsl_esai: convert tasklets to use new tasklet_setup() API sound/soc: sh: convert tasklets to use new tasklet_setup() API sound/soc: txx9: convert tasklets to use new tasklet_setup() API sound: midi: convert tasklets to use new tasklet_setup() API sound: ua101: convert tasklets to use new tasklet_setup() API
sound/core/timer.c | 7 +++---- sound/firewire/amdtp-stream.c | 8 ++++---- sound/pci/asihpi/asihpi.c | 9 ++++----- sound/pci/riptide/riptide.c | 6 +++--- sound/pci/rme9652/hdsp.c | 6 +++--- sound/pci/rme9652/hdspm.c | 7 +++---- sound/soc/fsl/fsl_esai.c | 7 +++---- sound/soc/sh/siu_pcm.c | 10 ++++------ sound/soc/txx9/txx9aclc.c | 7 +++---- sound/usb/midi.c | 7 +++---- sound/usb/misc/ua101.c | 7 +++---- 11 files changed, 36 insertions(+), 45 deletions(-)
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/core/timer.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/core/timer.c b/sound/core/timer.c index d9f85f2d66a3..6e27d87b18ed 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -816,9 +816,9 @@ static void snd_timer_clear_callbacks(struct snd_timer *timer, * timer tasklet * */ -static void snd_timer_tasklet(unsigned long arg) +static void snd_timer_tasklet(struct tasklet_struct *t) { - struct snd_timer *timer = (struct snd_timer *) arg; + struct snd_timer *timer = from_tasklet(timer, t, task_queue); unsigned long flags;
if (timer->card && timer->card->shutdown) { @@ -967,8 +967,7 @@ int snd_timer_new(struct snd_card *card, char *id, struct snd_timer_id *tid, INIT_LIST_HEAD(&timer->ack_list_head); INIT_LIST_HEAD(&timer->sack_list_head); spin_lock_init(&timer->lock); - tasklet_init(&timer->task_queue, snd_timer_tasklet, - (unsigned long)timer); + tasklet_setup(&timer->task_queue, snd_timer_tasklet); timer->max_instances = 1000; /* default limit per timer */ if (card != NULL) { timer->module = card->module;
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/firewire/amdtp-stream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c index f8586f75441d..ee1c428b1fd3 100644 --- a/sound/firewire/amdtp-stream.c +++ b/sound/firewire/amdtp-stream.c @@ -64,7 +64,7 @@ #define IT_PKT_HEADER_SIZE_CIP 8 // For 2 CIP header. #define IT_PKT_HEADER_SIZE_NO_CIP 0 // Nothing.
-static void pcm_period_tasklet(unsigned long data); +static void pcm_period_tasklet(struct tasklet_struct *t);
/** * amdtp_stream_init - initialize an AMDTP stream structure @@ -94,7 +94,7 @@ int amdtp_stream_init(struct amdtp_stream *s, struct fw_unit *unit, s->flags = flags; s->context = ERR_PTR(-1); mutex_init(&s->mutex); - tasklet_init(&s->period_tasklet, pcm_period_tasklet, (unsigned long)s); + tasklet_setup(&s->period_tasklet, pcm_period_tasklet); s->packet_index = 0;
init_waitqueue_head(&s->callback_wait); @@ -441,9 +441,9 @@ static void update_pcm_pointers(struct amdtp_stream *s, } }
-static void pcm_period_tasklet(unsigned long data) +static void pcm_period_tasklet(struct tasklet_struct *t) { - struct amdtp_stream *s = (void *)data; + struct amdtp_stream *s = from_tasklet(s, t, period_tasklet); struct snd_pcm_substream *pcm = READ_ONCE(s->pcm);
if (pcm)
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/pci/asihpi/asihpi.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/sound/pci/asihpi/asihpi.c b/sound/pci/asihpi/asihpi.c index 023c35a2a951..35e76480306e 100644 --- a/sound/pci/asihpi/asihpi.c +++ b/sound/pci/asihpi/asihpi.c @@ -921,10 +921,10 @@ static void snd_card_asihpi_timer_function(struct timer_list *t) add_timer(&dpcm->timer); }
-static void snd_card_asihpi_int_task(unsigned long data) +static void snd_card_asihpi_int_task(struct tasklet_struct *t) { - struct hpi_adapter *a = (struct hpi_adapter *)data; - struct snd_card_asihpi *asihpi; + struct snd_card_asihpi *asihpi = from_tasklet(asihpi, t, t); + struct hpi_adapter *a = asihpi->hpi;
WARN_ON(!a || !a->snd_card || !a->snd_card->private_data); asihpi = (struct snd_card_asihpi *)a->snd_card->private_data; @@ -2871,8 +2871,7 @@ static int snd_asihpi_probe(struct pci_dev *pci_dev, if (hpi->interrupt_mode) { asihpi->pcm_start = snd_card_asihpi_pcm_int_start; asihpi->pcm_stop = snd_card_asihpi_pcm_int_stop; - tasklet_init(&asihpi->t, snd_card_asihpi_int_task, - (unsigned long)hpi); + tasklet_setup(&asihpi->t, snd_card_asihpi_int_task); hpi->interrupt_callback = snd_card_asihpi_isr; } else { asihpi->pcm_start = snd_card_asihpi_pcm_timer_start;
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/pci/riptide/riptide.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c index b4f300281822..098c69b3b7aa 100644 --- a/sound/pci/riptide/riptide.c +++ b/sound/pci/riptide/riptide.c @@ -1070,9 +1070,9 @@ getmixer(struct cmdif *cif, short num, unsigned short *rval, return 0; }
-static void riptide_handleirq(unsigned long dev_id) +static void riptide_handleirq(struct tasklet_struct *t) { - struct snd_riptide *chip = (void *)dev_id; + struct snd_riptide *chip = from_tasklet(chip, t, riptide_tq); struct cmdif *cif = chip->cif; struct snd_pcm_substream *substream[PLAYBACK_SUBSTREAMS + 1]; struct snd_pcm_runtime *runtime; @@ -1843,7 +1843,7 @@ snd_riptide_create(struct snd_card *card, struct pci_dev *pci, chip->received_irqs = 0; chip->handled_irqs = 0; chip->cif = NULL; - tasklet_init(&chip->riptide_tq, riptide_handleirq, (unsigned long)chip); + tasklet_setup(&chip->riptide_tq, riptide_handleirq);
if ((chip->res_port = request_region(chip->port, 64, "RIPTIDE")) == NULL) {
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/pci/rme9652/hdsp.c | 6 +++--- sound/pci/rme9652/hdspm.c | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index 227aece17e39..dda56ecfd33b 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c @@ -3791,9 +3791,9 @@ static int snd_hdsp_set_defaults(struct hdsp *hdsp) return 0; }
-static void hdsp_midi_tasklet(unsigned long arg) +static void hdsp_midi_tasklet(struct tasklet_struct *t) { - struct hdsp *hdsp = (struct hdsp *)arg; + struct hdsp *hdsp = from_tasklet(hdsp, t, midi_tasklet);
if (hdsp->midi[0].pending) snd_hdsp_midi_input_read (&hdsp->midi[0]); @@ -5182,7 +5182,7 @@ static int snd_hdsp_create(struct snd_card *card,
spin_lock_init(&hdsp->lock);
- tasklet_init(&hdsp->midi_tasklet, hdsp_midi_tasklet, (unsigned long)hdsp); + tasklet_setup(&hdsp->midi_tasklet, hdsp_midi_tasklet);
pci_read_config_word(hdsp->pci, PCI_CLASS_REVISION, &hdsp->firmware_rev); hdsp->firmware_rev &= 0xff; diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index 0fa49f4d15cf..572350aaf18d 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c @@ -2169,9 +2169,9 @@ static int snd_hdspm_create_midi(struct snd_card *card, }
-static void hdspm_midi_tasklet(unsigned long arg) +static void hdspm_midi_tasklet(struct tasklet_struct *t) { - struct hdspm *hdspm = (struct hdspm *)arg; + struct hdspm *hdspm = from_tasklet(hdspm, t, midi_tasklet); int i = 0;
while (i < hdspm->midiPorts) { @@ -6836,8 +6836,7 @@ static int snd_hdspm_create(struct snd_card *card,
}
- tasklet_init(&hdspm->midi_tasklet, - hdspm_midi_tasklet, (unsigned long) hdspm); + tasklet_setup(&hdspm->midi_tasklet, hdspm_midi_tasklet);
if (hdspm->io_type != MADIface) {
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/soc/fsl/fsl_esai.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 4ae36099ae82..79b861afd986 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -708,9 +708,9 @@ static void fsl_esai_trigger_stop(struct fsl_esai *esai_priv, bool tx) ESAI_xFCR_xFR, 0); }
-static void fsl_esai_hw_reset(unsigned long arg) +static void fsl_esai_hw_reset(struct tasklet_struct *t) { - struct fsl_esai *esai_priv = (struct fsl_esai *)arg; + struct fsl_esai *esai_priv = from_tasklet(esai_priv, t, task); bool tx = true, rx = false, enabled[2]; unsigned long lock_flags; u32 tfcr, rfcr; @@ -1070,8 +1070,7 @@ static int fsl_esai_probe(struct platform_device *pdev) return ret; }
- tasklet_init(&esai_priv->task, fsl_esai_hw_reset, - (unsigned long)esai_priv); + tasklet_setup(&esai_priv->task, fsl_esai_hw_reset);
pm_runtime_enable(&pdev->dev);
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/soc/sh/siu_pcm.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/sound/soc/sh/siu_pcm.c b/sound/soc/sh/siu_pcm.c index bd9de77c35f3..50fc7810723e 100644 --- a/sound/soc/sh/siu_pcm.c +++ b/sound/soc/sh/siu_pcm.c @@ -198,9 +198,9 @@ static int siu_pcm_rd_set(struct siu_port *port_info, return 0; }
-static void siu_io_tasklet(unsigned long data) +static void siu_io_tasklet(struct tasklet_struct *t) { - struct siu_stream *siu_stream = (struct siu_stream *)data; + struct siu_stream *siu_stream = from_tasklet(siu_stream, t, tasklet); struct snd_pcm_substream *substream = siu_stream->substream; struct device *dev = substream->pcm->card->dev; struct snd_pcm_runtime *rt = substream->runtime; @@ -520,10 +520,8 @@ static int siu_pcm_new(struct snd_soc_component *component, (*port_info)->pcm = pcm;
/* IO tasklets */ - tasklet_init(&(*port_info)->playback.tasklet, siu_io_tasklet, - (unsigned long)&(*port_info)->playback); - tasklet_init(&(*port_info)->capture.tasklet, siu_io_tasklet, - (unsigned long)&(*port_info)->capture); + tasklet_setup(&(*port_info)->playback.tasklet, siu_io_tasklet); + tasklet_setup(&(*port_info)->capture.tasklet, siu_io_tasklet); }
dev_info(card->dev, "SuperH SIU driver initialized.\n");
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/soc/txx9/txx9aclc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c index 4b1cd4da3e36..939b33ec39f5 100644 --- a/sound/soc/txx9/txx9aclc.c +++ b/sound/soc/txx9/txx9aclc.c @@ -134,9 +134,9 @@ txx9aclc_dma_submit(struct txx9aclc_dmadata *dmadata, dma_addr_t buf_dma_addr)
#define NR_DMA_CHAIN 2
-static void txx9aclc_dma_tasklet(unsigned long data) +static void txx9aclc_dma_tasklet(struct tasklet_struct *t) { - struct txx9aclc_dmadata *dmadata = (struct txx9aclc_dmadata *)data; + struct txx9aclc_dmadata *dmadata = from_tasklet(dmadata, t, tasklet); struct dma_chan *chan = dmadata->dma_chan; struct dma_async_tx_descriptor *desc; struct snd_pcm_substream *substream = dmadata->substream; @@ -352,8 +352,7 @@ static int txx9aclc_dma_init(struct txx9aclc_soc_device *dev, "playback" : "capture"); return -EBUSY; } - tasklet_init(&dmadata->tasklet, txx9aclc_dma_tasklet, - (unsigned long)dmadata); + tasklet_setup(&dmadata->tasklet, txx9aclc_dma_tasklet); return 0; }
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/usb/midi.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/usb/midi.c b/sound/usb/midi.c index df639fe03118..e8287a05e36b 100644 --- a/sound/usb/midi.c +++ b/sound/usb/midi.c @@ -344,10 +344,9 @@ static void snd_usbmidi_do_output(struct snd_usb_midi_out_endpoint *ep) spin_unlock_irqrestore(&ep->buffer_lock, flags); }
-static void snd_usbmidi_out_tasklet(unsigned long data) +static void snd_usbmidi_out_tasklet(struct tasklet_struct *t) { - struct snd_usb_midi_out_endpoint *ep = - (struct snd_usb_midi_out_endpoint *) data; + struct snd_usb_midi_out_endpoint *ep = from_tasklet(ep, t, tasklet);
snd_usbmidi_do_output(ep); } @@ -1441,7 +1440,7 @@ static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi *umidi, }
spin_lock_init(&ep->buffer_lock); - tasklet_init(&ep->tasklet, snd_usbmidi_out_tasklet, (unsigned long)ep); + tasklet_setup(&ep->tasklet, snd_usbmidi_out_tasklet); init_waitqueue_head(&ep->drain_wait);
for (i = 0; i < 0x10; ++i)
From: Allen Pais allen.lkml@gmail.com
In preparation for unconditionally passing the struct tasklet_struct pointer to all tasklet callbacks, switch to using the new tasklet_setup() and from_tasklet() to pass the tasklet pointer explicitly.
Signed-off-by: Romain Perier romain.perier@gmail.com Signed-off-by: Allen Pais allen.lkml@gmail.com --- sound/usb/misc/ua101.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/usb/misc/ua101.c b/sound/usb/misc/ua101.c index 884e740a785c..3b2dce1043f5 100644 --- a/sound/usb/misc/ua101.c +++ b/sound/usb/misc/ua101.c @@ -247,9 +247,9 @@ static inline void add_with_wraparound(struct ua101 *ua, *value -= ua->playback.queue_length; }
-static void playback_tasklet(unsigned long data) +static void playback_tasklet(struct tasklet_struct *t) { - struct ua101 *ua = (void *)data; + struct ua101 *ua = from_tasklet(ua, t, playback_tasklet); unsigned long flags; unsigned int frames; struct ua101_urb *urb; @@ -1218,8 +1218,7 @@ static int ua101_probe(struct usb_interface *interface, spin_lock_init(&ua->lock); mutex_init(&ua->mutex); INIT_LIST_HEAD(&ua->ready_playback_urbs); - tasklet_init(&ua->playback_tasklet, - playback_tasklet, (unsigned long)ua); + tasklet_setup(&ua->playback_tasklet, playback_tasklet); init_waitqueue_head(&ua->alsa_capture_wait); init_waitqueue_head(&ua->rate_feedback_wait); init_waitqueue_head(&ua->alsa_playback_wait);
On Mon, 17 Aug 2020 10:56:53 +0200, Allen Pais wrote:
From: Allen Pais allen.lkml@gmail.com
Commit 12cc923f1ccc ("tasklet: Introduce new initialization API")' introduced a new tasklet initialization API. This series converts all the sound drivers to use the new tasklet_setup() API
Is this targeted for 5.9 or 5.10?
I have a patch set to drop the whole tasklet usage in sound/* (destined for 5.10, to be submitted soon), so if that's for 5.10, it'll be likely superfluous.
thanks,
Takashi
Is this targeted for 5.9 or 5.10?
This is targeted for 5.9.
I have a patch set to drop the whole tasklet usage in sound/* (destined for 5.10, to be submitted soon), so if that's for 5.10, it'll be likely superfluous.
I have picked patches from your tree to adapt to this new API. Those can be picked in 5.10 I suppose.
Thanks.
On Mon, 17 Aug 2020 11:18:53 +0200, Allen Pais wrote:
Is this targeted for 5.9 or 5.10?
This is targeted for 5.9.
Well, then at the next time, please mention it explicitly in the cover letter. Usually this kind of API conversion isn't done during rc. Or it's done systematically via script or such. So unless mentioned, it's not expected to be carried to 5.9.
In anyway, if the final purpose is to drop the old tasklet API and that's the plan for 5.9, all tree-wide changes have to be done in 5.9 beforehand. Was that the decision?
I have a patch set to drop the whole tasklet usage in sound/* (destined for 5.10, to be submitted soon), so if that's for 5.10, it'll be likely superfluous.
I have picked patches from your tree to adapt to this new API. Those can be picked in 5.10 I suppose.
Adapting the changes are trivial, don't worry. It was just a question of how to organize changes.
thanks,
Takashi
Well, then at the next time, please mention it explicitly in the cover letter. Usually this kind of API conversion isn't done during rc. Or it's done systematically via script or such. So unless mentioned, it's not expected to be carried to 5.9.
Sorry for having missed the detail. Will take care of it in the future.
In anyway, if the final purpose is to drop the old tasklet API and that's the plan for 5.9, all tree-wide changes have to be done in 5.9 beforehand. Was that the decision?
The idea was to land the tree-wide changes as part of 5.9
I have a patch set to drop the whole tasklet usage in sound/* (destined for 5.10, to be submitted soon), so if that's for 5.10, it'll be likely superfluous.
I have picked patches from your tree to adapt to this new API. Those can be picked in 5.10 I suppose.
Adapting the changes are trivial, don't worry. It was just a question of how to organize changes.
Sure, Thank you.
- Allen
On Mon, 17 Aug 2020 10:56:53 +0200, Allen Pais wrote:
From: Allen Pais allen.lkml@gmail.com
Commit 12cc923f1ccc ("tasklet: Introduce new initialization API")' introduced a new tasklet initialization API. This series converts all the sound drivers to use the new tasklet_setup() API
Allen Pais (10): sound: core: convert tasklets to use new tasklet_setup() API sound: firewire: convert tasklets to use new tasklet_setup() API sound: asihpi: convert tasklets to use new tasklet_setup() API sound: riptide: convert tasklets to use new tasklet_setup() API sound: rm9652: convert tasklets to use new tasklet_setup() API sound/soc: fsl_esai: convert tasklets to use new tasklet_setup() API sound/soc: sh: convert tasklets to use new tasklet_setup() API sound/soc: txx9: convert tasklets to use new tasklet_setup() API
Mark, may I apply those ASoC patches through my tree together with others? Those seem targeting to 5.9, and I have a patch set to convert to tasklet for 5.10, which would be better manageable when based on top of those changes.
thanks,
Takashi
sound: midi: convert tasklets to use new tasklet_setup() API sound: ua101: convert tasklets to use new tasklet_setup() API
sound/core/timer.c | 7 +++---- sound/firewire/amdtp-stream.c | 8 ++++---- sound/pci/asihpi/asihpi.c | 9 ++++----- sound/pci/riptide/riptide.c | 6 +++--- sound/pci/rme9652/hdsp.c | 6 +++--- sound/pci/rme9652/hdspm.c | 7 +++---- sound/soc/fsl/fsl_esai.c | 7 +++---- sound/soc/sh/siu_pcm.c | 10 ++++------ sound/soc/txx9/txx9aclc.c | 7 +++---- sound/usb/midi.c | 7 +++---- sound/usb/misc/ua101.c | 7 +++---- 11 files changed, 36 insertions(+), 45 deletions(-)
-- 2.17.1
On Tue, Aug 18, 2020 at 12:25:31PM +0200, Takashi Iwai wrote:
Mark, may I apply those ASoC patches through my tree together with others? Those seem targeting to 5.9, and I have a patch set to convert to tasklet for 5.10, which would be better manageable when based on top of those changes.
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Acked-by: Mark Brown broonie@kernel.org
but judging from some of the other threads about similar patches that I was randomly CCed on I'm not sure people like from_tasklet() so perhaps there might be issues.
Allen, as documented in submitting-patches.rst please send patches to the maintainers for the code you would like to change. The normal kernel workflow is that people apply patches from their inboxes, if they aren't copied they are likely to not see the patch at all and it is much more difficult to apply patches.
On Tue, 18 Aug 2020 12:44:32 +0200, Mark Brown wrote:
On Tue, Aug 18, 2020 at 12:25:31PM +0200, Takashi Iwai wrote:
Mark, may I apply those ASoC patches through my tree together with others? Those seem targeting to 5.9, and I have a patch set to convert to tasklet for 5.10, which would be better manageable when based on top of those changes.
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Acked-by: Mark Brown broonie@kernel.org
but judging from some of the other threads about similar patches that I was randomly CCed on I'm not sure people like from_tasklet() so perhaps there might be issues.
Indeed, now I noticed some complaints through other threads, too.
It's no urgent changes but something preferred to be merged in 5.9. Let's see how the things settled.
thanks,
Takashi
Mark, may I apply those ASoC patches through my tree together with others? Those seem targeting to 5.9, and I have a patch set to convert to tasklet for 5.10, which would be better manageable when based on top of those changes.
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Extremely sorry. I thought I had it covered. How would you like it worded?
Acked-by: Mark Brown broonie@kernel.org
but judging from some of the other threads about similar patches that I was randomly CCed on I'm not sure people like from_tasklet() so perhaps there might be issues.
Yes, there is a new macro by name cast_out() is suggested in place of from_tasklet(). Hopefully it will go in soon. Will spin out V2 with the change and also re-word subject line.
Allen, as documented in submitting-patches.rst please send patches to the maintainers for the code you would like to change. The normal kernel workflow is that people apply patches from their inboxes, if they aren't copied they are likely to not see the patch at all and it is much more difficult to apply patches.
I understand, I'll take care of it in the future. Thank you.
On Wed, Aug 19, 2020 at 04:21:58PM +0530, Allen wrote:
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Extremely sorry. I thought I had it covered. How would you like it worded?
ASoC:
In general you should try to follow the style for the code you're modifying, this applies to things like commit logs as well as the code itself.
On Wed, 19 Aug 2020 13:16:05 +0200, Mark Brown wrote:
On Wed, Aug 19, 2020 at 04:21:58PM +0530, Allen wrote:
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Extremely sorry. I thought I had it covered. How would you like it worded?
ASoC:
To be more exact, "ASoC:" prefix is for sound/soc/*, and for the rest sound/*, use "ALSA:" prefix please.
Takashi
Takashi,
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Extremely sorry. I thought I had it covered. How would you like it worded?
ASoC:
To be more exact, "ASoC:" prefix is for sound/soc/*, and for the rest sound/*, use "ALSA:" prefix please.
I could not get the generic API accepted upstream. We would stick to from_tasklet() or container_of(). Could I go ahead and send out V2 using from_tasklet() with subject line fixed?
Thanks,
On Tue, 01 Sep 2020 12:04:53 +0200, Allen wrote:
Takashi,
These patches which I wasn't CCed on and which need their subject lines fixing :( . With the subject lines fixed I guess so so
Extremely sorry. I thought I had it covered. How would you like it worded?
ASoC:
To be more exact, "ASoC:" prefix is for sound/soc/*, and for the rest sound/*, use "ALSA:" prefix please.
I could not get the generic API accepted upstream. We would stick to from_tasklet() or container_of(). Could I go ahead and send out V2 using from_tasklet() with subject line fixed?
Yes, please submit whatever should go into 5.9.
thanks,
Takashi
participants (4)
-
Allen
-
Allen Pais
-
Mark Brown
-
Takashi Iwai