From 26196619fbd3f8e3c66cb0ca5d80b8313ca7f90e6562d612d423ddf5b731dbfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Tue, 20 Dec 2011 20:06:51 +0000 Subject: [PATCH 1/5] Accepting request 97211 from home:duwe:branches:Base:System - Build and ship programs to access I2C memory. OBS-URL: https://build.opensuse.org/request/show/97211 OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=18 --- i2c-tools.changes | 5 +++++ i2c-tools.spec | 2 ++ 2 files changed, 7 insertions(+) diff --git a/i2c-tools.changes b/i2c-tools.changes index 2e76785..7b20c27 100644 --- a/i2c-tools.changes +++ b/i2c-tools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 20 12:58:18 UTC 2011 - duwe@suse.com + +- Build and ship programs to access I2C memory. + ------------------------------------------------------------------- Mon Dec 5 10:42:30 CET 2011 - jdelvare@suse.de diff --git a/i2c-tools.spec b/i2c-tools.spec index a3b9bfc..5fba7ed 100644 --- a/i2c-tools.spec +++ b/i2c-tools.spec @@ -52,9 +52,11 @@ Authors: %build make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" +make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" -C eepromer %install make install DESTDIR=$RPM_BUILD_ROOT prefix=/usr +cp -p eepromer/eepro{g,m,mer} $RPM_BUILD_ROOT/usr/sbin/. # cleanup rm -f $RPM_BUILD_ROOT/usr/bin/decode-edid From 35e2edc44332277a7611b33dd6b0377c81d7d215f494576f0bf8c2929fb25e4e Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Mon, 13 Feb 2012 14:54:19 +0000 Subject: [PATCH 2/5] Accepting request 104358 from devel:openSUSE:Factory:patch-license patch license to follow spdx.org standard OBS-URL: https://build.opensuse.org/request/show/104358 OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=19 --- i2c-tools.changes | 5 +++++ i2c-tools.spec | 9 +++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/i2c-tools.changes b/i2c-tools.changes index 7b20c27..909af01 100644 --- a/i2c-tools.changes +++ b/i2c-tools.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Feb 13 10:47:43 UTC 2012 - coolo@suse.com + +- patch license to follow spdx.org standard + ------------------------------------------------------------------- Tue Dec 20 12:58:18 UTC 2011 - duwe@suse.com diff --git a/i2c-tools.spec b/i2c-tools.spec index 5fba7ed..130b0bd 100644 --- a/i2c-tools.spec +++ b/i2c-tools.spec @@ -1,7 +1,7 @@ # # spec file for package i2c-tools # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -15,19 +15,16 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild - Name: i2c-tools Url: http://www.lm-sensors.org/wiki/I2CTools Version: 3.1.0 -Release: 1 +Release: 0 Summary: A heterogeneous set of I2C tools for Linux -License: GPLv2+ +License: GPL-2.0+ Group: Development/Tools/Other Requires: udev Recommends: modules -AutoReqProv: on Source0: i2c-tools-%{version}.tar.bz2 Source1: i2c-tools-%{version}.tar.bz2.sig BuildRoot: %{_tmppath}/%{name}-%{version}-build From b5637c1869e8dd668579c8f111b76f2d74ff138f791c313109d71836d883774c Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Wed, 13 Feb 2013 13:03:33 +0000 Subject: [PATCH 3/5] - Don't build and ship programs to access I2C memory. We don't want to ship 3 tools doing the same thing, and none of these is good enough. There is a reason why upstream doesn't include them by default. Oh, and they don't even build. OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=20 --- i2c-tools.changes | 8 ++++++++ i2c-tools.spec | 4 +--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/i2c-tools.changes b/i2c-tools.changes index 909af01..3b2759a 100644 --- a/i2c-tools.changes +++ b/i2c-tools.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 13 14:00:15 CET 2013 - jdelvare@suse.de + +- Don't build and ship programs to access I2C memory. We don't want + to ship 3 tools doing the same thing, and none of these is good + enough. There is a reason why upstream doesn't include them by + default. Oh, and they don't even build. + ------------------------------------------------------------------- Mon Feb 13 10:47:43 UTC 2012 - coolo@suse.com diff --git a/i2c-tools.spec b/i2c-tools.spec index 130b0bd..a9313d5 100644 --- a/i2c-tools.spec +++ b/i2c-tools.spec @@ -1,7 +1,7 @@ # # spec file for package i2c-tools # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -49,11 +49,9 @@ Authors: %build make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" -make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" -C eepromer %install make install DESTDIR=$RPM_BUILD_ROOT prefix=/usr -cp -p eepromer/eepro{g,m,mer} $RPM_BUILD_ROOT/usr/sbin/. # cleanup rm -f $RPM_BUILD_ROOT/usr/bin/decode-edid From eae997810479bb48f5caaf18e814fc558024eeb0b45c03f4e881468623b038fb Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Wed, 13 Feb 2013 13:55:45 +0000 Subject: [PATCH 4/5] Backport fixes from upstream 3.1 branch: - i2c-tools-r6063-dont-choke-when-no-eeprom.diff: Don't choke when no EEPROM is found. - i2c-tools-r6106-vendors-JEP106AG.diff, - i2c-tools-r6107-vendors-JEP106AJ.diff: Update vendor list based on Jedec documents JEP106AG and JEP106AJ. - i2c-tools-r6108-remove-duplicate-ns.diff: Remove duplicate "ns" in SDR timings. - i2c-tools-r6109-fix-decoding-revision.diff: Fix decoding of SDR SPD revision. - i2c-tools-r6110-i2cdetect-clarify-probing.diff: Clarify the SMBus commands used for probing by default. - i2c-tools-r6121-typo-sprint.diff: Prevent hang on reserved DDR3 module type, caused by a typo in function name. - i2c-tools-r6122-more-DDR3-module-types.diff: Decode more DDR3 module types. OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=21 --- ...tools-r6063-dont-choke-when-no-eeprom.diff | 40 +++++ i2c-tools-r6106-vendors-JEP106AG.diff | 147 ++++++++++++++++++ i2c-tools-r6107-vendors-JEP106AJ.diff | 28 ++++ i2c-tools-r6108-remove-duplicate-ns.diff | 47 ++++++ i2c-tools-r6109-fix-decoding-revision.diff | 17 ++ ...tools-r6110-i2cdetect-clarify-probing.diff | 36 +++++ i2c-tools-r6121-typo-sprint.diff | 15 ++ i2c-tools-r6122-more-DDR3-module-types.diff | 18 +++ i2c-tools.changes | 20 +++ i2c-tools.spec | 16 ++ 10 files changed, 384 insertions(+) create mode 100644 i2c-tools-r6063-dont-choke-when-no-eeprom.diff create mode 100644 i2c-tools-r6106-vendors-JEP106AG.diff create mode 100644 i2c-tools-r6107-vendors-JEP106AJ.diff create mode 100644 i2c-tools-r6108-remove-duplicate-ns.diff create mode 100644 i2c-tools-r6109-fix-decoding-revision.diff create mode 100644 i2c-tools-r6110-i2cdetect-clarify-probing.diff create mode 100644 i2c-tools-r6121-typo-sprint.diff create mode 100644 i2c-tools-r6122-more-DDR3-module-types.diff diff --git a/i2c-tools-r6063-dont-choke-when-no-eeprom.diff b/i2c-tools-r6063-dont-choke-when-no-eeprom.diff new file mode 100644 index 0000000..5d9bbfa --- /dev/null +++ b/i2c-tools-r6063-dont-choke-when-no-eeprom.diff @@ -0,0 +1,40 @@ +--- + eeprom/decode-dimms | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -1728,7 +1728,7 @@ sub sysfs_device_attribute + + sub get_dimm_list + { +- my (@dirs, $dir, $file, @files); ++ my (@dirs, $dir, $opened, $file, @files); + + if ($use_sysfs) { + @dirs = ('/sys/bus/i2c/drivers/eeprom', '/sys/bus/i2c/drivers/at24'); +@@ -1738,6 +1738,7 @@ sub get_dimm_list + + foreach $dir (@dirs) { + next unless opendir(local *DIR, $dir); ++ $opened++; + while (defined($file = readdir(DIR))) { + if ($use_sysfs) { + # We look for I2C devices like 0-0050 or 2-0051 +@@ -1758,12 +1759,12 @@ sub get_dimm_list + close(DIR); + } + +- if (@files) { +- return sort { $a->{file} cmp $b->{file} } @files; +- } elsif (! -d '/sys/module/eeprom') { +- print "No EEPROM found, are you sure the eeprom module is loaded?\n"; ++ if (!$opened) { ++ print STDERR "No EEPROM found, try loading the eeprom or at24 module\n"; + exit; + } ++ ++ return sort { $a->{file} cmp $b->{file} } @files; + } + + # @dimm is a list of hashes. There's one hash for each EEPROM we found. diff --git a/i2c-tools-r6106-vendors-JEP106AG.diff b/i2c-tools-r6106-vendors-JEP106AG.diff new file mode 100644 index 0000000..d314094 --- /dev/null +++ b/i2c-tools-r6106-vendors-JEP106AG.diff @@ -0,0 +1,147 @@ +--- + eeprom/decode-dimms | 69 ++++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 56 insertions(+), 13 deletions(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -63,17 +63,17 @@ $revision =~ s/ \([^()]*\)//; + "Lattice Semi.", "NCR", "Wafer Scale Integration", "IBM", + "Tristar", "Visic", "Intl. CMOS Technology", "SSSI", + "MicrochipTechnology", "Ricoh Ltd.", "VLSI", "Micron Technology", +- "Hyundai Electronics", "OKI Semiconductor", "ACTEL", "Sharp", ++ "Hynix Semiconductor Inc. (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp", + "Catalyst", "Panasonic", "IDT", "Cypress", + "DEC", "LSI Logic", "Zarlink (former Plessey)", "UTMC", + "Thinking Machine", "Thomson CSF", "Integrated CMOS (Vertex)", "Honeywell", +- "Tektronix", "Sun Microsystems", "SST", "ProMos/Mosel Vitelic", ++ "Tektronix", "Oracle Corporation (former Sun Microsystems)", "Silicon Storage Technology", "ProMos/Mosel Vitelic", + "Infineon (former Siemens)", "Macronix", "Xerox", "Plus Logic", + "SunDisk", "Elan Circuit Tech.", "European Silicon Str.", "Apple Computer", + "Xilinx", "Compaq", "Protocol Engines", "SCI", + "Seiko Instruments", "Samsung", "I3 Design System", "Klic", + "Crosspoint Solutions", "Alliance Semiconductor", "Tandem", "Hewlett-Packard", +- "Intg. Silicon Solutions", "Brooktree", "New Media", "MHS Electronic", ++ "Integrated Silicon Solutions", "Brooktree", "New Media", "MHS Electronic", + "Performance Semi.", "Winbond Electronic", "Kawasaki Steel", "Bright Micro", + "TECMAR", "Exar", "PCMCIA", "LG Semi (former Goldstar)", + "Northern Telecom", "Sanyo", "Array Microsystems", "Crystal Semiconductor", +@@ -83,7 +83,7 @@ $revision =~ s/ \([^()]*\)//; + "Sony", "Cray Research", "AMS(Austria Micro)", "Vitesse", + "Aster Electronics", "Bay Networks (Synoptic)", "Zentrum or ZMD", "TRW", + "Thesys", "Solbourne Computer", "Allied-Signal", "Dialog", +- "Media Vision", "Level One Communication"], ++ "Media Vision", "Numonyx Corporation (former Level One Communication)"], + ["Cirrus Logic", "National Instruments", "ILC Data Device", "Alcatel Mietec", + "Micro Linear", "Univ. of NC", "JTAG Technologies", "BAE Systems", + "Nchip", "Galileo Tech", "Bestlink Systems", "Graychip", +@@ -118,7 +118,7 @@ $revision =~ s/ \([^()]*\)//; + "Quadratics Superconductor", "3COM"], + ["Camintonn Corporation", "ISOA Incorporated", "Agate Semiconductor", "ADMtek Incorporated", + "HYPERTEC", "Adhoc Technologies", "MOSAID Technologies", "Ardent Technologies", +- "Switchcore", "Cisco Systems, Inc.", "Allayer Technologies", "WorkX AG", ++ "Switchcore", "Cisco Systems, Inc.", "Allayer Technologies", "WorkX AG (Wichman)", + "Oasis Semiconductor", "Novanet Semiconductor", "E-M Solutions", "Power General", + "Advanced Hardware Arch.", "Inova Semiconductors GmbH", "Telocity", "Delkin Devices", + "Symagery Microsystems", "C-Port Corporation", "SiberCore Technologies", "Southland Microsystems", +@@ -128,7 +128,7 @@ $revision =~ s/ \([^()]*\)//; + "Chameleon Systems", "Aplus Flash Technology", "MIPS Technologies", "Chrysalis ITS", + "ADTEC Corporation", "Kentron Technologies", "Win Technologies", "Tachyon Semiconductor (former ASIC Designs Inc.)", + "Extreme Packet Devices", "RF Micro Devices", "Siemens AG", "Sarnoff Corporation", +- "Itautec Philco SA", "Radiata Inc.", "Benchmark Elect. (AVEX)", "Legend", ++ "Itautec SA (former Itautec Philco SA)", "Radiata Inc.", "Benchmark Elect. (AVEX)", "Legend", + "SpecTek Incorporated", "Hi/fn", "Enikia Incorporated", "SwitchOn Networks", + "AANetcom Incorporated", "Micro Memory Bank", "ESS Technology", "Virata Corporation", + "Excess Bandwidth", "West Bay Semiconductor", "DSP Group", "Newport Communications", +@@ -170,26 +170,26 @@ $revision =~ s/ \([^()]*\)//; + "PLX Technology", "Massana Design", "Intrinsity", "Valence Semiconductor", + "Terawave Communications", "IceFyre Semiconductor", "Primarion", "Picochip Designs Ltd", + "Silverback Systems", "Jade Star Technologies", "Pijnenburg Securealink", +- "TakeMS International AG", "Cambridge Silicon Radio", ++ "takeMS - Ultron AG (former Memorysolution GmbH)", "Cambridge Silicon Radio", + "Swissbit", "Nazomi Communications", "eWave System", + "Rockwell Collins", "Picocel Co., Ltd.", "Alphamosaic Ltd", "Sandburst", + "SiCon Video", "NanoAmp Solutions", "Ericsson Technology", "PrairieComm", + "Mitac International", "Layer N Networks", "MtekVision", "Allegro Networks", + "Marvell Semiconductors", "Netergy Microelectronic", "NVIDIA", "Internet Machines", + "Peak Electronics", "Litchfield Communication", "Accton Technology", "Teradiant Networks", +- "Europe Technologies", "Cortina Systems", "RAM Components", "Raqia Networks", ++ "Scaleo Chip (former Europe Technlogies)", "Cortina Systems", "RAM Components", "Raqia Networks", + "ClearSpeed", "Matsushita Battery", "Xelerated", "SimpleTech", + "Utron Technology", "Astec International", "AVM gmbH", "Redux Communications", + "Dot Hill Systems", "TeraChip"], + ["T-RAM Incorporated", "Innovics Wireless", "Teknovus", "KeyEye Communications", + "Runcom Technologies", "RedSwitch", "Dotcast", "Silicon Mountain Memory", + "Signia Technologies", "Pixim", "Galazar Networks", "White Electronic Designs", +- "Patriot Scientific", "Neoaxiom Corporation", "3Y Power Technology", "Europe Technologies", ++ "Patriot Scientific", "Neoaxiom Corporation", "3Y Power Technology", "Scaleo Chip (former Europe Technologies)", + "Potentia Power Systems", "C-guys Incorporated", "Digital Communications Technology Incorporated", "Silicon-Based Technology", + "Fulcrum Microsystems", "Positivo Informatica Ltd", "XIOtech Corporation", "PortalPlayer", +- "Zhiying Software", "Direct2Data", "Phonex Broadband", "Skyworks Solutions", ++ "Zhiying Software", "Parker Vision, Inc. (former Direct2Data)", "Phonex Broadband", "Skyworks Solutions", + "Entropic Communications", "Pacific Force Technology", "Zensys A/S", "Legend Silicon Corp.", +- "sci-worx GmbH", "SMSC (former Oasis Silicon Systems)", "Renesas Technology", "Raza Microelectronics", ++ "sci-worx GmbH", "SMSC (former Oasis Silicon Systems)", "Renesas Electronics (former Renesas Technology)", "Raza Microelectronics", + "Phyworks", "MediaTek", "Non-cents Productions", "US Modular", + "Wintegra Ltd", "Mathstar", "StarCore", "Oplus Technologies", + "Mindspeed", "Just Young Computer", "Radia Communications", "OCZ", +@@ -220,7 +220,7 @@ $revision =~ s/ \([^()]*\)//; + "g2 Microsystems", "PowerFlash Semiconductor", "P.A. Semi, Inc.", "NovaTech Solutions, S.A.", + "c2 Microsystems, Inc.", "Level5 Networks", "COS Memory AG", "Innovasic Semiconductor", + "02IC Co. Ltd", "Tabula, Inc.", "Crucial Technology", "Chelsio Communications", +- "Solarflare Communications", "Xambala Inc.", "EADS Astrium", "ATO Semicon Co. Ltd.", ++ "Solarflare Communications", "Xambala Inc.", "EADS Astrium", "Terra Semiconductor Inc. (former ATO Semicon Co. Ltd.)", + "Imaging Works, Inc.", "Astute Networks, Inc.", "Tzero", "Emulex", + "Power-One", "Pulse~LINK Inc.", "Hon Hai Precision Industry", "White Rock Networks Inc.", + "Telegent Systems USA, Inc.", "Atrua Technologies, Inc.", "Acbel Polytech Inc.", +@@ -250,7 +250,50 @@ $revision =~ s/ \([^()]*\)//; + "Tec-Hill", "Multigig, Inc.", "Amimon", "Euphonic Technologies, Inc.", "BRN Phoenix", + "InSilica", "Ember Corporation", "Avexir Technologies Corporation", "Echelon Corporation", + "Edgewater Computer Systems", "XMOS Semiconductor Ltd.", "GENUSION, Inc.", "Memory Corp NV", +- "SiliconBlue Technologies", "Rambus Inc."]); ++ "SiliconBlue Technologies", "Rambus Inc.", "Andes Technology Corporation", "Coronis Systems", ++ "Achronix Semiconductor", "Siano Mobile Silicon Ltd.", "Semtech Corporation", "Pixelworks Inc.", ++ "Gaisler Research AB", "Teranetics", "Toppan Printing Co. Ltd.", "Kingxcon", ++ "Silicon Integrated Systems", "I-O Data Device, Inc.", "NDS Americas Inc.", "Solomon Systech Limited", ++ "On Demand Microelectronics", "Amicus Wireless Inc.", "SMARDTV SNC", "Comsys Communication Ltd.", ++ "Movidia Ltd.", "Javad GNSS, Inc.", "Montage Technology Group", "Trident Microsystems", "Super Talent", ++ "Optichron, Inc.", "Future Waves UK Ltd.", "SiBEAM, Inc.", "Inicore, Inc.", "Virident Systems", ++ "M2000, Inc.", "ZeroG Wireless, Inc.", "Gingle Technology Co. Ltd.", "Space Micro Inc.", "Wilocity", ++ "Novafora, Inc.", "iKoa Corporation", "ASint Technology", "Ramtron", "Plato Networks Inc.", ++ "IPtronics AS", "Infinite-Memories", "Parade Technologies Inc.", "Dune Networks", ++ "GigaDevice Semiconductor", "Modu Ltd.", "CEITEC", "Northrop Grumman", "XRONET Corporation", ++ "Sicon Semiconductor AB", "Atla Electronics Co. Ltd.", "TOPRAM Technology", "Silego Technology Inc.", ++ "Kinglife", "Ability Industries Ltd.", "Silicon Power Computer & Communications", ++ "Augusta Technology, Inc.", "Nantronics Semiconductors", "Hilscher Gesellschaft", "Quixant Ltd.", ++ "Percello Ltd.", "NextIO Inc.", "Scanimetrics Inc.", "FS-Semi Company Ltd.", "Infinera Corporation", ++ "SandForce Inc.", "Lexar Media", "Teradyne Inc.", "Memory Exchange Corp.", "Suzhou Smartek Electronics", ++ "Avantium Corporation", "ATP Electronics Inc.", "Valens Semiconductor Ltd", "Agate Logic, Inc.", ++ "Netronome", "Zenverge, Inc.", "N-trig Ltd", "SanMax Technologies Inc.", "Contour Semiconductor Inc.", ++ "TwinMOS", "Silicon Systems, Inc.", "V-Color Technology Inc.", "Certicom Corporation", "JSC ICC Milandr", ++ "PhotoFast Global Inc.", "InnoDisk Corporation", "Muscle Power", "Energy Micro", "Innofidei", ++ "CopperGate Communications", "Holtek Semiconductor Inc.", "Myson Century, Inc.", "FIDELIX", ++ "Red Digital Cinema", "Densbits Technology", "Zempro", "MoSys", "Provigent", "Triad Semiconductor, Inc."], ++["Siklu Communication Ltd.", "A Force Manufacturing Ltd.", "Strontium", "Abilis Systems", "Siglead, Inc.", ++ "Ubicom, Inc.", "Unifosa Corporation", "Stretch, Inc.", "Lantiq Deutschland GmbH", "Visipro", ++ "EKMemory", "Microelectronics Institute ZTE", "Cognovo Ltd.", "Carry Technology Co. Ltd.", "Nokia", ++ "King Tiger Technology", "Sierra Wireless", "HT Micron", "Albatron Technology Co. Ltd.", ++ "Leica Geosystems AG", "BroadLight", "AEXEA", "ClariPhy Communications, Inc.", "Green Plug", ++ "Design Art Networks", "Mach Xtreme Technology Ltd.", "ATO Solutions Co. Ltd.", "Ramsta", ++ "Greenliant Systems, Ltd.", "Teikon", "Antec Hadron", "NavCom Technology, Inc.", ++ "Shanghai Fudan Microelectronics", "Calxeda, Inc.", "JSC EDC Electronics", "Kandit Technology Co. Ltd.", ++ "Ramos Technology", "Goldenmars Technology", "XeL Technology Inc.", "Newzone Corporation", ++ "ShenZhen MercyPower Tech", "Nanjing Yihuo Technology", "Nethra Imaging Inc.", "SiTel Semiconductor BV", ++ "SolidGear Corporation", "Topower Computer Ind Co Ltd.", "Wilocity", "Profichip GmbH", ++ "Gerad Technologies", "Ritek Corporation", "Gomos Technology Limited", "Memoright Corporation", ++ "D-Broad, Inc.", "HiSilicon Technologies", "Syndiant Inc.", "Enverv Inc.", "Cognex", ++ "Xinnova Technology Inc.", "Ultron AG", "Concord Idea Corporation", "AIM Corporation", ++ "Lifetime Memory Products", "Ramsway", "Recore Systems BV", "Haotian Jinshibo Science Tech", ++ "Being Advanced Memory", "Adesto Technologies", "Giantec Semiconductor, Inc.", "HMD Electronics AG", ++ "Gloway International (HK)", "Kingcore", "Anucell Technology Holding", ++ "Accord Software & Systems Pvt. Ltd.", "Active-Semi Inc.", "Denso Corporation", "TLSI Inc.", ++ "Shenzhen Daling Electronic Co. Ltd.", "Mustang", "Orca Systems", "Passif Semiconductor", ++ "GigaDevice Semiconductor (Beijing) Inc.", "Memphis Electronic", "Beckhoff Automation GmbH", ++ "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory"] ++); + + $use_sysfs = -d '/sys/bus'; + diff --git a/i2c-tools-r6107-vendors-JEP106AJ.diff b/i2c-tools-r6107-vendors-JEP106AJ.diff new file mode 100644 index 0000000..aea14fb --- /dev/null +++ b/i2c-tools-r6107-vendors-JEP106AJ.diff @@ -0,0 +1,28 @@ +--- + eeprom/decode-dimms | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -63,7 +63,7 @@ $revision =~ s/ \([^()]*\)//; + "Lattice Semi.", "NCR", "Wafer Scale Integration", "IBM", + "Tristar", "Visic", "Intl. CMOS Technology", "SSSI", + "MicrochipTechnology", "Ricoh Ltd.", "VLSI", "Micron Technology", +- "Hynix Semiconductor Inc. (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp", ++ "SK Hynix (former Hyundai Electronics)", "OKI Semiconductor", "ACTEL", "Sharp", + "Catalyst", "Panasonic", "IDT", "Cypress", + "DEC", "LSI Logic", "Zarlink (former Plessey)", "UTMC", + "Thinking Machine", "Thomson CSF", "Integrated CMOS (Vertex)", "Honeywell", +@@ -292,7 +292,11 @@ $revision =~ s/ \([^()]*\)//; + "Accord Software & Systems Pvt. Ltd.", "Active-Semi Inc.", "Denso Corporation", "TLSI Inc.", + "Shenzhen Daling Electronic Co. Ltd.", "Mustang", "Orca Systems", "Passif Semiconductor", + "GigaDevice Semiconductor (Beijing) Inc.", "Memphis Electronic", "Beckhoff Automation GmbH", +- "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory"] ++ "Harmony Semiconductor Corp (former ProPlus Design Solutions)", "Air Computers SRL", "TMT Memory", ++ "Eorex Corporation", "Xingtera", "Netsol", "Bestdon Technology Co. Ltd.", "Baysand Inc.", ++ "Uroad Technology Co. Ltd. (former Triple Grow Industrial Ltd.)", "Wilk Elektronik S.A.", ++ "AAI", "Harman", "Berg Microelectronics Inc.", "ASSIA, Inc.", "Visiontek Products LLC", ++ "OCMEMORY", "Welink Solution Inc."] + ); + + $use_sysfs = -d '/sys/bus'; diff --git a/i2c-tools-r6108-remove-duplicate-ns.diff b/i2c-tools-r6108-remove-duplicate-ns.diff new file mode 100644 index 0000000..e45dfae --- /dev/null +++ b/i2c-tools-r6108-remove-duplicate-ns.diff @@ -0,0 +1,47 @@ +--- + eeprom/decode-dimms | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -623,7 +623,7 @@ sub decode_sdr_sdram($) + my $ctime = ($bytes->[9] >> 4) + ($bytes->[9] & 0xf) * 0.1; + + $trcd = $bytes->[29]; +- $trp = $bytes->[27];; ++ $trp = $bytes->[27]; + $tras = $bytes->[30]; + + printl("tCL-tRCD-tRP-tRAS", +@@ -720,7 +720,6 @@ sub decode_sdr_sdram($) + else { + $temp += 15 if $temp < 4; + $temp += ($bytes->[23] & 0xf) * 0.1; +- $temp .= " ns"; + } + $cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-1]; + +@@ -729,7 +728,6 @@ sub decode_sdr_sdram($) + else { + $temp += 15 if $temp < 4; + $temp += ($bytes->[24] & 0xf) * 0.1; +- $temp .= " ns"; + } + $access_time .= "\n$temp ns at CAS ".$cas[$#cas-1]; + } +@@ -739,7 +737,6 @@ sub decode_sdr_sdram($) + if ($temp == 0) { $temp = "Undefined!"; } + else { + $temp += ($bytes->[25] & 0x3) * 0.25; +- $temp .= " ns"; + } + $cycle_time .= "\n$temp ns at CAS ".$cas[$#cas-2]; + +@@ -747,7 +744,6 @@ sub decode_sdr_sdram($) + if ($temp == 0) { $temp = "Undefined!"; } + else { + $temp += ($bytes->[26] & 0x3) * 0.25; +- $temp .= " ns"; + } + $access_time .= "\n$temp ns at CAS ".$cas[$#cas-2]; + } diff --git a/i2c-tools-r6109-fix-decoding-revision.diff b/i2c-tools-r6109-fix-decoding-revision.diff new file mode 100644 index 0000000..c75ac40 --- /dev/null +++ b/i2c-tools-r6109-fix-decoding-revision.diff @@ -0,0 +1,17 @@ +--- + eeprom/decode-dimms | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -591,7 +591,9 @@ sub decode_sdr_sdram($) + my $temp; + + # SPD revision +- printl("SPD Revision", $bytes->[62]); ++ # Starting with SPD revision 1.2, this byte is encoded in BCD ++ printl("SPD Revision", $bytes->[62] < 0x12 ? $bytes->[62] : ++ ($bytes->[62] >> 4) . "." . ($bytes->[62] & 0xf)); + + #size computation + diff --git a/i2c-tools-r6110-i2cdetect-clarify-probing.diff b/i2c-tools-r6110-i2cdetect-clarify-probing.diff new file mode 100644 index 0000000..bf283b9 --- /dev/null +++ b/i2c-tools-r6110-i2cdetect-clarify-probing.diff @@ -0,0 +1,36 @@ +--- + tools/i2cdetect.8 | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +--- i2c-tools-3.1.0.orig/tools/i2cdetect.8 ++++ i2c-tools-3.1.0/tools/i2cdetect.8 +@@ -28,6 +28,12 @@ should correspond to one of the busses l + The optional parameters \fIfirst\fR and \fIlast\fR restrict the scanning + range (default: from 0x03 to 0x77). + .PP ++As there is no standard I2C detection command, i2cdetect uses arbitrary ++SMBus commands (namely SMBus quick write and SMBus receive byte) to probe ++for devices. By default, the command used is the one believed to be the ++safest for each address. See options \fI-q\fR and \fI-r\fR to change this ++behavior. ++.PP + i2cdetect can also be used to query the functionalities of an I2C bus + (see option \fB-F\fP.) + +@@ -57,14 +63,12 @@ scripts. + Force scanning of non-regular addresses. Not recommended. + .TP + .B "\-q" +-Use SMBus "quick write" commands for probing (by default, the command +-used is the one believed to be the safest for each address). ++Use SMBus "quick write" command for probing. + Not recommended. This is known to corrupt the Atmel AT24RF08 EEPROM + found on many IBM Thinkpad laptops. + .TP + .B "\-r" +-Use SMBus "read byte" commands for probing (by default, the command +-used is the one believed to be the safest for each address). ++Use SMBus "receive byte" command for probing. + Not recommended. This is known to lock SMBus on various write-only + chips (most notably clock chips at address 0x69). + .TP diff --git a/i2c-tools-r6121-typo-sprint.diff b/i2c-tools-r6121-typo-sprint.diff new file mode 100644 index 0000000..78d635f --- /dev/null +++ b/i2c-tools-r6121-typo-sprint.diff @@ -0,0 +1,15 @@ +--- + eeprom/decode-dimms | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -1167,7 +1167,7 @@ sub decode_ddr3_sdram($) + + printl("Module Type", ($bytes->[3] <= $#module_types) ? + $module_types[$bytes->[3]] : +- sprint("Reserved (0x%.2X)", $bytes->[3])); ++ sprintf("Reserved (0x%.2X)", $bytes->[3])); + + # speed + prints("Memory Characteristics"); diff --git a/i2c-tools-r6122-more-DDR3-module-types.diff b/i2c-tools-r6122-more-DDR3-module-types.diff new file mode 100644 index 0000000..16cb4f4 --- /dev/null +++ b/i2c-tools-r6122-more-DDR3-module-types.diff @@ -0,0 +1,18 @@ +--- + eeprom/decode-dimms | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- i2c-tools-3.1.0.orig/eeprom/decode-dimms ++++ i2c-tools-3.1.0/eeprom/decode-dimms +@@ -1163,7 +1163,10 @@ sub decode_ddr3_sdram($) + my $ctime; + + my @module_types = ("Undefined", "RDIMM", "UDIMM", "SO-DIMM", +- "Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM"); ++ "Micro-DIMM", "Mini-RDIMM", "Mini-UDIMM", ++ "Mini-CDIMM", "72b-SO-UDIMM", "72b-SO-RDIMM", ++ "72b-SO-CDIMM", "LRDIMM", "16b-SO-DIMM", ++ "32b-SO-DIMM"); + + printl("Module Type", ($bytes->[3] <= $#module_types) ? + $module_types[$bytes->[3]] : diff --git a/i2c-tools.changes b/i2c-tools.changes index 3b2759a..36da2f5 100644 --- a/i2c-tools.changes +++ b/i2c-tools.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Wed Feb 13 14:44:02 CET 2013 - jdelvare@suse.de + +Backport fixes from upstream 3.1 branch: +- i2c-tools-r6063-dont-choke-when-no-eeprom.diff: Don't choke when + no EEPROM is found. +- i2c-tools-r6106-vendors-JEP106AG.diff, +- i2c-tools-r6107-vendors-JEP106AJ.diff: Update vendor list based + on Jedec documents JEP106AG and JEP106AJ. +- i2c-tools-r6108-remove-duplicate-ns.diff: Remove duplicate "ns" + in SDR timings. +- i2c-tools-r6109-fix-decoding-revision.diff: Fix decoding of SDR + SPD revision. +- i2c-tools-r6110-i2cdetect-clarify-probing.diff: Clarify the SMBus + commands used for probing by default. +- i2c-tools-r6121-typo-sprint.diff: Prevent hang on reserved DDR3 + module type, caused by a typo in function name. +- i2c-tools-r6122-more-DDR3-module-types.diff: Decode more DDR3 + module types. + ------------------------------------------------------------------- Wed Feb 13 14:00:15 CET 2013 - jdelvare@suse.de diff --git a/i2c-tools.spec b/i2c-tools.spec index a9313d5..1a032d2 100644 --- a/i2c-tools.spec +++ b/i2c-tools.spec @@ -27,6 +27,14 @@ Requires: udev Recommends: modules Source0: i2c-tools-%{version}.tar.bz2 Source1: i2c-tools-%{version}.tar.bz2.sig +Patch1: i2c-tools-r6063-dont-choke-when-no-eeprom.diff +Patch2: i2c-tools-r6106-vendors-JEP106AG.diff +Patch3: i2c-tools-r6107-vendors-JEP106AJ.diff +Patch4: i2c-tools-r6108-remove-duplicate-ns.diff +Patch5: i2c-tools-r6109-fix-decoding-revision.diff +Patch6: i2c-tools-r6110-i2cdetect-clarify-probing.diff +Patch7: i2c-tools-r6121-typo-sprint.diff +Patch8: i2c-tools-r6122-more-DDR3-module-types.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build ExcludeArch: s390 s390x @@ -46,6 +54,14 @@ Authors: %prep %setup -q +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" CC="%{__cc}" From 6b129132d37c7156ef69ee9201b433aac74fdd19193f7038735741cd044a67c1 Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Wed, 13 Feb 2013 14:26:38 +0000 Subject: [PATCH 5/5] Add patch descriptions and upstream references. OBS-URL: https://build.opensuse.org/package/show/Base:System/i2c-tools?expand=0&rev=22 --- i2c-tools-r6063-dont-choke-when-no-eeprom.diff | 5 +++++ i2c-tools-r6106-vendors-JEP106AG.diff | 5 +++++ i2c-tools-r6107-vendors-JEP106AJ.diff | 4 ++++ i2c-tools-r6108-remove-duplicate-ns.diff | 4 ++++ i2c-tools-r6109-fix-decoding-revision.diff | 5 +++++ i2c-tools-r6110-i2cdetect-clarify-probing.diff | 4 ++++ i2c-tools-r6121-typo-sprint.diff | 5 +++++ i2c-tools-r6122-more-DDR3-module-types.diff | 4 ++++ 8 files changed, 36 insertions(+) diff --git a/i2c-tools-r6063-dont-choke-when-no-eeprom.diff b/i2c-tools-r6063-dont-choke-when-no-eeprom.diff index 5d9bbfa..8aa3f6b 100644 --- a/i2c-tools-r6063-dont-choke-when-no-eeprom.diff +++ b/i2c-tools-r6063-dont-choke-when-no-eeprom.diff @@ -1,3 +1,8 @@ +Subject: decode-dimms: Don't choke when no EEPROM is found +Upstream: yes, r6063 + +Don't choke when no SPD EEPROM is found while the eeprom or at24 driver +is loaded. This can happen, handle the case gracefully. --- eeprom/decode-dimms | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/i2c-tools-r6106-vendors-JEP106AG.diff b/i2c-tools-r6106-vendors-JEP106AG.diff index d314094..5415199 100644 --- a/i2c-tools-r6106-vendors-JEP106AG.diff +++ b/i2c-tools-r6106-vendors-JEP106AG.diff @@ -1,3 +1,8 @@ +Subject: decode-dimms: Update vendor list +Upstream: yes, r6106 + +Update vendor list based on Jedec document JEP106AG. Contributed by +Thomas Gibson. --- eeprom/decode-dimms | 69 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 56 insertions(+), 13 deletions(-) diff --git a/i2c-tools-r6107-vendors-JEP106AJ.diff b/i2c-tools-r6107-vendors-JEP106AJ.diff index aea14fb..2a68feb 100644 --- a/i2c-tools-r6107-vendors-JEP106AJ.diff +++ b/i2c-tools-r6107-vendors-JEP106AJ.diff @@ -1,3 +1,7 @@ +Subject: decode-dimms: Update vendor list +Upstream: yes, r6107 + +Add manufacturer names from Jedec document JEP106AJ. --- eeprom/decode-dimms | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/i2c-tools-r6108-remove-duplicate-ns.diff b/i2c-tools-r6108-remove-duplicate-ns.diff index e45dfae..4522c1c 100644 --- a/i2c-tools-r6108-remove-duplicate-ns.diff +++ b/i2c-tools-r6108-remove-duplicate-ns.diff @@ -1,3 +1,7 @@ +Subject: decode-dimms: Remove duplicate "ns" in SDR timings +Upstream: yes, r6108 + +Remove duplicate "ns" in SDR timings. --- eeprom/decode-dimms | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/i2c-tools-r6109-fix-decoding-revision.diff b/i2c-tools-r6109-fix-decoding-revision.diff index c75ac40..32250fd 100644 --- a/i2c-tools-r6109-fix-decoding-revision.diff +++ b/i2c-tools-r6109-fix-decoding-revision.diff @@ -1,3 +1,8 @@ +Subject: decode-dimms: Fix decoding of SDR SPD revision +Upstream: yes, r6109 + +Fix decoding of SDR SPD revision. The encoding changed with +revision 1.2. --- eeprom/decode-dimms | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/i2c-tools-r6110-i2cdetect-clarify-probing.diff b/i2c-tools-r6110-i2cdetect-clarify-probing.diff index bf283b9..3a64fb2 100644 --- a/i2c-tools-r6110-i2cdetect-clarify-probing.diff +++ b/i2c-tools-r6110-i2cdetect-clarify-probing.diff @@ -1,3 +1,7 @@ +Subject: i2cdetect: Clarify the SMBus commands used for probing by default +Upstream: yes, r6110 + +Clarify the SMBus commands used for probing by default. --- tools/i2cdetect.8 | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/i2c-tools-r6121-typo-sprint.diff b/i2c-tools-r6121-typo-sprint.diff index 78d635f..65ffd06 100644 --- a/i2c-tools-r6121-typo-sprint.diff +++ b/i2c-tools-r6121-typo-sprint.diff @@ -1,3 +1,8 @@ +Subject: decode-dimms: Prevent hang on reserved DDR3 module type +Upstream: yes, r6121 + +Prevent hang on reserved DDR3 module type. Function sprint doesn't +exist, sprintf was intended. --- eeprom/decode-dimms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i2c-tools-r6122-more-DDR3-module-types.diff b/i2c-tools-r6122-more-DDR3-module-types.diff index 16cb4f4..173dafc 100644 --- a/i2c-tools-r6122-more-DDR3-module-types.diff +++ b/i2c-tools-r6122-more-DDR3-module-types.diff @@ -1,3 +1,7 @@ +Subject: decode-dimms: Decode more DDR3 module types +Upstream: yes, r6122 + +Decode more DDR3 module types. --- eeprom/decode-dimms | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)