Skip to content

Commit

Permalink
Staging: ipack: Obtain supported speeds from ID ROM.
Browse files Browse the repository at this point in the history
Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org>
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Jens Taprogge authored and Greg Kroah-Hartman committed Sep 11, 2012
1 parent eb12d88 commit 0b0f3a1
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
6 changes: 6 additions & 0 deletions drivers/staging/ipack/ipack.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions drivers/staging/ipack/ipack.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};

/**
Expand Down

0 comments on commit 0b0f3a1

Please sign in to comment.