diff options
author | Marshall Dawson <marshalldawson3rd@gmail.com> | 2019-10-16 19:40:07 -0600 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2019-10-18 13:21:07 +0000 |
commit | 9f9656817119fdf481ff7fdde6382f4c06a67aa5 (patch) | |
tree | f50d010bbde8528aca43dcd3f34d4c7cda1b1e76 /src/superio/smsc/sio1036/superio.c | |
parent | 467802b6285b2b9a76f755dffeef61194ee35373 (diff) |
superio/smsc: Restore sio1036
Change d3a1a417 "src/superio: Remove unused superio chips" removed
all unused devices except for ones used on mainboards still under
review. The SMSC 1036 was inadvertenly also removed as well. This
device is used in debug cards that may be connected to AMD CRBs.
This patch restores the smsc1036 directory as-is and then corrects
the following lint messages.
* WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
* ERROR: else should follow close brace '}'
* WARNING: braces {} are not necessary for single statement blocks
Change-Id: I851826e12032f802b9b2ff86d5a0eb99871bee6d
Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36119
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/superio/smsc/sio1036/superio.c')
-rw-r--r-- | src/superio/smsc/sio1036/superio.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/superio/smsc/sio1036/superio.c b/src/superio/smsc/sio1036/superio.c new file mode 100644 index 0000000000..dc8a5515a5 --- /dev/null +++ b/src/superio/smsc/sio1036/superio.c @@ -0,0 +1,52 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2012 Advanced Micro Devices, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* RAM driver for the SMSC SIO1036 Super I/O chip */ + +#include <device/device.h> +#include <device/pnp.h> +#include <superio/conf_mode.h> +#include <stdlib.h> + +#include "sio1036.h" + +static void sio1036_init(struct device *dev) +{ + if (!dev->enabled) + return; +} + +static struct device_operations ops = { + .read_resources = pnp_read_resources, + .set_resources = pnp_set_resources, + .enable_resources = pnp_enable_resources, + .enable = pnp_alt_enable, + .init = sio1036_init, + .ops_pnp_mode = &pnp_conf_mode_55_aa, +}; + +static struct pnp_info pnp_dev_info[] = { + { NULL, SIO1036_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, }, +}; + +static void enable_dev(struct device *dev) +{ + pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info); +} + +struct chip_operations superio_smsc_sio1036_ops = { + CHIP_NAME("SMSC SIO1036 Super I/O") + .enable_dev = enable_dev +}; |