Commit 66c8f759 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hdsp: Fix assignment in if condition

PCI HDSP driver code contains lots of assignments in if condition,
which is a bad coding style that may confuse readers and occasionally
lead to bugs.

This patch is merely for coding-style fixes, no functional changes.

Link: https://lore.kernel.org/r/20210608140540.17885-49-tiwai@suse.de


Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 28c07099
Loading
Loading
Loading
Loading
+82 −39
Original line number Diff line number Diff line
@@ -1318,11 +1318,13 @@ static int snd_hdsp_midi_output_write (struct hdsp_midi *hmidi)
	spin_lock_irqsave (&hmidi->lock, flags);
	if (hmidi->output) {
		if (!snd_rawmidi_transmit_empty (hmidi->output)) {
			if ((n_pending = snd_hdsp_midi_output_possible (hmidi->hdsp, hmidi->id)) > 0) {
			n_pending = snd_hdsp_midi_output_possible(hmidi->hdsp, hmidi->id);
			if (n_pending > 0) {
				if (n_pending > (int)sizeof (buf))
					n_pending = sizeof (buf);

				if ((to_write = snd_rawmidi_transmit (hmidi->output, buf, n_pending)) > 0) {
				to_write = snd_rawmidi_transmit(hmidi->output, buf, n_pending);
				if (to_write > 0) {
					for (i = 0; i < to_write; ++i)
						snd_hdsp_midi_write_byte (hmidi->hdsp, hmidi->id, buf[i]);
				}
@@ -1341,7 +1343,8 @@ static int snd_hdsp_midi_input_read (struct hdsp_midi *hmidi)
	int i;

	spin_lock_irqsave (&hmidi->lock, flags);
	if ((n_pending = snd_hdsp_midi_input_available (hmidi->hdsp, hmidi->id)) > 0) {
	n_pending = snd_hdsp_midi_input_available(hmidi->hdsp, hmidi->id);
	if (n_pending > 0) {
		if (hmidi->input) {
			if (n_pending > (int)sizeof (buf))
				n_pending = sizeof (buf);
@@ -3322,7 +3325,9 @@ static int snd_hdsp_create_controls(struct snd_card *card, struct hdsp *hdsp)
	}

	for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_controls); idx++) {
		if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_controls[idx], hdsp))) < 0)
		kctl = snd_ctl_new1(&snd_hdsp_controls[idx], hdsp);
		err = snd_ctl_add(card, kctl);
		if (err < 0)
			return err;
		if (idx == 1)	/* IEC958 (S/PDIF) Stream */
			hdsp->spdif_ctl = kctl;
@@ -3331,12 +3336,16 @@ static int snd_hdsp_create_controls(struct snd_card *card, struct hdsp *hdsp)
	/* ADAT SyncCheck status */
	snd_hdsp_adat_sync_check.name = "ADAT Lock Status";
	snd_hdsp_adat_sync_check.index = 1;
	if ((err = snd_ctl_add (card, kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp))))
	kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp);
	err = snd_ctl_add(card, kctl);
	if (err < 0)
		return err;
	if (hdsp->io_type == Digiface || hdsp->io_type == H9652) {
		for (idx = 1; idx < 3; ++idx) {
			snd_hdsp_adat_sync_check.index = idx+1;
			if ((err = snd_ctl_add (card, kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp))))
			kctl = snd_ctl_new1(&snd_hdsp_adat_sync_check, hdsp);
			err = snd_ctl_add(card, kctl);
			if (err < 0)
				return err;
		}
	}
@@ -3344,7 +3353,9 @@ static int snd_hdsp_create_controls(struct snd_card *card, struct hdsp *hdsp)
	/* DA, AD and Phone gain and XLR breakout cable controls for H9632 cards */
	if (hdsp->io_type == H9632) {
		for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_9632_controls); idx++) {
			if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_9632_controls[idx], hdsp))) < 0)
			kctl = snd_ctl_new1(&snd_hdsp_9632_controls[idx], hdsp);
			err = snd_ctl_add(card, kctl);
			if (err < 0)
				return err;
		}
	}
