@@ -558,7 +558,6 @@ enum qeth_channel_states {
558
558
*/
559
559
enum qeth_card_states {
560
560
CARD_STATE_DOWN ,
561
- CARD_STATE_HARDSETUP ,
562
561
CARD_STATE_SOFTSETUP ,
563
562
};
564
563
@@ -608,6 +607,8 @@ struct qeth_cmd_buffer {
608
607
long timeout ;
609
608
unsigned char * data ;
610
609
void (* finalize )(struct qeth_card * card , struct qeth_cmd_buffer * iob );
610
+ bool (* match )(struct qeth_cmd_buffer * iob ,
611
+ struct qeth_cmd_buffer * reply );
611
612
void (* callback )(struct qeth_card * card , struct qeth_cmd_buffer * iob ,
612
613
unsigned int data_length );
613
614
int rc ;
@@ -618,6 +619,14 @@ static inline void qeth_get_cmd(struct qeth_cmd_buffer *iob)
618
619
refcount_inc (& iob -> ref_count );
619
620
}
620
621
622
+ static inline struct qeth_ipa_cmd * __ipa_reply (struct qeth_cmd_buffer * iob )
623
+ {
624
+ if (!IS_IPA (iob -> data ))
625
+ return NULL ;
626
+
627
+ return (struct qeth_ipa_cmd * ) PDU_ENCAPSULATION (iob -> data );
628
+ }
629
+
621
630
static inline struct qeth_ipa_cmd * __ipa_cmd (struct qeth_cmd_buffer * iob )
622
631
{
623
632
return (struct qeth_ipa_cmd * )(iob -> data + IPA_PDU_HEADER_SIZE );
@@ -727,11 +736,10 @@ struct qeth_osn_info {
727
736
728
737
struct qeth_discipline {
729
738
const struct device_type * devtype ;
730
- int (* recover )(void * ptr );
731
739
int (* setup ) (struct ccwgroup_device * );
732
740
void (* remove ) (struct ccwgroup_device * );
733
- int (* set_online ) (struct ccwgroup_device * );
734
- int (* set_offline ) (struct ccwgroup_device * );
741
+ int (* set_online )(struct qeth_card * card );
742
+ void (* set_offline )(struct qeth_card * card );
735
743
int (* do_ioctl )(struct net_device * dev , struct ifreq * rq , int cmd );
736
744
int (* control_event_handler )(struct qeth_card * card ,
737
745
struct qeth_ipa_cmd * cmd );
@@ -987,14 +995,11 @@ struct net_device *qeth_clone_netdev(struct net_device *orig);
987
995
struct qeth_card * qeth_get_card_by_busid (char * bus_id );
988
996
void qeth_set_allowed_threads (struct qeth_card * , unsigned long , int );
989
997
int qeth_threads_running (struct qeth_card * , unsigned long );
990
- int qeth_do_run_thread (struct qeth_card * , unsigned long );
991
- void qeth_clear_thread_start_bit (struct qeth_card * , unsigned long );
992
- void qeth_clear_thread_running_bit (struct qeth_card * , unsigned long );
993
998
int qeth_core_hardsetup_card (struct qeth_card * card , bool * carrier_ok );
994
999
int qeth_stop_channel (struct qeth_channel * channel );
1000
+ int qeth_set_offline (struct qeth_card * card , bool resetting );
995
1001
996
1002
void qeth_print_status_message (struct qeth_card * );
997
- int qeth_init_qdio_queues (struct qeth_card * );
998
1003
int qeth_send_ipa_cmd (struct qeth_card * , struct qeth_cmd_buffer * ,
999
1004
int (* reply_cb )
1000
1005
(struct qeth_card * , struct qeth_reply * , unsigned long ),
@@ -1027,7 +1032,9 @@ void qeth_setadp_promisc_mode(struct qeth_card *card, bool enable);
1027
1032
int qeth_setadpparms_change_macaddr (struct qeth_card * );
1028
1033
void qeth_tx_timeout (struct net_device * , unsigned int txqueue );
1029
1034
void qeth_prepare_ipa_cmd (struct qeth_card * card , struct qeth_cmd_buffer * iob ,
1030
- u16 cmd_length );
1035
+ u16 cmd_length ,
1036
+ bool (* match )(struct qeth_cmd_buffer * iob ,
1037
+ struct qeth_cmd_buffer * reply ));
1031
1038
int qeth_query_switch_attributes (struct qeth_card * card ,
1032
1039
struct qeth_switch_info * sw_info );
1033
1040
int qeth_query_card_info (struct qeth_card * card ,
0 commit comments