* Validate that the driver implements all of the callbacks
* so that we don't have to every time we make them.
*/
- if ((!driver->message_send) || (!driver->message_cancel) ||
- (!driver->submit_svc)) {
+ if ((!driver->message_send) || (!driver->message_cancel)) {
pr_err("Must implement all greybus_host_driver callbacks!\n");
return ERR_PTR(-EINVAL);
}
#include <asm/unaligned.h>
#include "greybus.h"
-#include "svc_msg.h"
#include "kernel_ver.h"
/* Memory sizes for the buffers sent to/from the ES1 controller */
static void usb_log_disable(struct es1_ap_dev *es1);
#define ES1_TIMEOUT 500 /* 500 ms for the SVC to do something */
-static int submit_svc(struct svc_msg *svc_msg, struct greybus_host_device *hd)
-{
- struct es1_ap_dev *es1 = hd_to_es1(hd);
- int retval;
-
- /* SVC messages go down our control pipe */
- retval = usb_control_msg(es1->usb_dev,
- usb_sndctrlpipe(es1->usb_dev,
- es1->control_endpoint),
- REQUEST_SVC,
- USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
- 0x00, 0x00,
- (char *)svc_msg,
- sizeof(*svc_msg),
- ES1_TIMEOUT);
- if (retval != sizeof(*svc_msg))
- return retval;
-
- return 0;
-}
static struct urb *next_free_urb(struct es1_ap_dev *es1, gfp_t gfp_mask)
{
.hd_priv_size = sizeof(struct es1_ap_dev),
.message_send = message_send,
.message_cancel = message_cancel,
- .submit_svc = submit_svc,
};
/* Common function to report consistent warnings based on URB status */
#include <asm/unaligned.h>
#include "greybus.h"
-#include "svc_msg.h"
#include "kernel_ver.h"
/* Memory sizes for the buffers sent to/from the ES1 controller */
}
#define ES1_TIMEOUT 500 /* 500 ms for the SVC to do something */
-static int submit_svc(struct svc_msg *svc_msg, struct greybus_host_device *hd)
-{
- struct es1_ap_dev *es1 = hd_to_es1(hd);
- int retval;
-
- /* SVC messages go down our control pipe */
- retval = usb_control_msg(es1->usb_dev,
- usb_sndctrlpipe(es1->usb_dev,
- es1->control_endpoint),
- REQUEST_SVC,
- USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_INTERFACE,
- 0x00, 0x00,
- (char *)svc_msg,
- sizeof(*svc_msg),
- ES1_TIMEOUT);
- if (retval != sizeof(*svc_msg))
- return retval;
-
- return 0;
-}
static int ep_in_use(struct es1_ap_dev *es1, int bulk_ep_set)
{
.hd_priv_size = sizeof(struct es1_ap_dev),
.message_send = message_send,
.message_cancel = message_cancel,
- .submit_svc = submit_svc,
};
/* Common function to report consistent warnings based on URB status */
int (*message_send)(struct greybus_host_device *hd, u16 dest_cport_id,
struct gb_message *message, gfp_t gfp_mask);
void (*message_cancel)(struct gb_message *message);
- int (*submit_svc)(struct svc_msg *svc_msg,
- struct greybus_host_device *hd);
};
struct greybus_host_device {