@@ -3362,7 +3373,9 @@ static int snd_hdsp_create_controls(struct snd_card *card, struct hdsp *hdsp)

	/* AEB control for H96xx card */
	if (hdsp->io_type == H9632 || hdsp->io_type == H9652) {
		if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_96xx_aeb, hdsp))) < 0)
		kctl = snd_ctl_new1(&snd_hdsp_96xx_aeb, hdsp);
		err = snd_ctl_add(card, kctl);
		if (err < 0)
			return err;
	}

@@ -3942,7 +3955,8 @@ static char *hdsp_channel_buffer_location(struct hdsp *hdsp,
        if (snd_BUG_ON(channel < 0 || channel >= hdsp->max_channels))
		return NULL;

	if ((mapped_channel = hdsp->channel_map[channel]) < 0)
	mapped_channel = hdsp->channel_map[channel];
	if (mapped_channel < 0)
		return NULL;

	if (stream == SNDRV_PCM_STREAM_CAPTURE)
@@ -4114,7 +4128,8 @@ static int snd_hdsp_hw_params(struct snd_pcm_substream *substream,

	spin_lock_irq(&hdsp->lock);
	if (! hdsp->clock_source_locked) {
		if ((err = hdsp_set_rate(hdsp, params_rate(params), 0)) < 0) {
		err = hdsp_set_rate(hdsp, params_rate(params), 0);
		if (err < 0) {
			spin_unlock_irq(&hdsp->lock);
			_snd_pcm_hw_param_setempty(params, SNDRV_PCM_HW_PARAM_RATE);
			return err;
@@ -4122,7 +4137,8 @@ static int snd_hdsp_hw_params(struct snd_pcm_substream *substream,
	}
	spin_unlock_irq(&hdsp->lock);

	if ((err = hdsp_set_interrupt_interval(hdsp, params_period_size(params))) < 0) {
	err = hdsp_set_interrupt_interval(hdsp, params_period_size(params));
	if (err < 0) {
		_snd_pcm_hw_param_setempty(params, SNDRV_PCM_HW_PARAM_PERIOD_SIZE);
		return err;
	}
@@ -4854,13 +4870,15 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne

		if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return -EINVAL;
		if (hdsp->io_type == Undefined) {
			if ((err = hdsp_get_iobox_version(hdsp)) < 0)
			err = hdsp_get_iobox_version(hdsp);
			if (err < 0)
				return err;
		}
		memset(&hdsp_version, 0, sizeof(hdsp_version));
		hdsp_version.io_type = hdsp->io_type;
		hdsp_version.firmware_rev = hdsp->firmware_rev;
		if ((err = copy_to_user(argp, &hdsp_version, sizeof(hdsp_version))))
		err = copy_to_user(argp, &hdsp_version, sizeof(hdsp_version));
		if (err < 0)
		    	return -EFAULT;
		break;
	}
@@ -4900,17 +4918,20 @@ static int snd_hdsp_hwdep_ioctl(struct snd_hwdep *hw, struct file *file, unsigne

		hdsp->state |= HDSP_FirmwareCached;

		if ((err = snd_hdsp_load_firmware_from_cache(hdsp)) < 0)
		err = snd_hdsp_load_firmware_from_cache(hdsp);
		if (err < 0)
			return err;

		if (!(hdsp->state & HDSP_InitializationComplete)) {
			if ((err = snd_hdsp_enable_io(hdsp)) < 0)
			err = snd_hdsp_enable_io(hdsp);
			if (err < 0)
				return err;

			snd_hdsp_initialize_channels(hdsp);
			snd_hdsp_initialize_midi_flush(hdsp);

			if ((err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp)) < 0) {
			err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp);
			if (err < 0) {
				dev_err(hdsp->card->dev,
					"error creating alsa devices\n");
				return err;
@@ -4960,7 +4981,8 @@ static int snd_hdsp_create_hwdep(struct snd_card *card, struct hdsp *hdsp)
	struct snd_hwdep *hw;
	int err;

	if ((err = snd_hwdep_new(card, "HDSP hwdep", 0, &hw)) < 0)
	err = snd_hwdep_new(card, "HDSP hwdep", 0, &hw);
	if (err < 0)
		return err;

	hdsp->hwdep = hw;
@@ -4978,7 +5000,8 @@ static int snd_hdsp_create_pcm(struct snd_card *card, struct hdsp *hdsp)
	struct snd_pcm *pcm;
	int err;

	if ((err = snd_pcm_new(card, hdsp->card_name, 0, 1, 1, &pcm)) < 0)
	err = snd_pcm_new(card, hdsp->card_name, 0, 1, 1, &pcm);
	if (err < 0)
		return err;

	hdsp->pcm = pcm;
@@ -5084,28 +5107,32 @@ static int snd_hdsp_create_alsa_devices(struct snd_card *card, struct hdsp *hdsp
{
	int err;

	if ((err = snd_hdsp_create_pcm(card, hdsp)) < 0) {
	err = snd_hdsp_create_pcm(card, hdsp);
	if (err < 0) {
		dev_err(card->dev,
			"Error creating pcm interface\n");
		return err;
	}


	if ((err = snd_hdsp_create_midi(card, hdsp, 0)) < 0) {
	err = snd_hdsp_create_midi(card, hdsp, 0);
	if (err < 0) {
		dev_err(card->dev,
			"Error creating first midi interface\n");
		return err;
	}

	if (hdsp->io_type == Digiface || hdsp->io_type == H9652) {
		if ((err = snd_hdsp_create_midi(card, hdsp, 1)) < 0) {
		err = snd_hdsp_create_midi(card, hdsp, 1);
		if (err < 0) {
			dev_err(card->dev,
				"Error creating second midi interface\n");
			return err;
		}
	}

	if ((err = snd_hdsp_create_controls(card, hdsp)) < 0) {
	err = snd_hdsp_create_controls(card, hdsp);
	if (err < 0) {
		dev_err(card->dev,
			"Error creating ctl interface\n");
		return err;
@@ -5119,7 +5146,8 @@ static int snd_hdsp_create_alsa_devices(struct snd_card *card, struct hdsp *hdsp
	hdsp->capture_substream = NULL;
	hdsp->playback_substream = NULL;

	if ((err = snd_hdsp_set_defaults(hdsp)) < 0) {
	err = snd_hdsp_set_defaults(hdsp);
	if (err < 0) {
		dev_err(card->dev,
			"Error setting default values\n");
		return err;
@@ -5130,7 +5158,8 @@ static int snd_hdsp_create_alsa_devices(struct snd_card *card, struct hdsp *hdsp
		sprintf(card->longname, "%s at 0x%lx, irq %d", hdsp->card_name,
			hdsp->port, hdsp->irq);

		if ((err = snd_card_register(card)) < 0) {
		err = snd_card_register(card);
		if (err < 0) {
			dev_err(card->dev,
				"error registering card\n");
			return err;
@@ -5151,7 +5180,8 @@ static int hdsp_request_fw_loader(struct hdsp *hdsp)
	if (hdsp->io_type == H9652 || hdsp->io_type == H9632)
		return 0;
	if (hdsp->io_type == Undefined) {
		if ((err = hdsp_get_iobox_version(hdsp)) < 0)
		err = hdsp_get_iobox_version(hdsp);
		if (err < 0)
			return err;
		if (hdsp->io_type == H9652 || hdsp->io_type == H9632)
			return 0;
@@ -5197,21 +5227,25 @@ static int hdsp_request_fw_loader(struct hdsp *hdsp)

	hdsp->state |= HDSP_FirmwareCached;

	if ((err = snd_hdsp_load_firmware_from_cache(hdsp)) < 0)
	err = snd_hdsp_load_firmware_from_cache(hdsp);
	if (err < 0)
		return err;

	if (!(hdsp->state & HDSP_InitializationComplete)) {
		if ((err = snd_hdsp_enable_io(hdsp)) < 0)
		err = snd_hdsp_enable_io(hdsp);
		if (err < 0)
			return err;

		if ((err = snd_hdsp_create_hwdep(hdsp->card, hdsp)) < 0) {
		err = snd_hdsp_create_hwdep(hdsp->card, hdsp);
		if (err < 0) {
			dev_err(hdsp->card->dev,
				"error creating hwdep device\n");
			return err;
		}
		snd_hdsp_initialize_channels(hdsp);
		snd_hdsp_initialize_midi_flush(hdsp);
		if ((err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp)) < 0) {
		err = snd_hdsp_create_alsa_devices(hdsp->card, hdsp);
		if (err < 0) {
			dev_err(hdsp->card->dev,
				"error creating alsa devices\n");
			return err;
@@ -5280,15 +5314,18 @@ static int snd_hdsp_create(struct snd_card *card,
		is_9632 = 1;
	}

	if ((err = pci_enable_device(pci)) < 0)
	err = pci_enable_device(pci);
	if (err < 0)
		return err;

	pci_set_master(hdsp->pci);

	if ((err = pci_request_regions(pci, "hdsp")) < 0)
	err = pci_request_regions(pci, "hdsp");
	if (err < 0)
		return err;
	hdsp->port = pci_resource_start(pci, 0);
	if ((hdsp->iobase = ioremap(hdsp->port, HDSP_IO_EXTENT)) == NULL) {
	hdsp->iobase = ioremap(hdsp->port, HDSP_IO_EXTENT);
	if (!hdsp->iobase) {
		dev_err(hdsp->card->dev, "unable to remap region 0x%lx-0x%lx\n",
			hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1);
		return -EBUSY;
@@ -5306,7 +5343,8 @@ static int snd_hdsp_create(struct snd_card *card,
	hdsp->use_midi_work = 1;
	hdsp->dds_value = 0;

	if ((err = snd_hdsp_initialize_memory(hdsp)) < 0)
	err = snd_hdsp_initialize_memory(hdsp);
	if (err < 0)
		return err;

	if (!is_9652 && !is_9632) {
@@ -5318,7 +5356,8 @@ static int snd_hdsp_create(struct snd_card *card,
			return err;

		if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
			if ((err = hdsp_request_fw_loader(hdsp)) < 0)
			err = hdsp_request_fw_loader(hdsp);
			if (err < 0)
				/* we don't fail as this can happen
				   if userspace is not ready for
				   firmware upload
@@ -5331,7 +5370,8 @@ static int snd_hdsp_create(struct snd_card *card,
			/* we defer initialization */
			dev_info(hdsp->card->dev,
				 "card initialization pending : waiting for firmware\n");
			if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
			err = snd_hdsp_create_hwdep(card, hdsp);
			if (err < 0)
				return err;
			return 0;
		} else {
@@ -5346,7 +5386,8 @@ static int snd_hdsp_create(struct snd_card *card,
		}
	}

	if ((err = snd_hdsp_enable_io(hdsp)) != 0)
	err = snd_hdsp_enable_io(hdsp);
	if (err)
		return err;

	if (is_9652)
@@ -5355,7 +5396,8 @@ static int snd_hdsp_create(struct snd_card *card,
	if (is_9632)
		hdsp->io_type = H9632;

	if ((err = snd_hdsp_create_hwdep(card, hdsp)) < 0)
	err = snd_hdsp_create_hwdep(card, hdsp);
	if (err < 0)
		return err;

	snd_hdsp_initialize_channels(hdsp);
@@ -5363,7 +5405,8 @@ static int snd_hdsp_create(struct snd_card *card,

	hdsp->state |= HDSP_FirmwareLoaded;

	if ((err = snd_hdsp_create_alsa_devices(card, hdsp)) < 0)
	err = snd_hdsp_create_alsa_devices(card, hdsp);
	if (err < 0)
		return err;

	return 0;