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

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

staging: pi433: Split rf69_set_sync_enabled into two functions



Splits rf69_set_sync_enabled(dev, enabled) into
rf69_enable_sync(dev) and rf69_disable_sync(dev).

Signed-off-by: default avatarSimon Sandström <simon@nikanor.nu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 39252a4b
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -197,13 +197,20 @@ rf69_set_rx_cfg(struct pi433_device *dev, struct pi433_rx_cfg *rx_cfg)

	/* packet config */
	/* enable */
	SET_CHECKED(rf69_set_sync_enable(dev->spi, rx_cfg->enable_sync));
	if (rx_cfg->enable_sync == OPTION_ON)
	{
		ret = rf69_enable_sync(dev->spi);
		if (ret < 0)
			return ret;

		SET_CHECKED(rf69_set_fifo_fill_condition(dev->spi, afterSyncInterrupt));
	}
	else
	{
		ret = rf69_disable_sync(dev->spi);
		if (ret < 0)
			return ret;

		SET_CHECKED(rf69_set_fifo_fill_condition(dev->spi, always));
	}
	if (rx_cfg->enable_length_byte == OPTION_ON) {
@@ -281,7 +288,17 @@ rf69_set_tx_cfg(struct pi433_device *dev, struct pi433_tx_cfg *tx_cfg)
	{
		SET_CHECKED(rf69_set_preamble_length(dev->spi, 0));
	}
	SET_CHECKED(rf69_set_sync_enable  (dev->spi, tx_cfg->enable_sync));

	if (tx_cfg->enable_sync == OPTION_ON) {
		ret = rf69_enable_sync(dev->spi);
		if (ret < 0)
			return ret;
	} else {
		ret = rf69_disable_sync(dev->spi);
		if (ret < 0)
			return ret;
	}

	if (tx_cfg->enable_length_byte == OPTION_ON) {
		ret = rf69_set_packet_format(dev->spi, packetLengthVar);
		if (ret < 0)
+6 −12
Original line number Diff line number Diff line
@@ -746,20 +746,14 @@ int rf69_set_preamble_length(struct spi_device *spi, u16 preambleLength)
	return retval;
}

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

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

int rf69_disable_sync(struct spi_device *spi)
{
	return rf69_clear_bit(spi, REG_SYNC_CONFIG, MASK_SYNC_CONFIG_SYNC_ON);
}

int rf69_set_fifo_fill_condition(struct spi_device *spi, enum fifoFillCondition fifoFillCondition)
+2 −2
Original line number Diff line number Diff line
@@ -59,8 +59,8 @@ int rf69_set_rssi_threshold(struct spi_device *spi, u8 threshold);
int rf69_set_rx_start_timeout(struct spi_device *spi, u8 timeout);
int rf69_set_rssi_timeout(struct spi_device *spi, u8 timeout);
int rf69_set_preamble_length(struct spi_device *spi, u16 preambleLength);
int rf69_set_sync_enable(struct spi_device *spi,
			 enum option_on_off option_on_off);
int rf69_enable_sync(struct spi_device *spi);
int rf69_disable_sync(struct spi_device *spi);
int rf69_set_fifo_fill_condition(struct spi_device *spi, enum fifoFillCondition fifoFillCondition);
int rf69_set_sync_size(struct spi_device *spi, u8 sync_size);
int rf69_set_sync_tolerance(struct spi_device *spi, u8 syncTolerance);