Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7baea6e5 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "usb: gadget: Add snapshot of USB RNDIS Function driver"

parents da96e0aa 50a21845
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -182,6 +182,9 @@ config USB_F_SUBSET
config USB_F_RNDIS
	tristate

config USB_F_QCRNDIS
	tristate

config USB_F_MASS_STORAGE
	tristate

@@ -312,6 +315,14 @@ config USB_CONFIGFS_ECM_SUBSET
	  On hardware that can't implement the full protocol,
	  a simple CDC subset is used, placing fewer demands on USB.

config USB_CONFIGFS_QCRNDIS
	bool "QCRNDIS"
	depends on USB_CONFIGFS
	depends on RNDIS_IPA
	depends on NET
	select USB_U_ETHER
	select USB_F_QCRNDIS

config USB_CONFIGFS_RNDIS
	bool "RNDIS"
	depends on USB_CONFIGFS
+2 −0
Original line number Diff line number Diff line
@@ -64,3 +64,5 @@ usb_f_gsi-y := f_gsi.o rndis.o
obj-$(CONFIG_USB_F_GSI)         += usb_f_gsi.o
usb_f_qdss-y			:= f_qdss.o u_qdss.o
obj-$(CONFIG_USB_F_QDSS)        += usb_f_qdss.o
usb_f_qcrndis-y			:= f_qc_rndis.o rndis.o u_data_ipa.o
obj-$(CONFIG_USB_F_QCRNDIS)	+= usb_f_qcrndis.o
+1580 −0

File added.

Preview size limit exceeded, changes collapsed.

+13 −0
Original line number Diff line number Diff line
@@ -596,6 +596,7 @@ static int rndis_init_response(struct rndis_params *params,
	resp->AFListOffset = cpu_to_le32(0);
	resp->AFListSize = cpu_to_le32(0);

	params->ul_max_xfer_size = le32_to_cpu(resp->MaxTransferSize);
	params->resp_avail(params->v);
	return 0;
}
@@ -1015,6 +1016,18 @@ int rndis_set_param_medium(struct rndis_params *params, u32 medium, u32 speed)
}
EXPORT_SYMBOL_GPL(rndis_set_param_medium);

u32 rndis_get_dl_max_xfer_size(struct rndis_params *params)
{
	pr_debug("%s:\n", __func__);
	return params->dl_max_xfer_size;
}

u32 rndis_get_ul_max_xfer_size(struct rndis_params *params)
{
	pr_debug("%s:\n", __func__);
	return params->ul_max_xfer_size;
}

void rndis_set_max_pkt_xfer(struct rndis_params *params, u8 max_pkt_per_xfer)
{
	pr_debug("%s:\n", __func__);
+3 −0
Original line number Diff line number Diff line
@@ -194,6 +194,7 @@ typedef struct rndis_params
	u32			host_rndis_major_ver;
	u32			host_rndis_minor_ver;
	u32			dl_max_xfer_size;
	u32			ul_max_xfer_size;
	const char		*vendorDescr;
	u8			pkt_alignment_factor;
	void			(*resp_avail)(void *v);
@@ -216,6 +217,8 @@ int rndis_set_param_vendor(struct rndis_params *params, u32 vendorID,
int  rndis_set_param_medium(struct rndis_params *params, u32 medium,
			     u32 speed);
void rndis_set_max_pkt_xfer(struct rndis_params *params, u8 max_pkt_per_xfer);
u32  rndis_get_ul_max_xfer_size(struct rndis_params *params);
u32  rndis_get_dl_max_xfer_size(struct rndis_params *params);
void rndis_add_hdr(struct sk_buff *skb);
int rndis_rm_hdr(struct gether *port, struct sk_buff *skb,
			struct sk_buff_head *list);
Loading