From: Shahar Avidar <ikobh7@gmail.com>
To: gregkh@linuxfoundation.org, hverkuil-cisco@xs4all.nl,
andriy.shevchenko@linux.intel.com, robh@kernel.org,
felixkimbu1@gmail.com
Cc: linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: [PATCH v3 2/7] staging: pi433: Rename struct pi433_device instances to pi433.
Date: Fri, 5 Apr 2024 10:39:55 +0300 [thread overview]
Message-ID: <20240405074000.3481217-3-ikobh7@gmail.com> (raw)
In-Reply-To: <20240405074000.3481217-1-ikobh7@gmail.com>
Just as other devices use specific names for instantiation,
struct_pi433 should also have a distinct name.
Moreover, some other structs use the "dev" or "device" in their naming
conventions for members, which can be confusing.
Signed-off-by: Shahar Avidar <ikobh7@gmail.com>
---
drivers/staging/pi433/pi433_if.c | 654 +++++++++++++++----------------
1 file changed, 327 insertions(+), 327 deletions(-)
diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index 13b464ab7db8..7efe6b8501e3 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -113,7 +113,7 @@ struct pi433_device {
};
struct pi433_instance {
- struct pi433_device *device;
+ struct pi433_device *pi433;
struct pi433_tx_cfg tx_cfg;
/* control flags */
@@ -125,19 +125,19 @@ struct pi433_instance {
/* GPIO interrupt handlers */
static irqreturn_t DIO0_irq_handler(int irq, void *dev_id)
{
- struct pi433_device *device = dev_id;
-
- if (device->irq_state[DIO0] == DIO_PACKET_SENT) {
- device->free_in_fifo = FIFO_SIZE;
- dev_dbg(device->dev, "DIO0 irq: Packet sent\n");
- wake_up_interruptible(&device->fifo_wait_queue);
- } else if (device->irq_state[DIO0] == DIO_RSSI_DIO0) {
- dev_dbg(device->dev, "DIO0 irq: RSSI level over threshold\n");
- wake_up_interruptible(&device->rx_wait_queue);
- } else if (device->irq_state[DIO0] == DIO_PAYLOAD_READY) {
- dev_dbg(device->dev, "DIO0 irq: Payload ready\n");
- device->free_in_fifo = 0;
- wake_up_interruptible(&device->fifo_wait_queue);
+ struct pi433_device *pi433 = dev_id;
+
+ if (pi433->irq_state[DIO0] == DIO_PACKET_SENT) {
+ pi433->free_in_fifo = FIFO_SIZE;
+ dev_dbg(pi433->dev, "DIO0 irq: Packet sent\n");
+ wake_up_interruptible(&pi433->fifo_wait_queue);
+ } else if (pi433->irq_state[DIO0] == DIO_RSSI_DIO0) {
+ dev_dbg(pi433->dev, "DIO0 irq: RSSI level over threshold\n");
+ wake_up_interruptible(&pi433->rx_wait_queue);
+ } else if (pi433->irq_state[DIO0] == DIO_PAYLOAD_READY) {
+ dev_dbg(pi433->dev, "DIO0 irq: Payload ready\n");
+ pi433->free_in_fifo = 0;
+ wake_up_interruptible(&pi433->fifo_wait_queue);
}
return IRQ_HANDLED;
@@ -145,19 +145,19 @@ static irqreturn_t DIO0_irq_handler(int irq, void *dev_id)
static irqreturn_t DIO1_irq_handler(int irq, void *dev_id)
{
- struct pi433_device *device = dev_id;
+ struct pi433_device *pi433 = dev_id;
- if (device->irq_state[DIO1] == DIO_FIFO_NOT_EMPTY_DIO1) {
- device->free_in_fifo = FIFO_SIZE;
- } else if (device->irq_state[DIO1] == DIO_FIFO_LEVEL) {
- if (device->rx_active)
- device->free_in_fifo = FIFO_THRESHOLD - 1;
+ if (pi433->irq_state[DIO1] == DIO_FIFO_NOT_EMPTY_DIO1) {
+ pi433->free_in_fifo = FIFO_SIZE;
+ } else if (pi433->irq_state[DIO1] == DIO_FIFO_LEVEL) {
+ if (pi433->rx_active)
+ pi433->free_in_fifo = FIFO_THRESHOLD - 1;
else
- device->free_in_fifo = FIFO_SIZE - FIFO_THRESHOLD - 1;
+ pi433->free_in_fifo = FIFO_SIZE - FIFO_THRESHOLD - 1;
}
- dev_dbg(device->dev,
- "DIO1 irq: %d bytes free in fifo\n", device->free_in_fifo);
- wake_up_interruptible(&device->fifo_wait_queue);
+ dev_dbg(pi433->dev,
+ "DIO1 irq: %d bytes free in fifo\n", pi433->free_in_fifo);
+ wake_up_interruptible(&pi433->fifo_wait_queue);
return IRQ_HANDLED;
}
@@ -165,94 +165,94 @@ static irqreturn_t DIO1_irq_handler(int irq, void *dev_id)
/*-------------------------------------------------------------------------*/
static int
-rf69_set_rx_cfg(struct pi433_device *dev, struct pi433_rx_cfg *rx_cfg)
+rf69_set_rx_cfg(struct pi433_device *pi433, struct pi433_rx_cfg *rx_cfg)
{
int ret;
int payload_length;
/* receiver config */
- ret = rf69_set_frequency(dev->spi, rx_cfg->frequency);
+ ret = rf69_set_frequency(pi433->spi, rx_cfg->frequency);
if (ret < 0)
return ret;
- ret = rf69_set_modulation(dev->spi, rx_cfg->modulation);
+ ret = rf69_set_modulation(pi433->spi, rx_cfg->modulation);
if (ret < 0)
return ret;
- ret = rf69_set_bit_rate(dev->spi, rx_cfg->bit_rate);
+ ret = rf69_set_bit_rate(pi433->spi, rx_cfg->bit_rate);
if (ret < 0)
return ret;
- ret = rf69_set_antenna_impedance(dev->spi, rx_cfg->antenna_impedance);
+ ret = rf69_set_antenna_impedance(pi433->spi, rx_cfg->antenna_impedance);
if (ret < 0)
return ret;
- ret = rf69_set_rssi_threshold(dev->spi, rx_cfg->rssi_threshold);
+ ret = rf69_set_rssi_threshold(pi433->spi, rx_cfg->rssi_threshold);
if (ret < 0)
return ret;
- ret = rf69_set_ook_threshold_dec(dev->spi, rx_cfg->threshold_decrement);
+ ret = rf69_set_ook_threshold_dec(pi433->spi, rx_cfg->threshold_decrement);
if (ret < 0)
return ret;
- ret = rf69_set_bandwidth(dev->spi, rx_cfg->bw_mantisse,
+ ret = rf69_set_bandwidth(pi433->spi, rx_cfg->bw_mantisse,
rx_cfg->bw_exponent);
if (ret < 0)
return ret;
- ret = rf69_set_bandwidth_during_afc(dev->spi, rx_cfg->bw_mantisse,
+ ret = rf69_set_bandwidth_during_afc(pi433->spi, rx_cfg->bw_mantisse,
rx_cfg->bw_exponent);
if (ret < 0)
return ret;
- ret = rf69_set_dagc(dev->spi, rx_cfg->dagc);
+ ret = rf69_set_dagc(pi433->spi, rx_cfg->dagc);
if (ret < 0)
return ret;
- dev->rx_bytes_to_drop = rx_cfg->bytes_to_drop;
+ pi433->rx_bytes_to_drop = rx_cfg->bytes_to_drop;
/* packet config */
/* enable */
if (rx_cfg->enable_sync == OPTION_ON) {
- ret = rf69_enable_sync(dev->spi);
+ ret = rf69_enable_sync(pi433->spi);
if (ret < 0)
return ret;
- ret = rf69_set_fifo_fill_condition(dev->spi,
+ ret = rf69_set_fifo_fill_condition(pi433->spi,
after_sync_interrupt);
if (ret < 0)
return ret;
} else {
- ret = rf69_disable_sync(dev->spi);
+ ret = rf69_disable_sync(pi433->spi);
if (ret < 0)
return ret;
- ret = rf69_set_fifo_fill_condition(dev->spi, always);
+ ret = rf69_set_fifo_fill_condition(pi433->spi, always);
if (ret < 0)
return ret;
}
if (rx_cfg->enable_length_byte == OPTION_ON) {
- ret = rf69_set_packet_format(dev->spi, packet_length_var);
+ ret = rf69_set_packet_format(pi433->spi, packet_length_var);
if (ret < 0)
return ret;
} else {
- ret = rf69_set_packet_format(dev->spi, packet_length_fix);
+ ret = rf69_set_packet_format(pi433->spi, packet_length_fix);
if (ret < 0)
return ret;
}
- ret = rf69_set_address_filtering(dev->spi,
+ ret = rf69_set_address_filtering(pi433->spi,
rx_cfg->enable_address_filtering);
if (ret < 0)
return ret;
if (rx_cfg->enable_crc == OPTION_ON) {
- ret = rf69_enable_crc(dev->spi);
+ ret = rf69_enable_crc(pi433->spi);
if (ret < 0)
return ret;
} else {
- ret = rf69_disable_crc(dev->spi);
+ ret = rf69_disable_crc(pi433->spi);
if (ret < 0)
return ret;
}
/* lengths */
- ret = rf69_set_sync_size(dev->spi, rx_cfg->sync_length);
+ ret = rf69_set_sync_size(pi433->spi, rx_cfg->sync_length);
if (ret < 0)
return ret;
if (rx_cfg->enable_length_byte == OPTION_ON) {
- ret = rf69_set_payload_length(dev->spi, 0xff);
+ ret = rf69_set_payload_length(pi433->spi, 0xff);
if (ret < 0)
return ret;
} else if (rx_cfg->fixed_message_length != 0) {
@@ -261,26 +261,26 @@ rf69_set_rx_cfg(struct pi433_device *dev, struct pi433_rx_cfg *rx_cfg)
payload_length++;
if (rx_cfg->enable_address_filtering != filtering_off)
payload_length++;
- ret = rf69_set_payload_length(dev->spi, payload_length);
+ ret = rf69_set_payload_length(pi433->spi, payload_length);
if (ret < 0)
return ret;
} else {
- ret = rf69_set_payload_length(dev->spi, 0);
+ ret = rf69_set_payload_length(pi433->spi, 0);
if (ret < 0)
return ret;
}
/* values */
if (rx_cfg->enable_sync == OPTION_ON) {
- ret = rf69_set_sync_values(dev->spi, rx_cfg->sync_pattern);
+ ret = rf69_set_sync_values(pi433->spi, rx_cfg->sync_pattern);
if (ret < 0)
return ret;
}
if (rx_cfg->enable_address_filtering != filtering_off) {
- ret = rf69_set_node_address(dev->spi, rx_cfg->node_address);
+ ret = rf69_set_node_address(pi433->spi, rx_cfg->node_address);
if (ret < 0)
return ret;
- ret = rf69_set_broadcast_address(dev->spi,
+ ret = rf69_set_broadcast_address(pi433->spi,
rx_cfg->broadcast_address);
if (ret < 0)
return ret;
@@ -290,76 +290,76 @@ rf69_set_rx_cfg(struct pi433_device *dev, struct pi433_rx_cfg *rx_cfg)
}
static int
-rf69_set_tx_cfg(struct pi433_device *dev, struct pi433_tx_cfg *tx_cfg)
+rf69_set_tx_cfg(struct pi433_device *pi433, struct pi433_tx_cfg *tx_cfg)
{
int ret;
- ret = rf69_set_frequency(dev->spi, tx_cfg->frequency);
+ ret = rf69_set_frequency(pi433->spi, tx_cfg->frequency);
if (ret < 0)
return ret;
- ret = rf69_set_modulation(dev->spi, tx_cfg->modulation);
+ ret = rf69_set_modulation(pi433->spi, tx_cfg->modulation);
if (ret < 0)
return ret;
- ret = rf69_set_bit_rate(dev->spi, tx_cfg->bit_rate);
+ ret = rf69_set_bit_rate(pi433->spi, tx_cfg->bit_rate);
if (ret < 0)
return ret;
- ret = rf69_set_deviation(dev->spi, tx_cfg->dev_frequency);
+ ret = rf69_set_deviation(pi433->spi, tx_cfg->dev_frequency);
if (ret < 0)
return ret;
- ret = rf69_set_pa_ramp(dev->spi, tx_cfg->pa_ramp);
+ ret = rf69_set_pa_ramp(pi433->spi, tx_cfg->pa_ramp);
if (ret < 0)
return ret;
- ret = rf69_set_modulation_shaping(dev->spi, tx_cfg->mod_shaping);
+ ret = rf69_set_modulation_shaping(pi433->spi, tx_cfg->mod_shaping);
if (ret < 0)
return ret;
- ret = rf69_set_tx_start_condition(dev->spi, tx_cfg->tx_start_condition);
+ ret = rf69_set_tx_start_condition(pi433->spi, tx_cfg->tx_start_condition);
if (ret < 0)
return ret;
/* packet format enable */
if (tx_cfg->enable_preamble == OPTION_ON) {
- ret = rf69_set_preamble_length(dev->spi,
+ ret = rf69_set_preamble_length(pi433->spi,
tx_cfg->preamble_length);
if (ret < 0)
return ret;
} else {
- ret = rf69_set_preamble_length(dev->spi, 0);
+ ret = rf69_set_preamble_length(pi433->spi, 0);
if (ret < 0)
return ret;
}
if (tx_cfg->enable_sync == OPTION_ON) {
- ret = rf69_set_sync_size(dev->spi, tx_cfg->sync_length);
+ ret = rf69_set_sync_size(pi433->spi, tx_cfg->sync_length);
if (ret < 0)
return ret;
- ret = rf69_set_sync_values(dev->spi, tx_cfg->sync_pattern);
+ ret = rf69_set_sync_values(pi433->spi, tx_cfg->sync_pattern);
if (ret < 0)
return ret;
- ret = rf69_enable_sync(dev->spi);
+ ret = rf69_enable_sync(pi433->spi);
if (ret < 0)
return ret;
} else {
- ret = rf69_disable_sync(dev->spi);
+ ret = rf69_disable_sync(pi433->spi);
if (ret < 0)
return ret;
}
if (tx_cfg->enable_length_byte == OPTION_ON) {
- ret = rf69_set_packet_format(dev->spi, packet_length_var);
+ ret = rf69_set_packet_format(pi433->spi, packet_length_var);
if (ret < 0)
return ret;
} else {
- ret = rf69_set_packet_format(dev->spi, packet_length_fix);
+ ret = rf69_set_packet_format(pi433->spi, packet_length_fix);
if (ret < 0)
return ret;
}
if (tx_cfg->enable_crc == OPTION_ON) {
- ret = rf69_enable_crc(dev->spi);
+ ret = rf69_enable_crc(pi433->spi);
if (ret < 0)
return ret;
} else {
- ret = rf69_disable_crc(dev->spi);
+ ret = rf69_disable_crc(pi433->spi);
if (ret < 0)
return ret;
}
@@ -369,38 +369,38 @@ rf69_set_tx_cfg(struct pi433_device *dev, struct pi433_tx_cfg *tx_cfg)
/*-------------------------------------------------------------------------*/
-static int pi433_start_rx(struct pi433_device *dev)
+static int pi433_start_rx(struct pi433_device *pi433)
{
int retval;
/* return without action, if no pending read request */
- if (!dev->rx_active)
+ if (!pi433->rx_active)
return 0;
/* setup for receiving */
- retval = rf69_set_rx_cfg(dev, &dev->rx_cfg);
+ retval = rf69_set_rx_cfg(pi433, &pi433->rx_cfg);
if (retval)
return retval;
/* setup rssi irq */
- retval = rf69_set_dio_mapping(dev->spi, DIO0, DIO_RSSI_DIO0);
+ retval = rf69_set_dio_mapping(pi433->spi, DIO0, DIO_RSSI_DIO0);
if (retval < 0)
return retval;
- dev->irq_state[DIO0] = DIO_RSSI_DIO0;
- irq_set_irq_type(dev->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
+ pi433->irq_state[DIO0] = DIO_RSSI_DIO0;
+ irq_set_irq_type(pi433->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
/* setup fifo level interrupt */
- retval = rf69_set_fifo_threshold(dev->spi, FIFO_SIZE - FIFO_THRESHOLD);
+ retval = rf69_set_fifo_threshold(pi433->spi, FIFO_SIZE - FIFO_THRESHOLD);
if (retval < 0)
return retval;
- retval = rf69_set_dio_mapping(dev->spi, DIO1, DIO_FIFO_LEVEL);
+ retval = rf69_set_dio_mapping(pi433->spi, DIO1, DIO_FIFO_LEVEL);
if (retval < 0)
return retval;
- dev->irq_state[DIO1] = DIO_FIFO_LEVEL;
- irq_set_irq_type(dev->irq_num[DIO1], IRQ_TYPE_EDGE_RISING);
+ pi433->irq_state[DIO1] = DIO_FIFO_LEVEL;
+ irq_set_irq_type(pi433->irq_num[DIO1], IRQ_TYPE_EDGE_RISING);
/* set module to receiving mode */
- retval = rf69_set_mode(dev->spi, receive);
+ retval = rf69_set_mode(pi433->spi, receive);
if (retval < 0)
return retval;
@@ -411,50 +411,50 @@ static int pi433_start_rx(struct pi433_device *dev)
static int pi433_receive(void *data)
{
- struct pi433_device *dev = data;
- struct spi_device *spi = dev->spi;
+ struct pi433_device *pi433 = data;
+ struct spi_device *spi = pi433->spi;
int bytes_to_read, bytes_total;
int retval;
- dev->interrupt_rx_allowed = false;
+ pi433->interrupt_rx_allowed = false;
/* wait for any tx to finish */
- dev_dbg(dev->dev, "rx: going to wait for any tx to finish\n");
- retval = wait_event_interruptible(dev->rx_wait_queue, !dev->tx_active);
+ dev_dbg(pi433->dev, "rx: going to wait for any tx to finish\n");
+ retval = wait_event_interruptible(pi433->rx_wait_queue, !pi433->tx_active);
if (retval) {
/* wait was interrupted */
- dev->interrupt_rx_allowed = true;
- wake_up_interruptible(&dev->tx_wait_queue);
+ pi433->interrupt_rx_allowed = true;
+ wake_up_interruptible(&pi433->tx_wait_queue);
return retval;
}
/* prepare status vars */
- dev->free_in_fifo = FIFO_SIZE;
- dev->rx_position = 0;
- dev->rx_bytes_dropped = 0;
+ pi433->free_in_fifo = FIFO_SIZE;
+ pi433->rx_position = 0;
+ pi433->rx_bytes_dropped = 0;
/* setup radio module to listen for something "in the air" */
- retval = pi433_start_rx(dev);
+ retval = pi433_start_rx(pi433);
if (retval)
return retval;
/* now check RSSI, if low wait for getting high (RSSI interrupt) */
while (!(rf69_read_reg(spi, REG_IRQFLAGS1) & MASK_IRQFLAGS1_RSSI)) {
/* allow tx to interrupt us while waiting for high RSSI */
- dev->interrupt_rx_allowed = true;
- wake_up_interruptible(&dev->tx_wait_queue);
+ pi433->interrupt_rx_allowed = true;
+ wake_up_interruptible(&pi433->tx_wait_queue);
/* wait for RSSI level to become high */
- dev_dbg(dev->dev, "rx: going to wait for high RSSI level\n");
- retval = wait_event_interruptible(dev->rx_wait_queue,
+ dev_dbg(pi433->dev, "rx: going to wait for high RSSI level\n");
+ retval = wait_event_interruptible(pi433->rx_wait_queue,
rf69_read_reg(spi, REG_IRQFLAGS1) &
MASK_IRQFLAGS1_RSSI);
if (retval) /* wait was interrupted */
goto abort;
- dev->interrupt_rx_allowed = false;
+ pi433->interrupt_rx_allowed = false;
/* cross check for ongoing tx */
- if (!dev->tx_active)
+ if (!pi433->tx_active)
break;
}
@@ -462,97 +462,97 @@ static int pi433_receive(void *data)
retval = rf69_set_dio_mapping(spi, DIO0, DIO_PAYLOAD_READY);
if (retval < 0)
goto abort;
- dev->irq_state[DIO0] = DIO_PAYLOAD_READY;
- irq_set_irq_type(dev->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
+ pi433->irq_state[DIO0] = DIO_PAYLOAD_READY;
+ irq_set_irq_type(pi433->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
/* fixed or unlimited length? */
- if (dev->rx_cfg.fixed_message_length != 0) {
- if (dev->rx_cfg.fixed_message_length > dev->rx_buffer_size) {
+ if (pi433->rx_cfg.fixed_message_length != 0) {
+ if (pi433->rx_cfg.fixed_message_length > pi433->rx_buffer_size) {
retval = -1;
goto abort;
}
- bytes_total = dev->rx_cfg.fixed_message_length;
- dev_dbg(dev->dev, "rx: msg len set to %d by fixed length\n",
+ bytes_total = pi433->rx_cfg.fixed_message_length;
+ dev_dbg(pi433->dev, "rx: msg len set to %d by fixed length\n",
bytes_total);
} else {
- bytes_total = dev->rx_buffer_size;
- dev_dbg(dev->dev, "rx: msg len set to %d as requested by read\n",
+ bytes_total = pi433->rx_buffer_size;
+ dev_dbg(pi433->dev, "rx: msg len set to %d as requested by read\n",
bytes_total);
}
/* length byte enabled? */
- if (dev->rx_cfg.enable_length_byte == OPTION_ON) {
- retval = wait_event_interruptible(dev->fifo_wait_queue,
- dev->free_in_fifo < FIFO_SIZE);
+ if (pi433->rx_cfg.enable_length_byte == OPTION_ON) {
+ retval = wait_event_interruptible(pi433->fifo_wait_queue,
+ pi433->free_in_fifo < FIFO_SIZE);
if (retval) /* wait was interrupted */
goto abort;
rf69_read_fifo(spi, (u8 *)&bytes_total, 1);
- if (bytes_total > dev->rx_buffer_size) {
+ if (bytes_total > pi433->rx_buffer_size) {
retval = -1;
goto abort;
}
- dev->free_in_fifo++;
- dev_dbg(dev->dev, "rx: msg len reset to %d due to length byte\n",
+ pi433->free_in_fifo++;
+ dev_dbg(pi433->dev, "rx: msg len reset to %d due to length byte\n",
bytes_total);
}
/* address byte enabled? */
- if (dev->rx_cfg.enable_address_filtering != filtering_off) {
+ if (pi433->rx_cfg.enable_address_filtering != filtering_off) {
u8 dummy;
bytes_total--;
- retval = wait_event_interruptible(dev->fifo_wait_queue,
- dev->free_in_fifo < FIFO_SIZE);
+ retval = wait_event_interruptible(pi433->fifo_wait_queue,
+ pi433->free_in_fifo < FIFO_SIZE);
if (retval) /* wait was interrupted */
goto abort;
rf69_read_fifo(spi, &dummy, 1);
- dev->free_in_fifo++;
- dev_dbg(dev->dev, "rx: address byte stripped off\n");
+ pi433->free_in_fifo++;
+ dev_dbg(pi433->dev, "rx: address byte stripped off\n");
}
/* get payload */
- while (dev->rx_position < bytes_total) {
+ while (pi433->rx_position < bytes_total) {
if (!(rf69_read_reg(spi, REG_IRQFLAGS2) & MASK_IRQFLAGS2_PAYLOAD_READY)) {
- retval = wait_event_interruptible(dev->fifo_wait_queue,
- dev->free_in_fifo < FIFO_SIZE);
+ retval = wait_event_interruptible(pi433->fifo_wait_queue,
+ pi433->free_in_fifo < FIFO_SIZE);
if (retval) /* wait was interrupted */
goto abort;
}
/* need to drop bytes or acquire? */
- if (dev->rx_bytes_to_drop > dev->rx_bytes_dropped)
- bytes_to_read = dev->rx_bytes_to_drop -
- dev->rx_bytes_dropped;
+ if (pi433->rx_bytes_to_drop > pi433->rx_bytes_dropped)
+ bytes_to_read = pi433->rx_bytes_to_drop -
+ pi433->rx_bytes_dropped;
else
- bytes_to_read = bytes_total - dev->rx_position;
+ bytes_to_read = bytes_total - pi433->rx_position;
/* access the fifo */
- if (bytes_to_read > FIFO_SIZE - dev->free_in_fifo)
- bytes_to_read = FIFO_SIZE - dev->free_in_fifo;
+ if (bytes_to_read > FIFO_SIZE - pi433->free_in_fifo)
+ bytes_to_read = FIFO_SIZE - pi433->free_in_fifo;
retval = rf69_read_fifo(spi,
- &dev->rx_buffer[dev->rx_position],
+ &pi433->rx_buffer[pi433->rx_position],
bytes_to_read);
if (retval) /* read failed */
goto abort;
- dev->free_in_fifo += bytes_to_read;
+ pi433->free_in_fifo += bytes_to_read;
/* adjust status vars */
- if (dev->rx_bytes_to_drop > dev->rx_bytes_dropped)
- dev->rx_bytes_dropped += bytes_to_read;
+ if (pi433->rx_bytes_to_drop > pi433->rx_bytes_dropped)
+ pi433->rx_bytes_dropped += bytes_to_read;
else
- dev->rx_position += bytes_to_read;
+ pi433->rx_position += bytes_to_read;
}
/* rx done, wait was interrupted or error occurred */
abort:
- dev->interrupt_rx_allowed = true;
- if (rf69_set_mode(dev->spi, standby))
+ pi433->interrupt_rx_allowed = true;
+ if (rf69_set_mode(pi433->spi, standby))
pr_err("rf69_set_mode(): radio module failed to go standby\n");
- wake_up_interruptible(&dev->tx_wait_queue);
+ wake_up_interruptible(&pi433->tx_wait_queue);
if (retval)
return retval;
@@ -562,8 +562,8 @@ static int pi433_receive(void *data)
static int pi433_tx_thread(void *data)
{
- struct pi433_device *device = data;
- struct spi_device *spi = device->spi;
+ struct pi433_device *pi433 = data;
+ struct spi_device *spi = pi433->spi;
struct pi433_tx_cfg tx_cfg;
size_t size;
bool rx_interrupted = false;
@@ -572,9 +572,9 @@ static int pi433_tx_thread(void *data)
while (1) {
/* wait for fifo to be populated or for request to terminate*/
- dev_dbg(device->dev, "thread: going to wait for new messages\n");
- wait_event_interruptible(device->tx_wait_queue,
- (!kfifo_is_empty(&device->tx_fifo) ||
+ dev_dbg(pi433->dev, "thread: going to wait for new messages\n");
+ wait_event_interruptible(pi433->tx_wait_queue,
+ (!kfifo_is_empty(&pi433->tx_fifo) ||
kthread_should_stop()));
if (kthread_should_stop())
return 0;
@@ -585,17 +585,17 @@ static int pi433_tx_thread(void *data)
* - size of message
* - message
*/
- retval = kfifo_out(&device->tx_fifo, &tx_cfg, sizeof(tx_cfg));
+ retval = kfifo_out(&pi433->tx_fifo, &tx_cfg, sizeof(tx_cfg));
if (retval != sizeof(tx_cfg)) {
- dev_dbg(device->dev,
+ dev_dbg(pi433->dev,
"reading tx_cfg from fifo failed: got %d byte(s), expected %d\n",
retval, (unsigned int)sizeof(tx_cfg));
continue;
}
- retval = kfifo_out(&device->tx_fifo, &size, sizeof(size_t));
+ retval = kfifo_out(&pi433->tx_fifo, &size, sizeof(size_t));
if (retval != sizeof(size_t)) {
- dev_dbg(device->dev,
+ dev_dbg(pi433->dev,
"reading msg size from fifo failed: got %d, expected %d\n",
retval, (unsigned int)sizeof(size_t));
continue;
@@ -614,7 +614,7 @@ static int pi433_tx_thread(void *data)
size++;
/* prime tx_buffer */
- memset(device->tx_buffer, 0, size);
+ memset(pi433->tx_buffer, 0, size);
position = 0;
/* add length byte, if requested */
@@ -623,16 +623,16 @@ static int pi433_tx_thread(void *data)
* according to spec, length byte itself must be
* excluded from the length calculation
*/
- device->tx_buffer[position++] = size - 1;
+ pi433->tx_buffer[position++] = size - 1;
/* add adr byte, if requested */
if (tx_cfg.enable_address_byte == OPTION_ON)
- device->tx_buffer[position++] = tx_cfg.address_byte;
+ pi433->tx_buffer[position++] = tx_cfg.address_byte;
/* finally get message data from fifo */
- retval = kfifo_out(&device->tx_fifo, &device->tx_buffer[position],
- sizeof(device->tx_buffer) - position);
- dev_dbg(device->dev,
+ retval = kfifo_out(&pi433->tx_fifo, &pi433->tx_buffer[position],
+ sizeof(pi433->tx_buffer) - position);
+ dev_dbg(pi433->dev,
"read %d message byte(s) from fifo queue.\n", retval);
/*
@@ -642,23 +642,23 @@ static int pi433_tx_thread(void *data)
* place otherwise we need to wait for the incoming telegram
* to finish
*/
- wait_event_interruptible(device->tx_wait_queue,
- !device->rx_active ||
- device->interrupt_rx_allowed);
+ wait_event_interruptible(pi433->tx_wait_queue,
+ !pi433->rx_active ||
+ pi433->interrupt_rx_allowed);
/*
* prevent race conditions
* irq will be re-enabled after tx config is set
*/
- disable_irq(device->irq_num[DIO0]);
- device->tx_active = true;
+ disable_irq(pi433->irq_num[DIO0]);
+ pi433->tx_active = true;
/* clear fifo, set fifo threshold, set payload length */
retval = rf69_set_mode(spi, standby); /* this clears the fifo */
if (retval < 0)
goto abort;
- if (device->rx_active && !rx_interrupted) {
+ if (pi433->rx_active && !rx_interrupted) {
/*
* rx is currently waiting for a telegram;
* we need to set the radio module to standby
@@ -680,7 +680,7 @@ static int pi433_tx_thread(void *data)
}
/* configure the rf chip */
- retval = rf69_set_tx_cfg(device, &tx_cfg);
+ retval = rf69_set_tx_cfg(pi433, &tx_cfg);
if (retval < 0)
goto abort;
@@ -688,16 +688,16 @@ static int pi433_tx_thread(void *data)
retval = rf69_set_dio_mapping(spi, DIO1, DIO_FIFO_LEVEL);
if (retval < 0)
goto abort;
- device->irq_state[DIO1] = DIO_FIFO_LEVEL;
- irq_set_irq_type(device->irq_num[DIO1], IRQ_TYPE_EDGE_FALLING);
+ pi433->irq_state[DIO1] = DIO_FIFO_LEVEL;
+ irq_set_irq_type(pi433->irq_num[DIO1], IRQ_TYPE_EDGE_FALLING);
/* enable packet sent interrupt */
retval = rf69_set_dio_mapping(spi, DIO0, DIO_PACKET_SENT);
if (retval < 0)
goto abort;
- device->irq_state[DIO0] = DIO_PACKET_SENT;
- irq_set_irq_type(device->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
- enable_irq(device->irq_num[DIO0]); /* was disabled by rx active check */
+ pi433->irq_state[DIO0] = DIO_PACKET_SENT;
+ irq_set_irq_type(pi433->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
+ enable_irq(pi433->irq_num[DIO0]); /* was disabled by rx active check */
/* enable transmission */
retval = rf69_set_mode(spi, transmit);
@@ -705,61 +705,61 @@ static int pi433_tx_thread(void *data)
goto abort;
/* transfer this msg (and repetitions) to chip fifo */
- device->free_in_fifo = FIFO_SIZE;
+ pi433->free_in_fifo = FIFO_SIZE;
position = 0;
repetitions = tx_cfg.repetitions;
while ((repetitions > 0) && (size > position)) {
- if ((size - position) > device->free_in_fifo) {
+ if ((size - position) > pi433->free_in_fifo) {
/* msg to big for fifo - take a part */
- int write_size = device->free_in_fifo;
+ int write_size = pi433->free_in_fifo;
- device->free_in_fifo = 0;
+ pi433->free_in_fifo = 0;
rf69_write_fifo(spi,
- &device->tx_buffer[position],
+ &pi433->tx_buffer[position],
write_size);
position += write_size;
} else {
/* msg fits into fifo - take all */
- device->free_in_fifo -= size;
+ pi433->free_in_fifo -= size;
repetitions--;
rf69_write_fifo(spi,
- &device->tx_buffer[position],
+ &pi433->tx_buffer[position],
(size - position));
position = 0; /* reset for next repetition */
}
- retval = wait_event_interruptible(device->fifo_wait_queue,
- device->free_in_fifo > 0);
+ retval = wait_event_interruptible(pi433->fifo_wait_queue,
+ pi433->free_in_fifo > 0);
if (retval) {
- dev_dbg(device->dev, "ABORT\n");
+ dev_dbg(pi433->dev, "ABORT\n");
goto abort;
}
}
/* we are done. Wait for packet to get sent */
- dev_dbg(device->dev,
+ dev_dbg(pi433->dev,
"thread: wait for packet to get sent/fifo to be empty\n");
- wait_event_interruptible(device->fifo_wait_queue,
- device->free_in_fifo == FIFO_SIZE ||
+ wait_event_interruptible(pi433->fifo_wait_queue,
+ pi433->free_in_fifo == FIFO_SIZE ||
kthread_should_stop());
if (kthread_should_stop())
return 0;
/* STOP_TRANSMISSION */
- dev_dbg(device->dev, "thread: Packet sent. Set mode to stby.\n");
+ dev_dbg(pi433->dev, "thread: Packet sent. Set mode to stby.\n");
retval = rf69_set_mode(spi, standby);
if (retval < 0)
goto abort;
/* everything sent? */
- if (kfifo_is_empty(&device->tx_fifo)) {
+ if (kfifo_is_empty(&pi433->tx_fifo)) {
abort:
if (rx_interrupted) {
rx_interrupted = false;
- pi433_start_rx(device);
+ pi433_start_rx(pi433);
}
- device->tx_active = false;
- wake_up_interruptible(&device->rx_wait_queue);
+ pi433->tx_active = false;
+ wake_up_interruptible(&pi433->rx_wait_queue);
}
}
}
@@ -770,7 +770,7 @@ static ssize_t
pi433_read(struct file *filp, char __user *buf, size_t size, loff_t *f_pos)
{
struct pi433_instance *instance;
- struct pi433_device *device;
+ struct pi433_device *pi433;
int bytes_received;
ssize_t retval;
@@ -779,31 +779,31 @@ pi433_read(struct file *filp, char __user *buf, size_t size, loff_t *f_pos)
return -EMSGSIZE;
instance = filp->private_data;
- device = instance->device;
+ pi433 = instance->pi433;
/* just one read request at a time */
- mutex_lock(&device->rx_lock);
- if (device->rx_active) {
- mutex_unlock(&device->rx_lock);
+ mutex_lock(&pi433->rx_lock);
+ if (pi433->rx_active) {
+ mutex_unlock(&pi433->rx_lock);
return -EAGAIN;
}
- device->rx_active = true;
- mutex_unlock(&device->rx_lock);
+ pi433->rx_active = true;
+ mutex_unlock(&pi433->rx_lock);
/* start receiving */
/* will block until something was received*/
- device->rx_buffer_size = size;
- bytes_received = pi433_receive(device);
+ pi433->rx_buffer_size = size;
+ bytes_received = pi433_receive(pi433);
/* release rx */
- mutex_lock(&device->rx_lock);
- device->rx_active = false;
- mutex_unlock(&device->rx_lock);
+ mutex_lock(&pi433->rx_lock);
+ pi433->rx_active = false;
+ mutex_unlock(&pi433->rx_lock);
/* if read was successful copy to user space*/
if (bytes_received > 0) {
- retval = copy_to_user(buf, device->rx_buffer, bytes_received);
+ retval = copy_to_user(buf, pi433->rx_buffer, bytes_received);
if (retval)
return -EFAULT;
}
@@ -816,12 +816,12 @@ pi433_write(struct file *filp, const char __user *buf,
size_t count, loff_t *f_pos)
{
struct pi433_instance *instance;
- struct pi433_device *device;
+ struct pi433_device *pi433;
int retval;
unsigned int required, available, copied;
instance = filp->private_data;
- device = instance->device;
+ pi433 = instance->pi433;
/*
* check, whether internal buffer (tx thread) is big enough
@@ -835,7 +835,7 @@ pi433_write(struct file *filp, const char __user *buf,
* config the RF trasmitter correctly due to invalid settings
*/
if (!instance->tx_cfg_initialized) {
- dev_notice_once(device->dev,
+ dev_notice_once(pi433->dev,
"write: failed due to unconfigured tx_cfg (see PI433_IOC_WR_TX_CFG)\n");
return -EINVAL;
}
@@ -846,49 +846,49 @@ pi433_write(struct file *filp, const char __user *buf,
* - size of message
* - message
*/
- mutex_lock(&device->tx_fifo_lock);
+ mutex_lock(&pi433->tx_fifo_lock);
required = sizeof(instance->tx_cfg) + sizeof(size_t) + count;
- available = kfifo_avail(&device->tx_fifo);
+ available = kfifo_avail(&pi433->tx_fifo);
if (required > available) {
- dev_dbg(device->dev, "write to fifo failed: %d bytes required but %d available\n",
+ dev_dbg(pi433->dev, "write to fifo failed: %d bytes required but %d available\n",
required, available);
- mutex_unlock(&device->tx_fifo_lock);
+ mutex_unlock(&pi433->tx_fifo_lock);
return -EAGAIN;
}
- retval = kfifo_in(&device->tx_fifo, &instance->tx_cfg,
+ retval = kfifo_in(&pi433->tx_fifo, &instance->tx_cfg,
sizeof(instance->tx_cfg));
if (retval != sizeof(instance->tx_cfg))
goto abort;
- retval = kfifo_in(&device->tx_fifo, &count, sizeof(size_t));
+ retval = kfifo_in(&pi433->tx_fifo, &count, sizeof(size_t));
if (retval != sizeof(size_t))
goto abort;
- retval = kfifo_from_user(&device->tx_fifo, buf, count, &copied);
+ retval = kfifo_from_user(&pi433->tx_fifo, buf, count, &copied);
if (retval || copied != count)
goto abort;
- mutex_unlock(&device->tx_fifo_lock);
+ mutex_unlock(&pi433->tx_fifo_lock);
/* start transfer */
- wake_up_interruptible(&device->tx_wait_queue);
- dev_dbg(device->dev, "write: generated new msg with %d bytes.\n", copied);
+ wake_up_interruptible(&pi433->tx_wait_queue);
+ dev_dbg(pi433->dev, "write: generated new msg with %d bytes.\n", copied);
return copied;
abort:
- dev_warn(device->dev,
+ dev_warn(pi433->dev,
"write to fifo failed, non recoverable: 0x%x\n", retval);
- mutex_unlock(&device->tx_fifo_lock);
+ mutex_unlock(&pi433->tx_fifo_lock);
return -EAGAIN;
}
static long pi433_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{
struct pi433_instance *instance;
- struct pi433_device *device;
+ struct pi433_device *pi433;
struct pi433_tx_cfg tx_cfg;
void __user *argp = (void __user *)arg;
@@ -897,9 +897,9 @@ static long pi433_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
return -ENOTTY;
instance = filp->private_data;
- device = instance->device;
+ pi433 = instance->pi433;
- if (!device)
+ if (!pi433)
return -ESHUTDOWN;
switch (cmd) {
@@ -911,32 +911,32 @@ static long pi433_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
case PI433_IOC_WR_TX_CFG:
if (copy_from_user(&tx_cfg, argp, sizeof(struct pi433_tx_cfg)))
return -EFAULT;
- mutex_lock(&device->tx_fifo_lock);
+ mutex_lock(&pi433->tx_fifo_lock);
memcpy(&instance->tx_cfg, &tx_cfg, sizeof(struct pi433_tx_cfg));
instance->tx_cfg_initialized = true;
- mutex_unlock(&device->tx_fifo_lock);
+ mutex_unlock(&pi433->tx_fifo_lock);
break;
case PI433_IOC_RD_RX_CFG:
- if (copy_to_user(argp, &device->rx_cfg,
+ if (copy_to_user(argp, &pi433->rx_cfg,
sizeof(struct pi433_rx_cfg)))
return -EFAULT;
break;
case PI433_IOC_WR_RX_CFG:
- mutex_lock(&device->rx_lock);
+ mutex_lock(&pi433->rx_lock);
/* during pending read request, change of config not allowed */
- if (device->rx_active) {
- mutex_unlock(&device->rx_lock);
+ if (pi433->rx_active) {
+ mutex_unlock(&pi433->rx_lock);
return -EAGAIN;
}
- if (copy_from_user(&device->rx_cfg, argp,
+ if (copy_from_user(&pi433->rx_cfg, argp,
sizeof(struct pi433_rx_cfg))) {
- mutex_unlock(&device->rx_lock);
+ mutex_unlock(&pi433->rx_lock);
return -EFAULT;
}
- mutex_unlock(&device->rx_lock);
+ mutex_unlock(&pi433->rx_lock);
break;
default:
return -EINVAL;
@@ -949,13 +949,13 @@ static long pi433_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
static int pi433_open(struct inode *inode, struct file *filp)
{
- struct pi433_device *device;
+ struct pi433_device *pi433;
struct pi433_instance *instance;
mutex_lock(&minor_lock);
- device = idr_find(&pi433_idr, iminor(inode));
+ pi433 = idr_find(&pi433_idr, iminor(inode));
mutex_unlock(&minor_lock);
- if (!device) {
+ if (!pi433) {
pr_debug("device: minor %d unknown.\n", iminor(inode));
return -ENODEV;
}
@@ -965,7 +965,7 @@ static int pi433_open(struct inode *inode, struct file *filp)
return -ENOMEM;
/* setup instance data*/
- instance->device = device;
+ instance->pi433 = pi433;
/* instance data as context */
filp->private_data = instance;
@@ -987,7 +987,7 @@ static int pi433_release(struct inode *inode, struct file *filp)
/*-------------------------------------------------------------------------*/
-static int setup_gpio(struct pi433_device *device)
+static int setup_gpio(struct pi433_device *pi433)
{
char name[5];
int retval;
@@ -1000,89 +1000,89 @@ static int setup_gpio(struct pi433_device *device)
for (i = 0; i < NUM_DIO; i++) {
/* "construct" name and get the gpio descriptor */
snprintf(name, sizeof(name), "DIO%d", i);
- device->gpiod[i] = gpiod_get(&device->spi->dev, name,
- 0 /*GPIOD_IN*/);
+ pi433->gpiod[i] = gpiod_get(&pi433->spi->dev, name,
+ 0 /*GPIOD_IN*/);
- if (device->gpiod[i] == ERR_PTR(-ENOENT)) {
- dev_dbg(&device->spi->dev,
+ if (pi433->gpiod[i] == ERR_PTR(-ENOENT)) {
+ dev_dbg(&pi433->spi->dev,
"Could not find entry for %s. Ignoring.\n", name);
continue;
}
- if (device->gpiod[i] == ERR_PTR(-EBUSY))
- dev_dbg(&device->spi->dev, "%s is busy.\n", name);
+ if (pi433->gpiod[i] == ERR_PTR(-EBUSY))
+ dev_dbg(&pi433->spi->dev, "%s is busy.\n", name);
- if (IS_ERR(device->gpiod[i])) {
- retval = PTR_ERR(device->gpiod[i]);
+ if (IS_ERR(pi433->gpiod[i])) {
+ retval = PTR_ERR(pi433->gpiod[i]);
/* release already allocated gpios */
for (i--; i >= 0; i--) {
- free_irq(device->irq_num[i], device);
- gpiod_put(device->gpiod[i]);
+ free_irq(pi433->irq_num[i], pi433);
+ gpiod_put(pi433->gpiod[i]);
}
return retval;
}
/* configure the pin */
- retval = gpiod_direction_input(device->gpiod[i]);
+ retval = gpiod_direction_input(pi433->gpiod[i]);
if (retval)
return retval;
/* configure irq */
- device->irq_num[i] = gpiod_to_irq(device->gpiod[i]);
- if (device->irq_num[i] < 0) {
- device->gpiod[i] = ERR_PTR(-EINVAL);
- return device->irq_num[i];
+ pi433->irq_num[i] = gpiod_to_irq(pi433->gpiod[i]);
+ if (pi433->irq_num[i] < 0) {
+ pi433->gpiod[i] = ERR_PTR(-EINVAL);
+ return pi433->irq_num[i];
}
- retval = request_irq(device->irq_num[i],
+ retval = request_irq(pi433->irq_num[i],
DIO_irq_handler[i],
0, /* flags */
name,
- device);
+ pi433);
if (retval)
return retval;
- dev_dbg(&device->spi->dev, "%s successfully configured\n", name);
+ dev_dbg(&pi433->spi->dev, "%s successfully configured\n", name);
}
return 0;
}
-static void free_gpio(struct pi433_device *device)
+static void free_gpio(struct pi433_device *pi433)
{
int i;
for (i = 0; i < NUM_DIO; i++) {
/* check if gpiod is valid */
- if (IS_ERR(device->gpiod[i]))
+ if (IS_ERR(pi433->gpiod[i]))
continue;
- free_irq(device->irq_num[i], device);
- gpiod_put(device->gpiod[i]);
+ free_irq(pi433->irq_num[i], pi433);
+ gpiod_put(pi433->gpiod[i]);
}
}
-static int pi433_get_minor(struct pi433_device *device)
+static int pi433_get_minor(struct pi433_device *pi433)
{
int retval = -ENOMEM;
mutex_lock(&minor_lock);
- retval = idr_alloc(&pi433_idr, device, 0, N_PI433_MINORS, GFP_KERNEL);
+ retval = idr_alloc(&pi433_idr, pi433, 0, N_PI433_MINORS, GFP_KERNEL);
if (retval >= 0) {
- device->minor = retval;
+ pi433->minor = retval;
retval = 0;
} else if (retval == -ENOSPC) {
- dev_err(&device->spi->dev, "too many pi433 devices\n");
+ dev_err(&pi433->spi->dev, "too many pi433 devices\n");
retval = -EINVAL;
}
mutex_unlock(&minor_lock);
return retval;
}
-static void pi433_free_minor(struct pi433_device *dev)
+static void pi433_free_minor(struct pi433_device *pi433)
{
mutex_lock(&minor_lock);
- idr_remove(&pi433_idr, dev->minor);
+ idr_remove(&pi433_idr, pi433->minor);
mutex_unlock(&minor_lock);
}
@@ -1106,35 +1106,35 @@ static const struct file_operations pi433_fops = {
static int pi433_debugfs_regs_show(struct seq_file *m, void *p)
{
- struct pi433_device *dev;
+ struct pi433_device *pi433;
u8 reg_data[114];
int i;
char *fmt = "0x%02x, 0x%02x\n";
int ret;
- dev = m->private;
+ pi433 = m->private;
- mutex_lock(&dev->tx_fifo_lock);
- mutex_lock(&dev->rx_lock);
+ mutex_lock(&pi433->tx_fifo_lock);
+ mutex_lock(&pi433->rx_lock);
// wait for on-going operations to finish
- ret = wait_event_interruptible(dev->rx_wait_queue, !dev->tx_active);
+ ret = wait_event_interruptible(pi433->rx_wait_queue, !pi433->tx_active);
if (ret)
goto out_unlock;
- ret = wait_event_interruptible(dev->tx_wait_queue, !dev->rx_active);
+ ret = wait_event_interruptible(pi433->tx_wait_queue, !pi433->rx_active);
if (ret)
goto out_unlock;
// skip FIFO register (0x0) otherwise this can affect some of uC ops
for (i = 1; i < 0x50; i++)
- reg_data[i] = rf69_read_reg(dev->spi, i);
+ reg_data[i] = rf69_read_reg(pi433->spi, i);
- reg_data[REG_TESTLNA] = rf69_read_reg(dev->spi, REG_TESTLNA);
- reg_data[REG_TESTPA1] = rf69_read_reg(dev->spi, REG_TESTPA1);
- reg_data[REG_TESTPA2] = rf69_read_reg(dev->spi, REG_TESTPA2);
- reg_data[REG_TESTDAGC] = rf69_read_reg(dev->spi, REG_TESTDAGC);
- reg_data[REG_TESTAFC] = rf69_read_reg(dev->spi, REG_TESTAFC);
+ reg_data[REG_TESTLNA] = rf69_read_reg(pi433->spi, REG_TESTLNA);
+ reg_data[REG_TESTPA1] = rf69_read_reg(pi433->spi, REG_TESTPA1);
+ reg_data[REG_TESTPA2] = rf69_read_reg(pi433->spi, REG_TESTPA2);
+ reg_data[REG_TESTDAGC] = rf69_read_reg(pi433->spi, REG_TESTDAGC);
+ reg_data[REG_TESTAFC] = rf69_read_reg(pi433->spi, REG_TESTAFC);
seq_puts(m, "# reg, val\n");
@@ -1148,8 +1148,8 @@ static int pi433_debugfs_regs_show(struct seq_file *m, void *p)
seq_printf(m, fmt, REG_TESTAFC, reg_data[REG_TESTAFC]);
out_unlock:
- mutex_unlock(&dev->rx_lock);
- mutex_unlock(&dev->tx_fifo_lock);
+ mutex_unlock(&pi433->rx_lock);
+ mutex_unlock(&pi433->tx_fifo_lock);
return ret;
}
@@ -1159,7 +1159,7 @@ DEFINE_SHOW_ATTRIBUTE(pi433_debugfs_regs);
static int pi433_probe(struct spi_device *spi)
{
- struct pi433_device *device;
+ struct pi433_device *pi433;
int retval;
struct dentry *entry;
@@ -1196,37 +1196,37 @@ static int pi433_probe(struct spi_device *spi)
}
/* Allocate driver data */
- device = kzalloc(sizeof(*device), GFP_KERNEL);
- if (!device)
+ pi433 = kzalloc(sizeof(*pi433), GFP_KERNEL);
+ if (!pi433)
return -ENOMEM;
/* Initialize the driver data */
- device->spi = spi;
- device->rx_active = false;
- device->tx_active = false;
- device->interrupt_rx_allowed = false;
+ pi433->spi = spi;
+ pi433->rx_active = false;
+ pi433->tx_active = false;
+ pi433->interrupt_rx_allowed = false;
/* init rx buffer */
- device->rx_buffer = kmalloc(MAX_MSG_SIZE, GFP_KERNEL);
- if (!device->rx_buffer) {
+ pi433->rx_buffer = kmalloc(MAX_MSG_SIZE, GFP_KERNEL);
+ if (!pi433->rx_buffer) {
retval = -ENOMEM;
goto RX_failed;
}
/* init wait queues */
- init_waitqueue_head(&device->tx_wait_queue);
- init_waitqueue_head(&device->rx_wait_queue);
- init_waitqueue_head(&device->fifo_wait_queue);
+ init_waitqueue_head(&pi433->tx_wait_queue);
+ init_waitqueue_head(&pi433->rx_wait_queue);
+ init_waitqueue_head(&pi433->fifo_wait_queue);
/* init fifo */
- INIT_KFIFO(device->tx_fifo);
+ INIT_KFIFO(pi433->tx_fifo);
/* init mutexes and locks */
- mutex_init(&device->tx_fifo_lock);
- mutex_init(&device->rx_lock);
+ mutex_init(&pi433->tx_fifo_lock);
+ mutex_init(&pi433->rx_lock);
/* setup GPIO (including irq_handler) for the different DIOs */
- retval = setup_gpio(device);
+ retval = setup_gpio(pi433);
if (retval) {
dev_dbg(&spi->dev, "setup of GPIOs failed\n");
goto GPIO_failed;
@@ -1256,105 +1256,105 @@ static int pi433_probe(struct spi_device *spi)
goto minor_failed;
/* determ minor number */
- retval = pi433_get_minor(device);
+ retval = pi433_get_minor(pi433);
if (retval) {
dev_dbg(&spi->dev, "get of minor number failed\n");
goto minor_failed;
}
/* create device */
- device->devt = MKDEV(MAJOR(pi433_dev), device->minor);
- device->dev = device_create(&pi433_class,
- &spi->dev,
- device->devt,
- device,
- "pi433.%d",
- device->minor);
- if (IS_ERR(device->dev)) {
+ pi433->devt = MKDEV(MAJOR(pi433_dev), pi433->minor);
+ pi433->dev = device_create(&pi433_class,
+ &spi->dev,
+ pi433->devt,
+ pi433,
+ "pi433.%d",
+ pi433->minor);
+ if (IS_ERR(pi433->dev)) {
pr_err("pi433: device register failed\n");
- retval = PTR_ERR(device->dev);
+ retval = PTR_ERR(pi433->dev);
goto device_create_failed;
} else {
- dev_dbg(device->dev,
+ dev_dbg(pi433->dev,
"created device for major %d, minor %d\n",
MAJOR(pi433_dev),
- device->minor);
+ pi433->minor);
}
/* start tx thread */
- device->tx_task_struct = kthread_run(pi433_tx_thread,
- device,
- "pi433.%d_tx_task",
- device->minor);
- if (IS_ERR(device->tx_task_struct)) {
- dev_dbg(device->dev, "start of send thread failed\n");
- retval = PTR_ERR(device->tx_task_struct);
+ pi433->tx_task_struct = kthread_run(pi433_tx_thread,
+ pi433,
+ "pi433.%d_tx_task",
+ pi433->minor);
+ if (IS_ERR(pi433->tx_task_struct)) {
+ dev_dbg(pi433->dev, "start of send thread failed\n");
+ retval = PTR_ERR(pi433->tx_task_struct);
goto send_thread_failed;
}
/* create cdev */
- device->cdev = cdev_alloc();
- if (!device->cdev) {
- dev_dbg(device->dev, "allocation of cdev failed\n");
+ pi433->cdev = cdev_alloc();
+ if (!pi433->cdev) {
+ dev_dbg(pi433->dev, "allocation of cdev failed\n");
retval = -ENOMEM;
goto cdev_failed;
}
- device->cdev->owner = THIS_MODULE;
- cdev_init(device->cdev, &pi433_fops);
- retval = cdev_add(device->cdev, device->devt, 1);
+ pi433->cdev->owner = THIS_MODULE;
+ cdev_init(pi433->cdev, &pi433_fops);
+ retval = cdev_add(pi433->cdev, pi433->devt, 1);
if (retval) {
- dev_dbg(device->dev, "register of cdev failed\n");
+ dev_dbg(pi433->dev, "register of cdev failed\n");
goto del_cdev;
}
/* spi setup */
- spi_set_drvdata(spi, device);
+ spi_set_drvdata(spi, pi433);
- entry = debugfs_create_dir(dev_name(device->dev), root_dir);
- debugfs_create_file("regs", 0400, entry, device, &pi433_debugfs_regs_fops);
+ entry = debugfs_create_dir(dev_name(pi433->dev), root_dir);
+ debugfs_create_file("regs", 0400, entry, pi433, &pi433_debugfs_regs_fops);
return 0;
del_cdev:
- cdev_del(device->cdev);
+ cdev_del(pi433->cdev);
cdev_failed:
- kthread_stop(device->tx_task_struct);
+ kthread_stop(pi433->tx_task_struct);
send_thread_failed:
- device_destroy(&pi433_class, device->devt);
+ device_destroy(&pi433_class, pi433->devt);
device_create_failed:
- pi433_free_minor(device);
+ pi433_free_minor(pi433);
minor_failed:
- free_gpio(device);
+ free_gpio(pi433);
GPIO_failed:
- kfree(device->rx_buffer);
+ kfree(pi433->rx_buffer);
RX_failed:
- kfree(device);
+ kfree(pi433);
return retval;
}
static void pi433_remove(struct spi_device *spi)
{
- struct pi433_device *device = spi_get_drvdata(spi);
+ struct pi433_device *pi433 = spi_get_drvdata(spi);
- debugfs_lookup_and_remove(dev_name(device->dev), root_dir);
+ debugfs_lookup_and_remove(dev_name(pi433->dev), root_dir);
/* free GPIOs */
- free_gpio(device);
+ free_gpio(pi433);
/* make sure ops on existing fds can abort cleanly */
- device->spi = NULL;
+ pi433->spi = NULL;
- kthread_stop(device->tx_task_struct);
+ kthread_stop(pi433->tx_task_struct);
- device_destroy(&pi433_class, device->devt);
+ device_destroy(&pi433_class, pi433->devt);
- cdev_del(device->cdev);
+ cdev_del(pi433->cdev);
- pi433_free_minor(device);
+ pi433_free_minor(pi433);
- kfree(device->rx_buffer);
- kfree(device);
+ kfree(pi433->rx_buffer);
+ kfree(pi433);
}
static const struct of_device_id pi433_dt_ids[] = {
--
2.34.1
next prev parent reply other threads:[~2024-04-05 7:40 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-05 7:39 [PATCH v3 0/7] staging: pi433: Cleanup & fix potential resource leak Shahar Avidar
2024-04-05 7:39 ` [PATCH v3 1/7] staging: pi433: Rename struct pi433_device buffer field to tx_buffer Shahar Avidar
2024-04-05 7:39 ` Shahar Avidar [this message]
2024-04-05 7:39 ` [PATCH v3 3/7] staging: pi433: Replace pi433_receive param void type to struct pi433_device Shahar Avidar
2024-04-05 7:39 ` [PATCH v3 4/7] staging: pi433: Rename "pi433_dev" of type "dev_t" to "pi433_devt" Shahar Avidar
2024-04-05 7:39 ` [PATCH v3 5/7] staging: pi433: Remove duplicated code using the "goto" error recovery scheme Shahar Avidar
2024-04-05 10:05 ` Markus Elfring
2024-04-05 10:09 ` Greg Kroah-Hartman
2024-04-05 7:39 ` [PATCH v3 6/7] staging: pi433: Add debugfs_remove in case of driver register fails Shahar Avidar
2024-04-05 10:42 ` Markus Elfring
2024-04-05 10:50 ` Greg Kroah-Hartman
2024-04-05 7:40 ` [PATCH v3 7/7] staging: pi433: Reorder pi433_exit cleanup calls Shahar Avidar
2024-04-05 10:34 ` [PATCH v3 0/7] staging: pi433: Cleanup & fix potential resource leak Dan Carpenter
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=20240405074000.3481217-3-ikobh7@gmail.com \
--to=ikobh7@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=felixkimbu1@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=robh@kernel.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.