17
17
#include <linux/hid.h>
18
18
#include <linux/intel-ish-client-if.h>
19
19
#include <linux/sched.h>
20
- #include "ishtp/ishtp-dev.h"
21
- #include "ishtp/client.h"
22
20
#include "ishtp-hid.h"
23
21
24
22
/* Rx ring buffer pool size */
@@ -40,7 +38,7 @@ static void report_bad_packet(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
40
38
size_t cur_pos , size_t payload_len )
41
39
{
42
40
struct hostif_msg * recv_msg = recv_buf ;
43
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
41
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
44
42
45
43
dev_err (cl_data_to_dev (client_data ), "[hid-ish]: BAD packet %02X\n"
46
44
"total_bad=%u cur_pos=%u\n"
@@ -77,7 +75,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
77
75
struct report_list * reports_list ;
78
76
char * reports ;
79
77
size_t report_len ;
80
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
78
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
81
79
int curr_hid_dev = client_data -> cur_hid_dev ;
82
80
struct ishtp_hid_data * hid_data = NULL ;
83
81
struct hid_device * hid = NULL ;
@@ -93,7 +91,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
93
91
(unsigned int )data_len ,
94
92
(unsigned int )sizeof (struct hostif_msg_hdr ));
95
93
++ client_data -> bad_recv_cnt ;
96
- ish_hw_reset (hid_ishtp_cl -> dev );
94
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
97
95
break ;
98
96
}
99
97
@@ -106,7 +104,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
106
104
++ client_data -> bad_recv_cnt ;
107
105
report_bad_packet (hid_ishtp_cl , recv_msg , cur_pos ,
108
106
payload_len );
109
- ish_hw_reset (hid_ishtp_cl -> dev );
107
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
110
108
break ;
111
109
}
112
110
@@ -121,7 +119,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
121
119
report_bad_packet (hid_ishtp_cl , recv_msg ,
122
120
cur_pos ,
123
121
payload_len );
124
- ish_hw_reset (hid_ishtp_cl -> dev );
122
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
125
123
break ;
126
124
}
127
125
client_data -> hid_dev_count = (unsigned int )* payload ;
@@ -170,7 +168,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
170
168
report_bad_packet (hid_ishtp_cl , recv_msg ,
171
169
cur_pos ,
172
170
payload_len );
173
- ish_hw_reset (hid_ishtp_cl -> dev );
171
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
174
172
break ;
175
173
}
176
174
if (!client_data -> hid_descr [curr_hid_dev ])
@@ -195,7 +193,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
195
193
report_bad_packet (hid_ishtp_cl , recv_msg ,
196
194
cur_pos ,
197
195
payload_len );
198
- ish_hw_reset (hid_ishtp_cl -> dev );
196
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
199
197
break ;
200
198
}
201
199
if (!client_data -> report_descr [curr_hid_dev ])
@@ -313,7 +311,7 @@ static void process_recv(struct ishtp_cl *hid_ishtp_cl, void *recv_buf,
313
311
++ client_data -> bad_recv_cnt ;
314
312
report_bad_packet (hid_ishtp_cl , recv_msg , cur_pos ,
315
313
payload_len );
316
- ish_hw_reset (hid_ishtp_cl -> dev );
314
+ ish_hw_reset (ishtp_get_ishtp_device ( hid_ishtp_cl ) );
317
315
break ;
318
316
319
317
}
@@ -493,7 +491,7 @@ int ishtp_hid_link_ready_wait(struct ishtp_cl_data *client_data)
493
491
static int ishtp_enum_enum_devices (struct ishtp_cl * hid_ishtp_cl )
494
492
{
495
493
struct hostif_msg msg ;
496
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
494
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
497
495
int retry_count ;
498
496
int rv ;
499
497
@@ -530,7 +528,7 @@ static int ishtp_enum_enum_devices(struct ishtp_cl *hid_ishtp_cl)
530
528
}
531
529
532
530
client_data -> num_hid_devices = client_data -> hid_dev_count ;
533
- dev_info (& hid_ishtp_cl -> device -> dev ,
531
+ dev_info (ishtp_device ( client_data -> cl_device ) ,
534
532
"[hid-ish]: enum_devices_done OK, num_hid_devices=%d\n" ,
535
533
client_data -> num_hid_devices );
536
534
@@ -549,7 +547,7 @@ static int ishtp_enum_enum_devices(struct ishtp_cl *hid_ishtp_cl)
549
547
static int ishtp_get_hid_descriptor (struct ishtp_cl * hid_ishtp_cl , int index )
550
548
{
551
549
struct hostif_msg msg ;
552
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
550
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
553
551
int rv ;
554
552
555
553
/* Get HID descriptor */
@@ -596,7 +594,7 @@ static int ishtp_get_report_descriptor(struct ishtp_cl *hid_ishtp_cl,
596
594
int index )
597
595
{
598
596
struct hostif_msg msg ;
599
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
597
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
600
598
int rv ;
601
599
602
600
/* Get report descriptor */
@@ -644,7 +642,7 @@ static int ishtp_get_report_descriptor(struct ishtp_cl *hid_ishtp_cl,
644
642
static int hid_ishtp_cl_init (struct ishtp_cl * hid_ishtp_cl , int reset )
645
643
{
646
644
struct ishtp_device * dev ;
647
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
645
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
648
646
struct ishtp_fw_client * fw_client ;
649
647
int i ;
650
648
int rv ;
@@ -661,21 +659,21 @@ static int hid_ishtp_cl_init(struct ishtp_cl *hid_ishtp_cl, int reset)
661
659
662
660
client_data -> init_done = 0 ;
663
661
664
- dev = hid_ishtp_cl -> dev ;
662
+ dev = ishtp_get_ishtp_device ( hid_ishtp_cl ) ;
665
663
666
664
/* Connect to FW client */
667
- hid_ishtp_cl -> rx_ring_size = HID_CL_RX_RING_SIZE ;
668
- hid_ishtp_cl -> tx_ring_size = HID_CL_TX_RING_SIZE ;
665
+ ishtp_set_tx_ring_size ( hid_ishtp_cl , HID_CL_TX_RING_SIZE ) ;
666
+ ishtp_set_rx_ring_size ( hid_ishtp_cl , HID_CL_RX_RING_SIZE ) ;
669
667
670
668
fw_client = ishtp_fw_cl_get_client (dev , & hid_ishtp_guid );
671
669
if (!fw_client ) {
672
670
dev_err (cl_data_to_dev (client_data ),
673
671
"ish client uuid not found\n" );
674
672
return - ENOENT ;
675
673
}
676
-
677
- hid_ishtp_cl -> fw_client_id = fw_client -> client_id ;
678
- hid_ishtp_cl -> state = ISHTP_CL_CONNECTING ;
674
+ ishtp_cl_set_fw_client_id ( hid_ishtp_cl ,
675
+ ishtp_get_fw_client_id ( fw_client )) ;
676
+ ishtp_set_connection_state ( hid_ishtp_cl , ISHTP_CL_CONNECTING ) ;
679
677
680
678
rv = ishtp_cl_connect (hid_ishtp_cl );
681
679
if (rv ) {
@@ -687,7 +685,7 @@ static int hid_ishtp_cl_init(struct ishtp_cl *hid_ishtp_cl, int reset)
687
685
hid_ishtp_trace (client_data , "%s client connected\n" , __func__ );
688
686
689
687
/* Register read callback */
690
- ishtp_register_event_cb (hid_ishtp_cl -> device , ish_cl_event_cb );
688
+ ishtp_register_event_cb (client_data -> cl_device , ish_cl_event_cb );
691
689
692
690
rv = ishtp_enum_enum_devices (hid_ishtp_cl );
693
691
if (rv )
@@ -725,7 +723,7 @@ static int hid_ishtp_cl_init(struct ishtp_cl *hid_ishtp_cl, int reset)
725
723
return 0 ;
726
724
727
725
err_cl_disconnect :
728
- hid_ishtp_cl -> state = ISHTP_CL_DISCONNECTING ;
726
+ ishtp_set_connection_state ( hid_ishtp_cl , ISHTP_CL_DISCONNECTING ) ;
729
727
ishtp_cl_disconnect (hid_ishtp_cl );
730
728
err_cl_unlink :
731
729
ishtp_cl_unlink (hid_ishtp_cl );
@@ -762,7 +760,7 @@ static void hid_ishtp_cl_reset_handler(struct work_struct *work)
762
760
763
761
hid_ishtp_trace (client_data , "%s hid_ishtp_cl %p\n" , __func__ ,
764
762
hid_ishtp_cl );
765
- dev_dbg (& cl_device -> dev , "%s\n" , __func__ );
763
+ dev_dbg (ishtp_device ( client_data -> cl_device ) , "%s\n" , __func__ );
766
764
767
765
hid_ishtp_cl_deinit (hid_ishtp_cl );
768
766
@@ -771,7 +769,7 @@ static void hid_ishtp_cl_reset_handler(struct work_struct *work)
771
769
return ;
772
770
773
771
ishtp_set_drvdata (cl_device , hid_ishtp_cl );
774
- hid_ishtp_cl -> client_data = client_data ;
772
+ ishtp_set_client_data ( hid_ishtp_cl , client_data ) ;
775
773
client_data -> hid_ishtp_cl = hid_ishtp_cl ;
776
774
777
775
client_data -> num_hid_devices = 0 ;
@@ -789,7 +787,7 @@ static void hid_ishtp_cl_reset_handler(struct work_struct *work)
789
787
}
790
788
}
791
789
792
- void (* hid_print_trace )(void * dev , const char * format , ...);
790
+ void (* hid_print_trace )(void * unused , const char * format , ...);
793
791
794
792
/**
795
793
* hid_ishtp_cl_probe() - ISHTP client driver probe
@@ -819,7 +817,7 @@ static int hid_ishtp_cl_probe(struct ishtp_cl_device *cl_device)
819
817
return - ENOMEM ;
820
818
821
819
ishtp_set_drvdata (cl_device , hid_ishtp_cl );
822
- hid_ishtp_cl -> client_data = client_data ;
820
+ ishtp_set_client_data ( hid_ishtp_cl , client_data ) ;
823
821
client_data -> hid_ishtp_cl = hid_ishtp_cl ;
824
822
client_data -> cl_device = cl_device ;
825
823
@@ -851,13 +849,13 @@ static int hid_ishtp_cl_probe(struct ishtp_cl_device *cl_device)
851
849
static int hid_ishtp_cl_remove (struct ishtp_cl_device * cl_device )
852
850
{
853
851
struct ishtp_cl * hid_ishtp_cl = ishtp_get_drvdata (cl_device );
854
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
852
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
855
853
856
854
hid_ishtp_trace (client_data , "%s hid_ishtp_cl %p\n" , __func__ ,
857
855
hid_ishtp_cl );
858
856
859
857
dev_dbg (ishtp_device (cl_device ), "%s\n" , __func__ );
860
- hid_ishtp_cl -> state = ISHTP_CL_DISCONNECTING ;
858
+ ishtp_set_connection_state ( hid_ishtp_cl , ISHTP_CL_DISCONNECTING ) ;
861
859
ishtp_cl_disconnect (hid_ishtp_cl );
862
860
ishtp_put_device (cl_device );
863
861
ishtp_hid_remove (client_data );
@@ -881,7 +879,7 @@ static int hid_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
881
879
static int hid_ishtp_cl_reset (struct ishtp_cl_device * cl_device )
882
880
{
883
881
struct ishtp_cl * hid_ishtp_cl = ishtp_get_drvdata (cl_device );
884
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
882
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
885
883
886
884
hid_ishtp_trace (client_data , "%s hid_ishtp_cl %p\n" , __func__ ,
887
885
hid_ishtp_cl );
@@ -891,8 +889,6 @@ static int hid_ishtp_cl_reset(struct ishtp_cl_device *cl_device)
891
889
return 0 ;
892
890
}
893
891
894
- #define to_ishtp_cl_device (d ) container_of(d, struct ishtp_cl_device, dev)
895
-
896
892
/**
897
893
* hid_ishtp_cl_suspend() - ISHTP client driver suspend
898
894
* @device: device instance
@@ -903,9 +899,9 @@ static int hid_ishtp_cl_reset(struct ishtp_cl_device *cl_device)
903
899
*/
904
900
static int hid_ishtp_cl_suspend (struct device * device )
905
901
{
906
- struct ishtp_cl_device * cl_device = to_ishtp_cl_device (device );
902
+ struct ishtp_cl_device * cl_device = dev_get_drvdata (device );
907
903
struct ishtp_cl * hid_ishtp_cl = ishtp_get_drvdata (cl_device );
908
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
904
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
909
905
910
906
hid_ishtp_trace (client_data , "%s hid_ishtp_cl %p\n" , __func__ ,
911
907
hid_ishtp_cl );
@@ -924,9 +920,9 @@ static int hid_ishtp_cl_suspend(struct device *device)
924
920
*/
925
921
static int hid_ishtp_cl_resume (struct device * device )
926
922
{
927
- struct ishtp_cl_device * cl_device = to_ishtp_cl_device (device );
923
+ struct ishtp_cl_device * cl_device = dev_get_drvdata (device );
928
924
struct ishtp_cl * hid_ishtp_cl = ishtp_get_drvdata (cl_device );
929
- struct ishtp_cl_data * client_data = hid_ishtp_cl -> client_data ;
925
+ struct ishtp_cl_data * client_data = ishtp_get_client_data ( hid_ishtp_cl ) ;
930
926
931
927
hid_ishtp_trace (client_data , "%s hid_ishtp_cl %p\n" , __func__ ,
932
928
hid_ishtp_cl );
0 commit comments