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

Commit 1b5e56ec authored by Quytelda Kahja's avatar Quytelda Kahja Committed by Greg Kroah-Hartman
Browse files

Staging: gdm724x: Simplify the struct gdm_endian to a variable.



Since the testing for host endianness and in-driver conversion were
removed in 77e8a501, the gdm_endian struct contains only one member,
and can therefore be simplified to a single u8 variable.

Signed-off-by: default avatarQuytelda Kahja <quytelda@tamalin.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8db36563
Loading
Loading
Loading
Loading
+8 −16
Original line number Original line Diff line number Diff line
@@ -14,41 +14,33 @@
#include <linux/kernel.h>
#include <linux/kernel.h>
#include "gdm_endian.h"
#include "gdm_endian.h"


void gdm_set_endian(struct gdm_endian *ed, u8 dev_endian)
__dev16 gdm_cpu_to_dev16(u8 dev_ed, u16 x)
{
{
	if (dev_endian == ENDIANNESS_BIG)
	if (dev_ed == ENDIANNESS_LITTLE)
		ed->dev_ed = ENDIANNESS_BIG;
	else
		ed->dev_ed = ENDIANNESS_LITTLE;
}

__dev16 gdm_cpu_to_dev16(struct gdm_endian *ed, u16 x)
{
	if (ed->dev_ed == ENDIANNESS_LITTLE)
		return (__force __dev16)cpu_to_le16(x);
		return (__force __dev16)cpu_to_le16(x);
	else
	else
		return (__force __dev16)cpu_to_be16(x);
		return (__force __dev16)cpu_to_be16(x);
}
}


u16 gdm_dev16_to_cpu(struct gdm_endian *ed, __dev16 x)
u16 gdm_dev16_to_cpu(u8 dev_ed, __dev16 x)
{
{
	if (ed->dev_ed == ENDIANNESS_LITTLE)
	if (dev_ed == ENDIANNESS_LITTLE)
		return le16_to_cpu((__force __le16)x);
		return le16_to_cpu((__force __le16)x);
	else
	else
		return be16_to_cpu((__force __be16)x);
		return be16_to_cpu((__force __be16)x);
}
}


__dev32 gdm_cpu_to_dev32(struct gdm_endian *ed, u32 x)
__dev32 gdm_cpu_to_dev32(u8 dev_ed, u32 x)
{
{
	if (ed->dev_ed == ENDIANNESS_LITTLE)
	if (dev_ed == ENDIANNESS_LITTLE)
		return (__force __dev32)cpu_to_le32(x);
		return (__force __dev32)cpu_to_le32(x);
	else
	else
		return (__force __dev32)cpu_to_be32(x);
		return (__force __dev32)cpu_to_be32(x);
}
}


