Author: stepan Date: Tue Aug 17 17:05:05 2010 New Revision: 5717 URL: https://tracker.coreboot.org/trac/coreboot/changeset/5717
Log: Support for Fintek F71863FG. This might need some work on the copyright notices. Getting it into the tree so people can get to it.
Signed-off-by: Wang Qing Pei wangqingpei@gmail.com Acked-by: Stefan Reinauer stepan@coresystems.de
Added: trunk/src/superio/fintek/f71863fg/ - copied from r5716, trunk/src/superio/fintek/f71805f/ trunk/src/superio/fintek/f71863fg/f71863fg.h - copied, changed from r5716, trunk/src/superio/fintek/f71805f/f71805f.h trunk/src/superio/fintek/f71863fg/f71863fg_early_serial.c - copied, changed from r5716, trunk/src/superio/fintek/f71805f/f71805f_early_serial.c Deleted: trunk/src/superio/fintek/f71863fg/f71805f.h trunk/src/superio/fintek/f71863fg/f71805f_early_serial.c Modified: trunk/src/superio/fintek/Kconfig trunk/src/superio/fintek/Makefile.inc trunk/src/superio/fintek/f71863fg/Makefile.inc trunk/src/superio/fintek/f71863fg/chip.h trunk/src/superio/fintek/f71863fg/superio.c
Modified: trunk/src/superio/fintek/Kconfig ============================================================================== --- trunk/src/superio/fintek/Kconfig Tue Aug 17 13:32:21 2010 (r5716) +++ trunk/src/superio/fintek/Kconfig Tue Aug 17 17:05:05 2010 (r5717) @@ -1,2 +1,4 @@ config SUPERIO_FINTEK_F71805F bool +config SUPERIO_FINTEK_F71863FG + bool
Modified: trunk/src/superio/fintek/Makefile.inc ============================================================================== --- trunk/src/superio/fintek/Makefile.inc Tue Aug 17 13:32:21 2010 (r5716) +++ trunk/src/superio/fintek/Makefile.inc Tue Aug 17 17:05:05 2010 (r5717) @@ -1 +1,2 @@ subdirs-y += f71805f +subdirs-y += f71863fg
Modified: trunk/src/superio/fintek/f71863fg/Makefile.inc ============================================================================== --- trunk/src/superio/fintek/f71805f/Makefile.inc Tue Aug 17 13:32:21 2010 (r5716) +++ trunk/src/superio/fintek/f71863fg/Makefile.inc Tue Aug 17 17:05:05 2010 (r5717) @@ -1,7 +1,7 @@ ## ## This file is part of the coreboot project. ## -## Copyright (C) 2008 Corey Osgood corey.osgood@gmail.com +## Copyright (C) 2010 Wang Qing Pei wangqingpei@gmail.com ## ## 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 @@ -18,5 +18,5 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
-#config chip.h -obj-$(CONFIG_SUPERIO_FINTEK_F71805F) += superio.o +obj-$(CONFIG_SUPERIO_FINTEK_F71863FG) += superio.o +
Modified: trunk/src/superio/fintek/f71863fg/chip.h ============================================================================== --- trunk/src/superio/fintek/f71805f/chip.h Tue Aug 17 13:32:21 2010 (r5716) +++ trunk/src/superio/fintek/f71863fg/chip.h Tue Aug 17 17:05:05 2010 (r5717) @@ -1,7 +1,7 @@ /* * This file is part of the coreboot project. * - * Copyright (C) 2007 Corey Osgood corey@slightlyhackish.com + * Copyright (C) 2010 Wang Qing Pei wangqingpei@gmail.com * * 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 @@ -23,8 +23,8 @@
/* This chip doesn't have keyboard and mouse support. */
-extern struct chip_operations superio_fintek_f71805f_ops; +extern struct chip_operations superio_fintek_f71863fg_ops;
-struct superio_fintek_f71805f_config { +struct superio_fintek_f71863fg_config { struct uart8250 com1, com2; };
Copied and modified: trunk/src/superio/fintek/f71863fg/f71863fg.h (from r5716, trunk/src/superio/fintek/f71805f/f71805f.h) ============================================================================== --- trunk/src/superio/fintek/f71805f/f71805f.h Tue Aug 17 13:32:21 2010 (r5716, copy source) +++ trunk/src/superio/fintek/f71863fg/f71863fg.h Tue Aug 17 17:05:05 2010 (r5717) @@ -1,7 +1,7 @@ /* * This file is part of the coreboot project. * - * Copyright (C) 2007 Corey Osgood corey@slightlyhackish.com + * Copyright (C) 2010 Wang Qing Pei wangqingpei@gmail.com * * 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 @@ -18,19 +18,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-/* - * Datasheet: - * - Name: F71805F/FG Super H/W Monitor + LPC IO - * - URL: http://www.fintek.com.tw/eng/products.asp?BID=1&SID=17 - * - PDF: http://www.fintek.com.tw/files/productfiles/F71805F_V025.pdf - * - Revision: V0.25P - */ - /* Logical Device Numbers (LDN). */ -#define F71805F_FDC 0x00 /* Floppy */ -#define F71805F_SP1 0x01 /* UART1 */ -#define F71805F_SP2 0x02 /* UART2 */ -#define F71805F_PP 0x03 /* Parallel Port */ -#define F71805F_HWM 0x04 /* Hardware Monitor */ -#define F71805F_GPIO 0x06 /* General Purpose I/O (GPIO) */ -#define F71805F_PME 0x0a /* Power Management Events (PME) */ +#define F71863FG_FDC 0x00 /* Floppy */ +#define F71863FG_SP1 0x01 /* UART1 */ +#define F71863FG_SP2 0x02 /* UART2 */ +#define F71863FG_PP 0x03 /* Parallel Port */ +#define F71863FG_HWM 0x04 /* Hardware Monitor */ +#define F71863FG_KBC 0x05 /* KBC devices */ +#define F71863FG_GPIO 0x06 /* General Purpose I/O (GPIO) */ +#define F71863FG_PME 0x0a /* Power Management Events (PME) */
Copied and modified: trunk/src/superio/fintek/f71863fg/f71863fg_early_serial.c (from r5716, trunk/src/superio/fintek/f71805f/f71805f_early_serial.c) ============================================================================== --- trunk/src/superio/fintek/f71805f/f71805f_early_serial.c Tue Aug 17 13:32:21 2010 (r5716, copy source) +++ trunk/src/superio/fintek/f71863fg/f71863fg_early_serial.c Tue Aug 17 17:05:05 2010 (r5717) @@ -1,7 +1,7 @@ /* * This file is part of the coreboot project. * - * Copyright (C) 2007 Corey Osgood corey@slightlyhackish.com + * Copyright (C) 2010 Wang Qing Peiwangqingpei@gmail.com * * 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 @@ -18,10 +18,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-/* Pre-RAM driver for the Fintek F71805F/FG Super I/O chip. */ +/* Pre-RAM driver for the Fintek F71863FG Super I/O chip. */
#include <arch/romcc_io.h> -#include "f71805f.h" +#include "f71863fg.h"
static inline void pnp_enter_conf_state(device_t dev) { @@ -35,7 +35,7 @@ outb(0xaa, port); }
-static void f71805f_enable_serial(device_t dev, unsigned int iobase) +static void f71863fg_enable_serial(device_t dev, unsigned int iobase) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev);
Modified: trunk/src/superio/fintek/f71863fg/superio.c ============================================================================== --- trunk/src/superio/fintek/f71805f/superio.c Tue Aug 17 13:32:21 2010 (r5716) +++ trunk/src/superio/fintek/f71863fg/superio.c Tue Aug 17 17:05:05 2010 (r5717) @@ -1,7 +1,7 @@ /* * This file is part of the coreboot project. * - * Copyright (C) 2008 Corey Osgood corey.osgood@gmail.com + * Copyright (C) 2010 Wang Qing Peiwangqingpei@gmail.com * * 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 @@ -18,7 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-/* Datasheet: http://www.fintek.com.tw/files/productfiles/F71805F_V025.pdf */
#include <arch/io.h> #include <device/device.h> @@ -27,7 +26,7 @@ #include <stdlib.h> #include <uart8250.h> #include "chip.h" -#include "f71805f.h" +#include "f71863fg.h"
static void pnp_enter_conf_state(device_t dev) { @@ -39,9 +38,9 @@ outb(0xaa, dev->path.pnp.port); }
-static void f71805f_init(device_t dev) +static void f71863fg_init(device_t dev) { - struct superio_fintek_f71805f_config *conf = dev->chip_info; + struct superio_fintek_f71863fg_config *conf = dev->chip_info; struct resource *res0;
if (!dev->enabled) @@ -49,32 +48,32 @@
switch(dev->path.pnp.device) { /* TODO: Might potentially need code for HWM or FDC etc. */ - case F71805F_SP1: + case F71863FG_SP1: res0 = find_resource(dev, PNP_IDX_IO0); init_uart8250(res0->base, &conf->com1); break; - case F71805F_SP2: + case F71863FG_SP2: res0 = find_resource(dev, PNP_IDX_IO0); init_uart8250(res0->base, &conf->com2); break; } }
-static void f71805f_pnp_set_resources(device_t dev) +static void f71863fg_pnp_set_resources(device_t dev) { pnp_enter_conf_state(dev); pnp_set_resources(dev); pnp_exit_conf_state(dev); }
-static void f71805f_pnp_enable_resources(device_t dev) +static void f71863fg_pnp_enable_resources(device_t dev) { pnp_enter_conf_state(dev); pnp_enable_resources(dev); pnp_exit_conf_state(dev); }
-static void f71805f_pnp_enable(device_t dev) +static void f71863fg_pnp_enable(device_t dev) { pnp_enter_conf_state(dev); pnp_set_logical_device(dev); @@ -84,21 +83,21 @@
static struct device_operations ops = { .read_resources = pnp_read_resources, - .set_resources = f71805f_pnp_set_resources, - .enable_resources = f71805f_pnp_enable_resources, - .enable = f71805f_pnp_enable, - .init = f71805f_init, + .set_resources = f71863fg_pnp_set_resources, + .enable_resources = f71863fg_pnp_enable_resources, + .enable = f71863fg_pnp_enable, + .init = f71863fg_init, };
static struct pnp_info pnp_dev_info[] = { /* TODO: Some of the 0x7f8 etc. values may not be correct. */ - { &ops, F71805F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, { 0x07f8, 0}, }, - { &ops, F71805F_SP1, PNP_IO0 | PNP_IRQ0, { 0x7f8, 0 }, }, - { &ops, F71805F_SP2, PNP_IO0 | PNP_IRQ0, { 0x7f8, 0 }, }, - { &ops, F71805F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, { 0x07f8, 0}, }, - { &ops, F71805F_HWM, PNP_IO0 | PNP_IRQ0, { 0xff8, 0}, }, - { &ops, F71805F_GPIO, PNP_IRQ0, }, - { &ops, F71805F_PME, }, + { &ops, F71863FG_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, { 0x07f8, 0}, }, + { &ops, F71863FG_SP1, PNP_IO0 | PNP_IRQ0, { 0x7f8, 0 }, }, + { &ops, F71863FG_SP2, PNP_IO0 | PNP_IRQ0, { 0x7f8, 0 }, }, + { &ops, F71863FG_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, { 0x07f8, 0}, }, + { &ops, F71863FG_HWM, PNP_IO0 | PNP_IRQ0, { 0xff8, 0}, }, + { &ops, F71863FG_GPIO, PNP_IRQ0, }, + { &ops, F71863FG_PME, }, };
static void enable_dev(device_t dev) @@ -106,7 +105,7 @@ pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info); }
-struct chip_operations superio_fintek_f71805f_ops = { - CHIP_NAME("Fintek F71805F Super I/O") +struct chip_operations superio_fintek_f71863fg_ops = { + CHIP_NAME("Fintek F71863FG Super I/O") .enable_dev = enable_dev };
repository service wrote:
Log: Support for Fintek F71863FG.
It looks to me like this code is identical to the previous fintek code which it was copied from. Why can the old code not be re-used, instead of creating a copy?
And yes, Stefan is right, when copying an existing file without making large changes then the copyright notice from the previous author should remain. If new code has been added, then a new copyright notice should also be added, but unless most of the file has been replaced the original notices should also be kept.
//Peter
On Wed, Aug 18, 2010 at 11:25 AM, Peter Stuge peter@stuge.se wrote:
repository service wrote:
Log: Support for Fintek F71863FG.
It looks to me like this code is identical to the previous fintek code which it was copied from. Why can the old code not be re-used, instead of creating a copy?
And yes, Stefan is right, when copying an existing file without making large changes then the copyright notice from the previous author should remain. If new code has been added, then a new copyright notice should also be added, but unless most of the file has been replaced the original notices should also be kept.
Most of the code in these files is trivial and identical to every other super IO, with the exception of changing the model name/number. If we kept the copyright notices from every previous "author" of those files, it would probably be a dozen names, none of whom actually wrote the code in the first place.
-Corey
//Peter
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On Wed, Aug 18, 2010 at 03:07:04PM -0400, Corey Osgood wrote:
Most of the code in these files is trivial and identical to every other super IO, with the exception of changing the model name/number. If we kept the copyright notices from every previous "author" of those files, it would probably be a dozen names, none of whom actually wrote the code in the first place.
-Corey
IANAL, but as far as I know triviality, obviousness or inventivity has nothing to do with copyright. The only requirement is originality (and maybe it depends on jurisdiction). I'm not sure what's the threshold for originality. In any case I believe if it isn't original it isn't copyrightable, so it makes no sense to add the last author name. In order to be legally able to remove a previous author name you should be sure that his or her part in the code is not copyrightable, and that is hard to argue. So I think it is much easier, safe and sound to keep a dozen (or a dozen dozens) list of authors than to remove a copyright notice, unless legal advice says otherwise, or some of the previous authors removes herself or asks to be removed.
That being said, it wouldn't be the first time that I fail in doing this, but never on purpose (typically when copying parts of a file to another, not when copying the whole file and then changing it).
Xavi.
On Wed, Aug 18, 2010 at 4:24 PM, xdrudis xdrudis@tinet.cat wrote:
On Wed, Aug 18, 2010 at 03:07:04PM -0400, Corey Osgood wrote:
Most of the code in these files is trivial and identical to every other super IO, with the exception of changing the model name/number. If we kept the copyright notices from every previous "author" of those files, it would probably be a dozen names, none of whom actually wrote the code in the first place.
-Corey
IANAL, but as far as I know triviality, obviousness or inventivity has nothing to do with copyright. The only requirement is originality (and maybe it depends on jurisdiction). I'm not sure what's the threshold for originality. In any case I believe if it isn't original it isn't copyrightable, so it makes no sense to add the last author name. In order to be legally able to remove a previous author name you should be sure that his or her part in the code is not copyrightable, and that is hard to argue. So I think it is much easier, safe and sound to keep a dozen (or a dozen dozens) list of authors than to remove a copyright notice, unless legal advice says otherwise, or some of the previous authors removes herself or asks to be removed.
That being said, it wouldn't be the first time that I fail in doing this, but never on purpose (typically when copying parts of a file to another, not when copying the whole file and then changing it).
Here's the problem: some time ago, someone wrote a superio chip.h that contained this:
#include <device/device.h> #include <uart8250.h>
extern struct chip_operations superio_<manufacturer>_<partnum>_ops;
struct superio_<manufacturer>_<partnum>_config { struct uart8250 com1, com2; };
Most likely the original file didn't even contain a copyright header or name, and nearly all super IOs now contain this file. When I did the f71805f port, I copied this file from some other super IO. Now, if someone else uses this "template" for another super IO, they're most likely going to change the manufacturer and/or part number, in effect removing everything that I did to that file. So why should they leave me as a copyright holder on the file?
-Corey
On Wed, Aug 18, 2010 at 2:53 PM, Corey Osgood corey.osgood@gmail.com wrote:
Here's the problem: some time ago, someone wrote a superio chip.h that contained this:
#include <device/device.h> #include <uart8250.h>
extern struct chip_operations superio_<manufacturer>_<partnum>_ops;
struct superio_<manufacturer>_<partnum>_config { struct uart8250 com1, com2; };
Most likely the original file didn't even contain a copyright header or name, and nearly all super IOs now contain this file. When I did the f71805f port, I copied this file from some other super IO. Now, if someone else uses this "template" for another super IO, they're most likely going to change the manufacturer and/or part number, in effect removing everything that I did to that file. So why should they leave me as a copyright holder on the file?
You're right, they don't need to. This is just generic code and they can just put their own name on it.
BUT, they really need to have some kind of copyright.
That's my take anyway.
ron
On Wed, Aug 18, 2010 at 05:53:19PM -0400, Corey Osgood wrote:
Here's the problem: some time ago, someone wrote a superio chip.h that contained this:
[...]
Sorry, I didn't understand the problem. I thought it was triviality and it was removal of the whole contribution of a previous author.
removing everything that I did to that file. So why should they leave me as a copyright holder on the file?
Because it is easier than finding out who is the real author of the part of the file that survives. It makes nothing worse than it was and it does not bring more risks than removing your name. If they remove your copyright statement they have to make sure that you really didn't change more than what they have replaced. They may not be able to verify that unless svn kept track of which was the original file (I think it depends on whether you did svn cp or cp ?). If they leave your name and there's nothing you wrote on the file what's the worst than can happen ? That you sue them for attributing to you something you didn't write ? I don't think you could, specially if they add their own name, they are not saying which author wrote what. They took a collective work, made a derivative work and added their name to the previous authors. If you don't want that then simply add a comment speciying which part are yours and which aren't (but I hope you don't). If they remove your name and somehow you had changed something in the file that's still there they could have more problems, I think.
If somebody knew what the first file was, at least pepole could always use that as a template and keep the copyright notices shorter (they and the original author). But if it's too late for that I don't think that following the routine of keeping the original copyrights has so severe a consequence that it is worth making exceptions.
But I think I'm arguing too much for something that it is not so important to me and that I'm no expert in. I feel like I'm splitting hair. I should be splitting patches...
sorry about the copyright things. it's an old patch about this superio which used by the jetway mainboard, and i just used my own perl script to deal with all of the format things and copyright things. I am not much understand all of these copy right things. I am a new guy about these. the patch which is attached restore the copyright to its original status.
Signed-off-by: Wang Qing Pei wangqingpei@gmail.com
On Thu, Aug 19, 2010 at 6:44 AM, xdrudis xdrudis@tinet.cat wrote:
On Wed, Aug 18, 2010 at 05:53:19PM -0400, Corey Osgood wrote:
Here's the problem: some time ago, someone wrote a superio chip.h that contained this:
[...]
Sorry, I didn't understand the problem. I thought it was triviality and it was removal of the whole contribution of a previous author.
removing everything that I did to that file. So why should they leave me as a copyright holder on the file?
Because it is easier than finding out who is the real author of the part of the file that survives. It makes nothing worse than it was and it does not bring more risks than removing your name. If they remove your copyright statement they have to make sure that you really didn't change more than what they have replaced. They may not be able to verify that unless svn kept track of which was the original file (I think it depends on whether you did svn cp or cp ?). If they leave your name and there's nothing you wrote on the file what's the worst than can happen ? That you sue them for attributing to you something you didn't write ? I don't think you could, specially if they add their own name, they are not saying which author wrote what. They took a collective work, made a derivative work and added their name to the previous authors. If you don't want that then simply add a comment speciying which part are yours and which aren't (but I hope you don't). If they remove your name and somehow you had changed something in the file that's still there they could have more problems, I think.
If somebody knew what the first file was, at least pepole could always use that as a template and keep the copyright notices shorter (they and the original author). But if it's too late for that I don't think that following the routine of keeping the original copyrights has so severe a consequence that it is worth making exceptions.
But I think I'm arguing too much for something that it is not so important to me and that I'm no expert in. I feel like I'm splitting hair. I should be splitting patches...
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
On 8/19/10 2:55 AM, Qing Pei Wang wrote:
Signed-off-by: Wang Qing Pei <wangqingpei@gmail.com mailto:wangqingpei@gmail.com>
Thanks. r5737