Skip to content

Commit

Permalink
soc: versatile: dynamically detect RealView HBI numbers
Browse files Browse the repository at this point in the history
We cannot pile all numbers on this list, just print the three hex
digits representing the board ID so we can handle all the new
RealView boards.

Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information
Linus Walleij committed Apr 4, 2016
1 parent 9735a22 commit fccc2b3
Showing 1 changed file with 4 additions and 15 deletions.
19 changes: 4 additions & 15 deletions drivers/soc/versatile/soc-realview.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,6 @@ static const struct of_device_id realview_soc_of_match[] = {

static u32 realview_coreid;

static const char *realview_board_str(u32 id)
{
switch ((id >> 16) & 0xfff) {
case 0x0147:
return "HBI-0147";
case 0x0159:
return "HBI-0159";
default:
return "Unknown";
}
}

static const char *realview_arch_str(u32 id)
{
switch ((id >> 8) & 0xf) {
Expand All @@ -69,7 +57,7 @@ static ssize_t realview_get_board(struct device *dev,
struct device_attribute *attr,
char *buf)
{
return sprintf(buf, "%s\n", realview_board_str(realview_coreid));
return sprintf(buf, "HBI-%03x\n", ((realview_coreid >> 16) & 0xfff));
}

static struct device_attribute realview_board_attr =
Expand Down Expand Up @@ -133,8 +121,9 @@ static int realview_soc_probe(struct platform_device *pdev)
device_create_file(soc_device_to_device(soc_dev), &realview_arch_attr);
device_create_file(soc_device_to_device(soc_dev), &realview_build_attr);

dev_info(&pdev->dev, "RealView Syscon Core ID: 0x%08x\n",
realview_coreid);
dev_info(&pdev->dev, "RealView Syscon Core ID: 0x%08x, HBI-%03x\n",
realview_coreid,
((realview_coreid >> 16) & 0xfff));
/* FIXME: add attributes for SoC to sysfs */
return 0;
}
Expand Down

0 comments on commit fccc2b3

Please sign in to comment.