u32 gdm_dev32_to_cpu(struct gdm_endian *ed, __dev32 x)
u32 gdm_dev32_to_cpu(u8 dev_ed, __dev32 x)
{
{
	if (ed->dev_ed == ENDIANNESS_LITTLE)
	if (dev_ed == ENDIANNESS_LITTLE)
		return le32_to_cpu((__force __le32)x);
		return le32_to_cpu((__force __le32)x);
	else
	else
		return be32_to_cpu((__force __be32)x);
		return be32_to_cpu((__force __be32)x);
+4 −9
Original line number Original line Diff line number Diff line
@@ -32,14 +32,9 @@ enum {
	ENDIANNESS_MAX
	ENDIANNESS_MAX
};
};


struct gdm_endian {
__dev16 gdm_cpu_to_dev16(u8 dev_ed, u16 x);
	u8 dev_ed;
u16 gdm_dev16_to_cpu(u8 dev_ed, __dev16 x);
};
__dev32 gdm_cpu_to_dev32(u8 dev_ed, u32 x);

u32 gdm_dev32_to_cpu(u8 dev_ed, __dev32 x);
void gdm_set_endian(struct gdm_endian *ed, u8 dev_endian);
__dev16 gdm_cpu_to_dev16(struct gdm_endian *ed, u16 x);
u16 gdm_dev16_to_cpu(struct gdm_endian *ed, __dev16 x);
__dev32 gdm_cpu_to_dev32(struct gdm_endian *ed, u32 x);
u32 gdm_dev32_to_cpu(struct gdm_endian *ed, __dev32 x);


#endif /*__GDM_ENDIAN_H__*/
#endif /*__GDM_ENDIAN_H__*/
+3 −4
Original line number Original line Diff line number Diff line
@@ -685,7 +685,7 @@ static void gdm_lte_multi_sdu_pkt(struct phy_dev *phy_dev, char *buf, int len)
	struct net_device *dev;
	struct net_device *dev;
	struct multi_sdu *multi_sdu = (struct multi_sdu *)buf;
	struct multi_sdu *multi_sdu = (struct multi_sdu *)buf;
	struct sdu *sdu = NULL;
	struct sdu *sdu = NULL;
	struct gdm_endian *endian = phy_dev->get_endian(phy_dev->priv_dev);
	u8 endian = phy_dev->get_endian(phy_dev->priv_dev);
	u8 *data = (u8 *)multi_sdu->data;
	u8 *data = (u8 *)multi_sdu->data;
	u16 i = 0;
	u16 i = 0;
	u16 num_packet;
	u16 num_packet;
@@ -730,10 +730,9 @@ static void gdm_lte_pdn_table(struct net_device *dev, char *buf, int len)
{
{
	struct nic *nic = netdev_priv(dev);
	struct nic *nic = netdev_priv(dev);
	struct hci_pdn_table_ind *pdn_table = (struct hci_pdn_table_ind *)buf;
	struct hci_pdn_table_ind *pdn_table = (struct hci_pdn_table_ind *)buf;
	u8 ed;


	if (pdn_table->activate) {
	if (pdn_table->activate) {
		struct gdm_endian *ed;

		nic->pdn_table.activate = pdn_table->activate;
		nic->pdn_table.activate = pdn_table->activate;


		ed = nic->phy_dev->get_endian(nic->phy_dev->priv_dev);
		ed = nic->phy_dev->get_endian(nic->phy_dev->priv_dev);
@@ -752,9 +751,9 @@ static int gdm_lte_receive_pkt(struct phy_dev *phy_dev, char *buf, int len)
{
{
	struct hci_packet *hci = (struct hci_packet *)buf;
	struct hci_packet *hci = (struct hci_packet *)buf;
	struct hci_pdn_table_ind *pdn_table = (struct hci_pdn_table_ind *)buf;
	struct hci_pdn_table_ind *pdn_table = (struct hci_pdn_table_ind *)buf;
	struct gdm_endian *endian = phy_dev->get_endian(phy_dev->priv_dev);
	struct sdu *sdu;
	struct sdu *sdu;
	struct net_device *dev;
	struct net_device *dev;
	u8 endian = phy_dev->get_endian(phy_dev->priv_dev);
	int ret = 0;
	int ret = 0;
	u16 cmd_evt;
	u16 cmd_evt;
	u32 nic_type;
	u32 nic_type;
+1 −1
Original line number Original line Diff line number Diff line
@@ -56,7 +56,7 @@ struct phy_dev {
			    int (*cb)(void *cb_data, void *data, int len,
			    int (*cb)(void *cb_data, void *data, int len,
				      int context),
				      int context),
			    void *cb_data, int context);
			    void *cb_data, int context);
	struct gdm_endian * (*get_endian)(void *priv_dev);
	u8 (*get_endian)(void *priv_dev);
};
};


struct nic {
struct nic {
+15 −15
Original line number Original line Diff line number Diff line
@@ -72,8 +72,8 @@ static int request_mac_address(struct lte_udev *udev)
	int actual;
	int actual;
	int ret = -1;
	int ret = -1;


	hci->cmd_evt = gdm_cpu_to_dev16(&udev->gdm_ed, LTE_GET_INFORMATION);
	hci->cmd_evt = gdm_cpu_to_dev16(udev->gdm_ed, LTE_GET_INFORMATION);
	hci->len = gdm_cpu_to_dev16(&udev->gdm_ed, 1);
	hci->len = gdm_cpu_to_dev16(udev->gdm_ed, 1);
	hci->data[0] = MAC_ADDRESS;
	hci->data[0] = MAC_ADDRESS;


	ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), buf, 5,
	ret = usb_bulk_msg(usbdev, usb_sndbulkpipe(usbdev, 2), buf, 5,
@@ -410,7 +410,7 @@ static void do_rx(struct work_struct *work)
		phy_dev = r->cb_data;
		phy_dev = r->cb_data;
		udev = phy_dev->priv_dev;
		udev = phy_dev->priv_dev;
		hci = (struct hci_packet *)r->buf;
		hci = (struct hci_packet *)r->buf;
		cmd_evt = gdm_dev16_to_cpu(&udev->gdm_ed, hci->cmd_evt);
		cmd_evt = gdm_dev16_to_cpu(udev->gdm_ed, hci->cmd_evt);


		switch (cmd_evt) {
		switch (cmd_evt) {
		case LTE_GET_INFORMATION_RESULT:
		case LTE_GET_INFORMATION_RESULT:
@@ -604,7 +604,7 @@ static u32 packet_aggregation(struct lte_udev *udev, u8 *send_buf)
	u16 num_packet = 0;
	u16 num_packet = 0;
	unsigned long flags;
	unsigned long flags;


	multi_sdu->cmd_evt = gdm_cpu_to_dev16(&udev->gdm_ed, LTE_TX_MULTI_SDU);
	multi_sdu->cmd_evt = gdm_cpu_to_dev16(udev->gdm_ed, LTE_TX_MULTI_SDU);


	while (num_packet < MAX_PACKET_IN_MULTI_SDU) {
	while (num_packet < MAX_PACKET_IN_MULTI_SDU) {
		spin_lock_irqsave(&tx->lock, flags);
		spin_lock_irqsave(&tx->lock, flags);
@@ -635,8 +635,8 @@ static u32 packet_aggregation(struct lte_udev *udev, u8 *send_buf)
		spin_unlock_irqrestore(&tx->lock, flags);
		spin_unlock_irqrestore(&tx->lock, flags);
	}
	}


	multi_sdu->len = gdm_cpu_to_dev16(&udev->gdm_ed, send_len);
	multi_sdu->len = gdm_cpu_to_dev16(udev->gdm_ed, send_len);
	multi_sdu->num_packet = gdm_cpu_to_dev16(&udev->gdm_ed, num_packet);
	multi_sdu->num_packet = gdm_cpu_to_dev16(udev->gdm_ed, num_packet);


	return send_len + offsetof(struct multi_sdu, data);
	return send_len + offsetof(struct multi_sdu, data);
}
}
@@ -735,7 +735,7 @@ static int gdm_usb_sdu_send(void *priv_dev, void *data, int len,
	}
	}


	sdu = (struct sdu *)t_sdu->buf;
	sdu = (struct sdu *)t_sdu->buf;
	sdu->cmd_evt = gdm_cpu_to_dev16(&udev->gdm_ed, LTE_TX_SDU);
	sdu->cmd_evt = gdm_cpu_to_dev16(udev->gdm_ed, LTE_TX_SDU);
	if (nic_type == NIC_TYPE_ARP) {
	if (nic_type == NIC_TYPE_ARP) {
		send_len = len + SDU_PARAM_LEN;
		send_len = len + SDU_PARAM_LEN;
		memcpy(sdu->data, data, len);
		memcpy(sdu->data, data, len);
@@ -745,10 +745,10 @@ static int gdm_usb_sdu_send(void *priv_dev, void *data, int len,
		memcpy(sdu->data, data + ETH_HLEN, len - ETH_HLEN);
		memcpy(sdu->data, data + ETH_HLEN, len - ETH_HLEN);
	}
	}


	sdu->len = gdm_cpu_to_dev16(&udev->gdm_ed, send_len);
	sdu->len = gdm_cpu_to_dev16(udev->gdm_ed, send_len);
	sdu->dft_eps_ID = gdm_cpu_to_dev32(&udev->gdm_ed, dft_eps_ID);
	sdu->dft_eps_ID = gdm_cpu_to_dev32(udev->gdm_ed, dft_eps_ID);
	sdu->bearer_ID = gdm_cpu_to_dev32(&udev->gdm_ed, eps_ID);
	sdu->bearer_ID = gdm_cpu_to_dev32(udev->gdm_ed, eps_ID);
	sdu->nic_type = gdm_cpu_to_dev32(&udev->gdm_ed, nic_type);
	sdu->nic_type = gdm_cpu_to_dev32(udev->gdm_ed, nic_type);


	t_sdu->len = send_len + HCI_HEADER_SIZE;
	t_sdu->len = send_len + HCI_HEADER_SIZE;
	t_sdu->callback = cb;
	t_sdu->callback = cb;
@@ -799,11 +799,11 @@ static int gdm_usb_hci_send(void *priv_dev, void *data, int len,
	return 0;
	return 0;
}
}


static struct gdm_endian *gdm_usb_get_endian(void *priv_dev)
static u8 gdm_usb_get_endian(void *priv_dev)
{
{
	struct lte_udev *udev = priv_dev;
	struct lte_udev *udev = priv_dev;


	return &udev->gdm_ed;
	return udev->gdm_ed;
}
}


static int gdm_usb_probe(struct usb_interface *intf,
static int gdm_usb_probe(struct usb_interface *intf,
@@ -859,9 +859,9 @@ static int gdm_usb_probe(struct usb_interface *intf,
	 * defaults to little endian
	 * defaults to little endian
	 */
	 */
	if (idProduct == PID_GDM7243)
	if (idProduct == PID_GDM7243)
		gdm_set_endian(&udev->gdm_ed, ENDIANNESS_BIG);
		udev->gdm_ed = ENDIANNESS_BIG;
	else
	else
		gdm_set_endian(&udev->gdm_ed, ENDIANNESS_LITTLE);
		udev->gdm_ed = ENDIANNESS_LITTLE;


	ret = request_mac_address(udev);
	ret = request_mac_address(udev);
	if (ret < 0) {
	if (ret < 0) {
Loading