@@ -82,7 +82,7 @@ struct at86rf230_local {
82
82
struct ieee802154_hw * hw ;
83
83
struct at86rf2xx_chip_data * data ;
84
84
struct regmap * regmap ;
85
- int slp_tr ;
85
+ struct gpio_desc * slp_tr ;
86
86
bool sleep ;
87
87
88
88
struct completion state_complete ;
@@ -107,8 +107,8 @@ at86rf230_async_state_change(struct at86rf230_local *lp,
107
107
static inline void
108
108
at86rf230_sleep (struct at86rf230_local * lp )
109
109
{
110
- if (gpio_is_valid ( lp -> slp_tr ) ) {
111
- gpio_set_value (lp -> slp_tr , 1 );
110
+ if (lp -> slp_tr ) {
111
+ gpiod_set_value (lp -> slp_tr , 1 );
112
112
usleep_range (lp -> data -> t_off_to_sleep ,
113
113
lp -> data -> t_off_to_sleep + 10 );
114
114
lp -> sleep = true;
@@ -118,8 +118,8 @@ at86rf230_sleep(struct at86rf230_local *lp)
118
118
static inline void
119
119
at86rf230_awake (struct at86rf230_local * lp )
120
120
{
121
- if (gpio_is_valid ( lp -> slp_tr ) ) {
122
- gpio_set_value (lp -> slp_tr , 0 );
121
+ if (lp -> slp_tr ) {
122
+ gpiod_set_value (lp -> slp_tr , 0 );
123
123
usleep_range (lp -> data -> t_sleep_to_off ,
124
124
lp -> data -> t_sleep_to_off + 100 );
125
125
lp -> sleep = false;
@@ -204,9 +204,9 @@ at86rf230_write_subreg(struct at86rf230_local *lp,
204
204
static inline void
205
205
at86rf230_slp_tr_rising_edge (struct at86rf230_local * lp )
206
206
{
207
- gpio_set_value (lp -> slp_tr , 1 );
207
+ gpiod_set_value (lp -> slp_tr , 1 );
208
208
udelay (1 );
209
- gpio_set_value (lp -> slp_tr , 0 );
209
+ gpiod_set_value (lp -> slp_tr , 0 );
210
210
}
211
211
212
212
static bool
@@ -819,7 +819,7 @@ at86rf230_write_frame_complete(void *context)
819
819
820
820
ctx -> trx .len = 2 ;
821
821
822
- if (gpio_is_valid ( lp -> slp_tr ) )
822
+ if (lp -> slp_tr )
823
823
at86rf230_slp_tr_rising_edge (lp );
824
824
else
825
825
at86rf230_async_write_reg (lp , RG_TRX_STATE , STATE_BUSY_TX , ctx ,
@@ -1520,8 +1520,10 @@ static int at86rf230_probe(struct spi_device *spi)
1520
1520
{
1521
1521
struct ieee802154_hw * hw ;
1522
1522
struct at86rf230_local * lp ;
1523
+ struct gpio_desc * slp_tr ;
1524
+ struct gpio_desc * rstn ;
1523
1525
unsigned int status ;
1524
- int rc , irq_type , rstn , slp_tr ;
1526
+ int rc , irq_type ;
1525
1527
u8 xtal_trim ;
1526
1528
1527
1529
if (!spi -> irq ) {
@@ -1539,28 +1541,26 @@ static int at86rf230_probe(struct spi_device *spi)
1539
1541
xtal_trim = 0 ;
1540
1542
}
1541
1543
1542
- rstn = of_get_named_gpio (spi -> dev .of_node , "reset-gpio" , 0 );
1543
- if (gpio_is_valid (rstn )) {
1544
- rc = devm_gpio_request_one (& spi -> dev , rstn ,
1545
- GPIOF_OUT_INIT_HIGH , "rstn" );
1546
- if (rc )
1547
- return rc ;
1548
- }
1544
+ rstn = devm_gpiod_get_optional (& spi -> dev , "reset" , GPIOD_OUT_LOW );
1545
+ rc = PTR_ERR_OR_ZERO (rstn );
1546
+ if (rc )
1547
+ return rc ;
1549
1548
1550
- slp_tr = of_get_named_gpio (spi -> dev .of_node , "sleep-gpio" , 0 );
1551
- if (gpio_is_valid (slp_tr )) {
1552
- rc = devm_gpio_request_one (& spi -> dev , slp_tr ,
1553
- GPIOF_OUT_INIT_LOW , "slp_tr" );
1554
- if (rc )
1555
- return rc ;
1556
- }
1549
+ gpiod_set_consumer_name (rstn , "rstn" );
1550
+
1551
+ slp_tr = devm_gpiod_get_optional (& spi -> dev , "sleep" , GPIOD_OUT_LOW );
1552
+ rc = PTR_ERR_OR_ZERO (slp_tr );
1553
+ if (rc )
1554
+ return rc ;
1555
+
1556
+ gpiod_set_consumer_name (slp_tr , "slp_tr" );
1557
1557
1558
1558
/* Reset */
1559
- if (gpio_is_valid ( rstn ) ) {
1559
+ if (rstn ) {
1560
1560
udelay (1 );
1561
- gpio_set_value_cansleep (rstn , 0 );
1561
+ gpiod_set_value_cansleep (rstn , 1 );
1562
1562
udelay (1 );
1563
- gpio_set_value_cansleep (rstn , 1 );
1563
+ gpiod_set_value_cansleep (rstn , 0 );
1564
1564
usleep_range (120 , 240 );
1565
1565
}
1566
1566
0 commit comments