On Thu, Oct 20, 2022 at 11:48:15PM +0530, Gautam Menghani wrote: > A TODO asks to convert the bit_rate variable to be a u32 so that bit > rates up to 300kbps can be supported as per the spec. > > Signed-off-by: Gautam Menghani <gautammenghani201@xxxxxxxxx> > --- > Please note that this patch is only compile tested. > > drivers/staging/pi433/TODO | 2 -- > drivers/staging/pi433/pi433_if.h | 4 ++-- > drivers/staging/pi433/rf69.c | 2 +- > drivers/staging/pi433/rf69.h | 2 +- > 4 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/staging/pi433/TODO b/drivers/staging/pi433/TODO > index 5cf3fd99d521..8530bbe61d70 100644 > --- a/drivers/staging/pi433/TODO > +++ b/drivers/staging/pi433/TODO > @@ -1,5 +1,3 @@ > * currently the code introduces new IOCTLs. I'm afraid this is a bad idea. > -> Replace this with another interface, hints are welcome! > * Some missing data (marked with ###) needs to be added in the documentation > -* Change (struct pi433_tx_cfg)->bit_rate to be a u32 so that we can support > - bit rates up to 300kbps per the spec. > diff --git a/drivers/staging/pi433/pi433_if.h b/drivers/staging/pi433/pi433_if.h > index 25ee0b77a32c..c958dcfa9f96 100644 > --- a/drivers/staging/pi433/pi433_if.h > +++ b/drivers/staging/pi433/pi433_if.h > @@ -51,7 +51,7 @@ enum option_on_off { > #define PI433_TX_CFG_IOCTL_NR 0 > struct pi433_tx_cfg { > __u32 frequency; > - __u16 bit_rate; > + __u32 bit_rate; > __u32 dev_frequency; > enum modulation modulation; > enum mod_shaping mod_shaping; > @@ -99,7 +99,7 @@ struct pi433_tx_cfg { > #define PI433_RX_CFG_IOCTL_NR 1 > struct pi433_rx_cfg { > __u32 frequency; > - __u16 bit_rate; > + __u32 bit_rate; > __u32 dev_frequency; > > enum modulation modulation; > diff --git a/drivers/staging/pi433/rf69.c b/drivers/staging/pi433/rf69.c > index 8c7fab6a46bb..7e754a3aef5f 100644 > --- a/drivers/staging/pi433/rf69.c > +++ b/drivers/staging/pi433/rf69.c > @@ -185,7 +185,7 @@ int rf69_set_modulation_shaping(struct spi_device *spi, > } > } > > -int rf69_set_bit_rate(struct spi_device *spi, u16 bit_rate) > +int rf69_set_bit_rate(struct spi_device *spi, u32 bit_rate) > { > int retval; > u32 bit_rate_reg; > diff --git a/drivers/staging/pi433/rf69.h b/drivers/staging/pi433/rf69.h > index 78fa0b8bab8b..46a1fb2d5329 100644 > --- a/drivers/staging/pi433/rf69.h > +++ b/drivers/staging/pi433/rf69.h > @@ -24,7 +24,7 @@ int rf69_set_data_mode(struct spi_device *spi, u8 data_mode); > int rf69_set_modulation(struct spi_device *spi, enum modulation modulation); > int rf69_set_modulation_shaping(struct spi_device *spi, > enum mod_shaping mod_shaping); > -int rf69_set_bit_rate(struct spi_device *spi, u16 bit_rate); > +int rf69_set_bit_rate(struct spi_device *spi, u32 bit_rate); > int rf69_set_deviation(struct spi_device *spi, u32 deviation); > int rf69_set_frequency(struct spi_device *spi, u32 frequency); > int rf69_enable_amplifier(struct spi_device *spi, u8 amplifier_mask); > -- > 2.34.1 > I sent (almost) the exact same patch a while ago. I received a reply saying that doing this is not possible. That conversation can still be found here: https://lore.kernel.org/linux-staging/20220315180820.7393-1-cvn249@xxxxxxxxx/t/#u Best regards, Nam