* [PATCH 0/2] staging: pi433: fix logging and naming issues
@ 2017-11-20 23:02 Marcin Ciupak
2017-11-20 23:03 ` [PATCH 1/2] staging: pi433: fix (NULL device *) in log message Marcin Ciupak
2017-11-20 23:05 ` [PATCH 2/2] staging: pi433: fix naming when more than one radio is used Marcin Ciupak
0 siblings, 2 replies; 3+ messages in thread
From: Marcin Ciupak @ 2017-11-20 23:02 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-kernel, devel
These patches fix messages logging and device naming issues when probing
for new radio module.
Those two changes are send as one patchset since both modify the same
part of code (second patch depends on first one)
Marcin Ciupak (2):
staging: pi433: fix (NULL device *) in log message
staging: pi433: fix naming when more than one radio is used
drivers/staging/pi433/pi433_if.c | 30 ++++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
--
2.15.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] staging: pi433: fix (NULL device *) in log message
2017-11-20 23:02 [PATCH 0/2] staging: pi433: fix logging and naming issues Marcin Ciupak
@ 2017-11-20 23:03 ` Marcin Ciupak
2017-11-20 23:05 ` [PATCH 2/2] staging: pi433: fix naming when more than one radio is used Marcin Ciupak
1 sibling, 0 replies; 3+ messages in thread
From: Marcin Ciupak @ 2017-11-20 23:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-kernel, devel
(NULL device *) is printed in log message in pi433_probe and
pi433_get_minor functions due to device->dev being used prior to call to
device_create function.
Signed-off-by: Marcin Ciupak <marcin.s.ciupak@gmail.com>
---
drivers/staging/pi433/pi433_if.c | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index d946838450d4..bc17676169cb 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -1051,7 +1051,7 @@ static int pi433_get_minor(struct pi433_device *device)
device->minor = retval;
retval = 0;
} else if (retval == -ENOSPC) {
- dev_err(device->dev, "too many pi433 devices\n");
+ dev_err(&device->spi->dev, "too many pi433 devices\n");
retval = -EINVAL;
}
mutex_unlock(&minor_lock);
@@ -1159,19 +1159,10 @@ static int pi433_probe(struct spi_device *spi)
SET_CHECKED(rf69_set_output_power_level (spi, 13));
SET_CHECKED(rf69_set_antenna_impedance (spi, fiftyOhm));
- /* start tx thread */
- device->tx_task_struct = kthread_run(pi433_tx_thread,
- device,
- "pi433_tx_task");
- if (IS_ERR(device->tx_task_struct)) {
- dev_dbg(device->dev, "start of send thread failed");
- goto send_thread_failed;
- }
-
/* determ minor number */
retval = pi433_get_minor(device);
if (retval) {
- dev_dbg(device->dev, "get of minor number failed");
+ dev_dbg(&spi->dev, "get of minor number failed");
goto minor_failed;
}
@@ -1194,6 +1185,15 @@ static int pi433_probe(struct spi_device *spi)
device->minor);
}
+ /* start tx thread */
+ device->tx_task_struct = kthread_run(pi433_tx_thread,
+ device,
+ "pi433_tx_task");
+ if (IS_ERR(device->tx_task_struct)) {
+ dev_dbg(device->dev, "start of send thread failed");
+ goto send_thread_failed;
+ }
+
/* create cdev */
device->cdev = cdev_alloc();
device->cdev->owner = THIS_MODULE;
@@ -1210,12 +1210,12 @@ static int pi433_probe(struct spi_device *spi)
return 0;
cdev_failed:
+ kthread_stop(device->tx_task_struct);
+send_thread_failed:
device_destroy(pi433_class, device->devt);
device_create_failed:
pi433_free_minor(device);
minor_failed:
- kthread_stop(device->tx_task_struct);
-send_thread_failed:
free_GPIOs(device);
GPIO_failed:
kfree(device);
--
2.15.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] staging: pi433: fix naming when more than one radio is used
2017-11-20 23:02 [PATCH 0/2] staging: pi433: fix logging and naming issues Marcin Ciupak
2017-11-20 23:03 ` [PATCH 1/2] staging: pi433: fix (NULL device *) in log message Marcin Ciupak
@ 2017-11-20 23:05 ` Marcin Ciupak
1 sibling, 0 replies; 3+ messages in thread
From: Marcin Ciupak @ 2017-11-20 23:05 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: linux-kernel, devel
When using more than one hardware radio module pi433_probe fails as the
same name is used for all modules. Create unique name by adding minor
number to the device name.
Signed-off-by: Marcin Ciupak <marcin.s.ciupak@gmail.com>
---
drivers/staging/pi433/pi433_if.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/pi433/pi433_if.c b/drivers/staging/pi433/pi433_if.c
index bc17676169cb..7a3e3101c483 100644
--- a/drivers/staging/pi433/pi433_if.c
+++ b/drivers/staging/pi433/pi433_if.c
@@ -1172,7 +1172,8 @@ static int pi433_probe(struct spi_device *spi)
&spi->dev,
device->devt,
device,
- "pi433");
+ "pi433.%d",
+ device->minor);
if (IS_ERR(device->dev)) {
pr_err("pi433: device register failed\n");
retval = PTR_ERR(device->dev);
@@ -1188,7 +1189,8 @@ static int pi433_probe(struct spi_device *spi)
/* start tx thread */
device->tx_task_struct = kthread_run(pi433_tx_thread,
device,
- "pi433_tx_task");
+ "pi433.%d_tx_task",
+ device->minor);
if (IS_ERR(device->tx_task_struct)) {
dev_dbg(device->dev, "start of send thread failed");
goto send_thread_failed;
--
2.15.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-20 21:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-20 23:02 [PATCH 0/2] staging: pi433: fix logging and naming issues Marcin Ciupak
2017-11-20 23:03 ` [PATCH 1/2] staging: pi433: fix (NULL device *) in log message Marcin Ciupak
2017-11-20 23:05 ` [PATCH 2/2] staging: pi433: fix naming when more than one radio is used Marcin Ciupak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox