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

Commit 0b0f3a1b authored by Jens Taprogge's avatar Jens Taprogge Committed by Greg Kroah-Hartman
Browse files

Staging: ipack: Obtain supported speeds from ID ROM.

parent eb12d88b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -262,15 +262,21 @@ static void ipack_parse_id1(struct ipack_device *dev)

	dev->id_vendor = id[4];
	dev->id_device = id[5];
	dev->speed_8mhz = 1;
	dev->speed_32mhz = (id[7] == 'H');
}

static void ipack_parse_id2(struct ipack_device *dev)
{
	__be16 *id = (__be16 *) dev->id;
	u16 flags;

	dev->id_vendor = ((be16_to_cpu(id[3]) & 0xff) << 16)
			 + be16_to_cpu(id[4]);
	dev->id_device = be16_to_cpu(id[5]);
	flags = be16_to_cpu(id[10]);
	dev->speed_8mhz = !!(flags & 2);
	dev->speed_32mhz = !!(flags & 4);
}

static int ipack_device_read_id(struct ipack_device *dev)
+2 −0
Original line number Diff line number Diff line
@@ -79,6 +79,8 @@ struct ipack_device {
	u32			 id_vendor;
	u32			 id_device;
	u8			 id_format;
	unsigned int		 speed_8mhz:1;
	unsigned int		 speed_32mhz:1;
};

/**