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

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
......@@ -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) {
......
......@@ -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
return rf69_set_bit(spi, REG_PACKETCONFIG1, MASK_PACKETCONFIG1_CRC_ON);
}
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;
}
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)
......
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment