From: Takashi Iwai <tiwai@suse.de> To: alsa-devel@alsa-project.org Subject: [alsa-devel] [PATCH 29/58] ALSA: seq: Constify struct snd_midi_op Date: Fri, 3 Jan 2020 09:16:45 +0100 Message-ID: <20200103081714.9560-30-tiwai@suse.de> (raw) In-Reply-To: <20200103081714.9560-1-tiwai@suse.de> Change the argument of snd_midi_process_event() to receive a const snd_midi_op pointer and its callers respectively. This allows further optimizations. There should be no functional changes by this patch. Signed-off-by: Takashi Iwai <tiwai@suse.de> --- include/sound/seq_midi_emul.h | 3 ++- sound/core/seq/seq_midi_emul.c | 37 ++++++++++++++++++++++--------------- sound/drivers/opl3/opl3_seq.c | 2 +- sound/drivers/opl3/opl3_voice.h | 2 +- sound/drivers/opl4/opl4_seq.c | 2 +- sound/synth/emux/emux_seq.c | 2 +- 6 files changed, 28 insertions(+), 20 deletions(-) diff --git a/include/sound/seq_midi_emul.h b/include/sound/seq_midi_emul.h index d6b74059b4b1..88799d1e1f53 100644 --- a/include/sound/seq_midi_emul.h +++ b/include/sound/seq_midi_emul.h @@ -174,7 +174,8 @@ enum { }; /* Prototypes for midi_process.c */ -void snd_midi_process_event(struct snd_midi_op *ops, struct snd_seq_event *ev, +void snd_midi_process_event(const struct snd_midi_op *ops, + struct snd_seq_event *ev, struct snd_midi_channel_set *chanset); void snd_midi_channel_set_clear(struct snd_midi_channel_set *chset); struct snd_midi_channel_set *snd_midi_channel_alloc_set(int n); diff --git a/sound/core/seq/seq_midi_emul.c b/sound/core/seq/seq_midi_emul.c index 770d3f4eee7c..536ccf48ee72 100644 --- a/sound/core/seq/seq_midi_emul.c +++ b/sound/core/seq/seq_midi_emul.c @@ -30,22 +30,25 @@ MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer MIDI emulation." MODULE_LICENSE("GPL"); /* Prototypes for static functions */ -static void note_off(struct snd_midi_op *ops, void *drv, +static void note_off(const struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, int note, int vel); -static void do_control(struct snd_midi_op *ops, void *private, +static void do_control(const struct snd_midi_op *ops, void *private, struct snd_midi_channel_set *chset, struct snd_midi_channel *chan, int control, int value); -static void rpn(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, +static void rpn(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel *chan, struct snd_midi_channel_set *chset); -static void nrpn(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, +static void nrpn(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel *chan, struct snd_midi_channel_set *chset); -static void sysex(struct snd_midi_op *ops, void *private, unsigned char *sysex, +static void sysex(const struct snd_midi_op *ops, void *private, + unsigned char *sysex, int len, struct snd_midi_channel_set *chset); -static void all_sounds_off(struct snd_midi_op *ops, void *private, +static void all_sounds_off(const struct snd_midi_op *ops, void *private, struct snd_midi_channel *chan); -static void all_notes_off(struct snd_midi_op *ops, void *private, +static void all_notes_off(const struct snd_midi_op *ops, void *private, struct snd_midi_channel *chan); static void snd_midi_reset_controllers(struct snd_midi_channel *chan); static void reset_all_channels(struct snd_midi_channel_set *chset); @@ -66,7 +69,7 @@ static void reset_all_channels(struct snd_midi_channel_set *chset); * be interpreted. */ void -snd_midi_process_event(struct snd_midi_op *ops, +snd_midi_process_event(const struct snd_midi_op *ops, struct snd_seq_event *ev, struct snd_midi_channel_set *chanset) { @@ -229,7 +232,8 @@ EXPORT_SYMBOL(snd_midi_process_event); * release note */ static void -note_off(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, +note_off(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel *chan, int note, int vel) { if (chan->gm_hold) { @@ -251,7 +255,8 @@ note_off(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, * events that need to take place immediately to the driver. */ static void -do_control(struct snd_midi_op *ops, void *drv, struct snd_midi_channel_set *chset, +do_control(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel_set *chset, struct snd_midi_channel *chan, int control, int value) { int i; @@ -402,7 +407,7 @@ EXPORT_SYMBOL(snd_midi_channel_set_clear); * Process a rpn message. */ static void -rpn(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, +rpn(const struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, struct snd_midi_channel_set *chset) { int type; @@ -442,7 +447,7 @@ rpn(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, * Process an nrpn message. */ static void -nrpn(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, +nrpn(const struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan, struct snd_midi_channel_set *chset) { /* parse XG NRPNs here if possible */ @@ -470,7 +475,7 @@ get_channel(unsigned char cmd) * Process a sysex message. */ static void -sysex(struct snd_midi_op *ops, void *private, unsigned char *buf, int len, +sysex(const struct snd_midi_op *ops, void *private, unsigned char *buf, int len, struct snd_midi_channel_set *chset) { /* GM on */ @@ -584,7 +589,8 @@ sysex(struct snd_midi_op *ops, void *private, unsigned char *buf, int len, * all sound off */ static void -all_sounds_off(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan) +all_sounds_off(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel *chan) { int n; @@ -602,7 +608,8 @@ all_sounds_off(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan * all notes off */ static void -all_notes_off(struct snd_midi_op *ops, void *drv, struct snd_midi_channel *chan) +all_notes_off(const struct snd_midi_op *ops, void *drv, + struct snd_midi_channel *chan) { int n; diff --git a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c index 20f2f5125394..cd2a01b5e2e1 100644 --- a/sound/drivers/opl3/opl3_seq.c +++ b/sound/drivers/opl3/opl3_seq.c @@ -128,7 +128,7 @@ static int snd_opl3_synth_unuse(void *private_data, struct snd_seq_port_subscrib /* * MIDI emulation operators */ -struct snd_midi_op opl3_ops = { +const struct snd_midi_op opl3_ops = { .note_on = snd_opl3_note_on, .note_off = snd_opl3_note_off, .key_press = snd_opl3_key_press, diff --git a/sound/drivers/opl3/opl3_voice.h b/sound/drivers/opl3/opl3_voice.h index dc0626a2dd61..be9ccca2d952 100644 --- a/sound/drivers/opl3/opl3_voice.h +++ b/sound/drivers/opl3/opl3_voice.h @@ -41,6 +41,6 @@ void snd_opl3_free_seq_oss(struct snd_opl3 *opl3); extern char snd_opl3_regmap[MAX_OPL2_VOICES][4]; extern bool use_internal_drums; -extern struct snd_midi_op opl3_ops; +extern const struct snd_midi_op opl3_ops; #endif diff --git a/sound/drivers/opl4/opl4_seq.c b/sound/drivers/opl4/opl4_seq.c index 03d6202f4829..f59ca660c616 100644 --- a/sound/drivers/opl4/opl4_seq.c +++ b/sound/drivers/opl4/opl4_seq.c @@ -100,7 +100,7 @@ static int snd_opl4_seq_unuse(void *private_data, struct snd_seq_port_subscribe return 0; } -static struct snd_midi_op opl4_ops = { +static const struct snd_midi_op opl4_ops = { .note_on = snd_opl4_note_on, .note_off = snd_opl4_note_off, .note_terminate = snd_opl4_terminate_note, diff --git a/sound/synth/emux/emux_seq.c b/sound/synth/emux/emux_seq.c index 9d8a69f1a644..b227c7e0bc2a 100644 --- a/sound/synth/emux/emux_seq.c +++ b/sound/synth/emux/emux_seq.c @@ -19,7 +19,7 @@ static int snd_emux_unuse(void *private_data, struct snd_seq_port_subscribe *inf /* * MIDI emulation operators */ -static struct snd_midi_op emux_ops = { +static const struct snd_midi_op emux_ops = { .note_on = snd_emux_note_on, .note_off = snd_emux_note_off, .key_press = snd_emux_key_press, -- 2.16.4 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next prev parent reply index Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-03 8:16 [alsa-devel] [PATCH 00/58] ALSA: Constifications Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 01/58] ALSA: pci: Constify snd_pcm_hardware definitions Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 02/58] ALSA: usb: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 03/58] ALSA: core: Treat snd_device_ops as const Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 04/58] ALSA: core: Constify snd_device_ops definitions Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 05/58] ALSA: drivers: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 06/58] ALSA: i2c: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 07/58] ALSA: isa: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 08/58] ALSA: hda: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 09/58] ALSA: pci: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 10/58] ALSA: usb: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 11/58] ALSA: aoa: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 12/58] ALSA: mips: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 13/58] ALSA: parisc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 14/58] ALSA: pcmcia: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 15/58] ALSA: ppc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 16/58] ALSA: sparc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 17/58] ALSA: sh: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 18/58] ALSA: spi: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 19/58] ALSA: docs: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 20/58] ALSA: timer: Constify snd_timer_hardware definitions Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 21/58] ALSA: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 22/58] ALSA: ac97: Treat snd_ac97_bus_ops as const Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 23/58] ALSA: ac97: Constify snd_ac97_bus_ops definitions Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 24/58] ALSA: arm: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 25/58] ALSA: atmel: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 26/58] ALSA: drivers: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 27/58] ALSA: pci: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 28/58] ALSA: info: Make snd_info_entry_ops as const Takashi Iwai 2020-01-03 8:16 ` Takashi Iwai [this message] 2020-01-03 8:16 ` [alsa-devel] [PATCH 30/58] ALSA: vx: Constify snd_vx_hardware and snd_vx_ops definitions Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 31/58] ALSA: mixer: oss: Constify snd_mixer_oss_assign_table definition Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 32/58] ALSA: aoa: Constify snd_kcontrol_new items Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 33/58] ALSA: drivers: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 34/58] ALSA: i2c: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 35/58] ALSA: isa: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 36/58] ALSA: hda: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 37/58] ALSA: pci: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 38/58] ALSA: ppc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 39/58] ALSA: sparc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 40/58] ALSA: spi: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 41/58] ALSA: usb: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 42/58] ALSA: parisc: " Takashi Iwai 2020-01-03 8:16 ` [alsa-devel] [PATCH 43/58] ALSA: dummy: Constify snd_pcm_ops definitions Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 44/58] ALSA: opl3: Constify snd_opl3_drum_voice definitions Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 45/58] ALSA: ac97: Constify snd_ac97_res_table definition Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 46/58] ALSA: ca0106: Constify snd_ca0106_category_str items Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 47/58] ALSA: ca0106: Constify snd_ca0106_details Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 48/58] ALSA: ice17xx: Constify snd_ice1712_card_info Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 49/58] ALSA: ice1712: Constify wm-specific tables Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 50/58] ALSA: line6: Constify snd_ratden definitions Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 51/58] ALSA: usx2y: Constify struct snd_usb_audio_quirk entries Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 52/58] ALSA: seq: oss: Constify snd_seq_oss_callback definitions Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 53/58] ALSA: bt87x: Constify snd_bt87x_boards Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 54/58] ALSA: emu10k1: Constify snd_emu_chip_details Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 55/58] ALSA: es1968: Constify snd_es1968_tea575x_gpios Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 56/58] ALSA: fm801: Constify snd_fm801_tea575x_gpios Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 57/58] ALSA: hda: Constify snd_pci_quirk tables Takashi Iwai 2020-01-03 8:17 ` [alsa-devel] [PATCH 58/58] ALSA: pci: " Takashi Iwai
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200103081714.9560-30-tiwai@suse.de \ --to=tiwai@suse.de \ --cc=alsa-devel@alsa-project.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Alsa-Devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/alsa-devel/0 alsa-devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 alsa-devel alsa-devel/ https://lore.kernel.org/alsa-devel \ alsa-devel@alsa-project.org public-inbox-index alsa-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.alsa-project.alsa-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git