Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39252a4b authored by Simon Sandström's avatar Simon Sandström Committed by Greg Kroah-Hartman
Browse files

staging: pi433: Split rf69_set_crc_enabled into two functions



Splits rf69_set_crc_enabled(dev, enabled) into
rf69_enable_crc(dev) and rf69_disable_crc(dev).

Signed-off-by: default avatarSimon Sandström <simon@nikanor.nu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent b89da27e
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -216,7 +216,16 @@ rf69_set_rx_cfg(struct pi433_device *dev, struct pi433_rx_cfg *rx_cfg)
			return ret;
	}
	SET_CHECKED(rf69_set_adressFiltering(dev->spi, rx_cfg->enable_address_filtering));
	SET_CHECKED(rf69_set_crc_enable	    (dev->spi, rx_cfg->enable_crc));

	if (rx_cfg->enable_crc == OPTION_ON) {
		ret = rf69_enable_crc(dev->spi);
		if (ret < 0)
			return ret;
	} else {
		ret = rf69_disable_crc(dev->spi);
		if (ret < 0)
			return ret;
	}

	/* lengths */
	SET_CHECKED(rf69_set_sync_size(dev->spi, rx_cfg->sync_length));
@@ -282,7 +291,16 @@ rf69_set_tx_cfg(struct pi433_device *dev, struct pi433_tx_cfg *tx_cfg)
		if (ret < 0)
			return ret;
	}
	SET_CHECKED(rf69_set_crc_enable	  (dev->spi, tx_cfg->enable_crc));

	if (tx_cfg->enable_crc == OPTION_ON) {
		ret = rf69_enable_crc(dev->spi);
		if (ret < 0)
			return ret;
	} else {
		ret = rf69_disable_crc(dev->spi);
		if (ret < 0)
			return ret;
	}

	/* configure sync, if enabled */
	if (tx_cfg->enable_sync == OPTION_ON) {
+6 −12
Original line number Diff line number Diff line
@@ -844,20 +844,14 @@ int rf69_set_packet_format(struct spi_device *spi, enum packetFormat packetForma
	}
}

int rf69_set_crc_enable(struct spi_device *spi,
			enum option_on_off option_on_off)
int rf69_enable_crc(struct spi_device *spi)
{
	#ifdef DEBUG
		dev_dbg(&spi->dev, "set: crc enable");
	#endif

	switch (option_on_off) {
	case OPTION_ON: return rf69_set_bit(spi, REG_PACKETCONFIG1, MASK_PACKETCONFIG1_CRC_ON);
	case OPTION_OFF: return rf69_clear_bit(spi, REG_PACKETCONFIG1, MASK_PACKETCONFIG1_CRC_ON);
	default:
		dev_dbg(&spi->dev, "set: illegal input param");
		return -EINVAL;
	return rf69_set_bit(spi, REG_PACKETCONFIG1, MASK_PACKETCONFIG1_CRC_ON);
}

int rf69_disable_crc(struct spi_device *spi)
{
	return rf69_clear_bit(spi, REG_PACKETCONFIG1, MASK_PACKETCONFIG1_CRC_ON);
}

int rf69_set_adressFiltering(struct spi_device *spi, enum addressFiltering addressFiltering)
+2 −2
Original line number Diff line number Diff line
@@ -66,8 +66,8 @@ int rf69_set_sync_size(struct spi_device *spi, u8 sync_size);
int rf69_set_sync_tolerance(struct spi_device *spi, u8 syncTolerance);
int rf69_set_sync_values(struct spi_device *spi, u8 syncValues[8]);
int rf69_set_packet_format(struct spi_device *spi, enum packetFormat packetFormat);
int rf69_set_crc_enable(struct spi_device *spi,
			enum option_on_off option_on_off);
int rf69_enable_crc(struct spi_device *spi);
int rf69_disable_crc(struct spi_device *spi);
int rf69_set_adressFiltering(struct spi_device *spi, enum addressFiltering addressFiltering);
int rf69_set_payload_length(struct spi_device *spi, u8 payloadLength);
u8  rf69_get_payload_length(struct spi_device *spi);