IRC log for #neo900 on 20150208

01:21.26*** join/#neo900 timc1assic (~timc1assi@cpe-72-229-235-218.nyc.res.rr.com)
01:22.42timc1assicWeird.  Booted up my new N900 and Ovi Maps seems to function.  On my CSSU system it doesn't seem to have map data.  Should I expect it to work?
04:05.38*** join/#neo900 norly (~norly@enpas.org)
05:08.23*** join/#neo900 NIN101_ (~core@n900.quitesimple.org)
05:16.18*** join/#neo900 x29a (~x29a@unaffiliated/x29a)
06:05.13*** join/#neo900 ashneo76 (~ashneo76@c-71-194-247-250.hsd1.il.comcast.net)
07:02.47*** join/#neo900 timc1assic (~timc1assi@cpe-72-229-235-218.nyc.res.rr.com)
07:23.34*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
07:39.38*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
07:54.25*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
08:14.42*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
08:16.05*** join/#neo900 PeperPots____ (sid1218@gateway/web/irccloud.com/x-ibnahjwjfyjjtqrw)
08:16.50DocScrutinizer05timclassic: depending on your eMMC aka VANILLA version your device may have local map data installed
08:16.59DocScrutinizer05iirc
08:19.43DocScrutinizer05but I think the Nokia map data server still supposed to work, so on CSSU you should be able to download the data needed when you're online. It will get cached locally so you need to download only once (and for updates)
08:21.31DocScrutinizer05also note that ovi maps afaik doesn't know to do on-board routing, for calculating any route you need online anyway
08:23.08DocScrutinizer05check the alternative map apps (marble, mappero, etc), they can use alternative map data sets and some of them come with on-board routing and even guidance
08:28.57DocScrutinizer05http://talk.maemo.org/showthread.php?t=66985  http://talk.maemo.org/showthread.php?p=1200564#post1200564  https://wiki.maemo.org/Navigation_Tools
08:42.12DocScrutinizer51at least marble and modRana come with configurable bulk download for map data
09:04.23*** join/#neo900 PeperPots____ (sid1218@gateway/web/irccloud.com/x-nwsidvsqkzvomubm)
09:20.15*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
09:29.55*** join/#neo900 PeperPots____ (sid1218@gateway/web/irccloud.com/x-nayinwhxtgqoqcoq)
09:33.15freemangordonDocScrutinizer05: according to the BB-xm schematics, it is possible to change the sys_boot config with a little bit of a soldering, see bbxm-revC schematics, page 4 https://github.com/CircuitCo/BeagleBoard-xM-RevC/blob/master/BeagleBoard-xM_revC_SCH.pdf?raw=true
09:33.32DocScrutinizer05:-D
09:33.50DocScrutinizer05maybe you can answer directly to internal ML?
09:34.11DocScrutinizer05it might reject or put on moderation your mail. Please report
09:37.05freemangordonDocScrutinizer05: also, it is possible to overwrite the sys_boot, by the so-called "Software Booting Configuration", see 26.4.4.4 in SWPU177AA (36xx TRM)
09:37.42freemangordonDocScrutinizer05: please you do it this time (the reply), I have to go afk for some time
09:37.52DocScrutinizer05yeah, maybe, but we'd want to load MLO from NAND anyway ;-)
09:38.01freemangordonyes, but for test...
09:38.16DocScrutinizer05ok I'll simply forward the irc log
09:39.22DocScrutinizer05any further notes before I send mail?
09:41.42freemangordonI guess Nik already knows that :)
09:42.18DocScrutinizer05I'm sure he does, but cooperatime engineering means we also state the obvious, just in case :-)
09:42.29DocScrutinizer05cooperative*
09:43.06DocScrutinizer05for example your link to the schem helped me a lot
09:43.29freemangordonthe sys_boot is on the lower-right corner
09:43.38DocScrutinizer05found it :-)
09:44.05freemangordonBTW what revision is "our" BB?
09:44.19DocScrutinizer05we have a zoo of different version
09:44.26*** join/#neo900 Pali (~pali@Maemo/community/contributor/Pali)
09:44.38freemangordonwell, the 1GB one
09:44.48DocScrutinizer05I dunno the version of the particular one board
09:45.02DocScrutinizer05I'll add the question to mail
09:45.03freemangordonPali: hi! Yes, all of the gadgets should have that __init removed
09:45.14freemangordonDocScrutinizer05: naah, it is not that important
09:45.23DocScrutinizer05but iteresting also for me
09:45.44*** part/#neo900 timc1assic (~timc1assi@cpe-72-229-235-218.nyc.res.rr.com)
09:45.48PaliI think that too!
09:46.00freemangordonPali: I remember the last 2-3 monhs there were lots of crashing modules all over the kernel, because something was change in the __init semantics
09:46.08freemangordon*changed
09:48.08DocScrutinizer05that's 'nice'¡
09:48.29DocScrutinizer05ohmy, kernel devs
09:48.45DocScrutinizer05when they can't break something, they are not happy ;-)
09:49.03Palithis is again code maintained by mr. balbi
09:49.10freemangordonPali: hmm, maybe the point is - bindxxx functions are not really called when the module is loaded, but on a later stage, when the core detects something matching (id?)
09:49.12Pali(you should remember his name)
09:49.22freemangordonPali: yeah, I know that name :)
09:49.24Paliyes, I think that too
09:49.46DocScrutinizer05Felippe Balbi? Sounds somewhat familir ;-)
09:49.50freemangordon:D
09:50.36freemangordonI guess he (along with the network guy) are our favorite kernel maintainers :)
09:50.53freemangordonanyway, I am afk for a while
09:51.01DocScrutinizer05((point is - bindxxx functions are not really called when the module is loaded)) [2015-02-07 Sat 23:16:21] <DocScrutinizer05> __init bind? maks no sense since you want to keep binding
09:51.34DocScrutinizer05freemangordon: enjoy your Sunday!
09:55.44*** join/#neo900 modem (~modem@fsf/member/modem)
10:05.51*** join/#neo900 paulk-aldrin (~paulk@armstrong.paulk.fr)
10:23.59*** join/#neo900 SylvieLorxu (~SylvieLor@dhcp-077-251-165-191.chello.nl)
10:26.58DocScrutinizer05Pali: http://elinux.org/N900 for "Board snd-soc-rx51 Sound SoC Wiring" says "N/A" in first (doc) column. Shouldn't that rather be "<a href=...>N900 schematics</a>" ?
10:27.44DocScrutinizer05same for other stuff like "GPIO gpio-keys Proximity sensor"
10:29.50DocScrutinizer05btw the proximity sensor (component) is (99.9% certain) a http://www.osram-os.com/Graphics/XPic7/00083619_0.pdf/SFH 7741, Lead (Pb) Free Product - RoHS Compliant.pdf
10:30.02DocScrutinizer05<http://www.osram-os.com/Graphics/XPic7/00083619_0.pdf/SFH 7741, Lead (Pb) Free Product - RoHS Compliant.pdf>
10:34.59Palido you know <a href=" "> for schemantics?
10:35.10DocScrutinizer05hmm
10:35.27Palifeel free to edit wiki page
10:35.38DocScrutinizer05http://wiki.maemo.org/N900_Hardware_Schematic
10:35.55DocScrutinizer05nah, reluctant to edit that stuff, I'm not expert enough for it
11:16.14*** join/#neo900 xes (~xes@unaffiliated/xes)
11:34.54*** join/#neo900 merlin1991 (~merlin@Maemo/community/cssu/merlin1991)
12:02.36DocScrutinizer05Pali: also I'm not a registered user of elinux.org and thus can't edit stuff there
12:08.42*** join/#neo900 raccoon_ (~user@meta.wtf)
12:15.46*** join/#neo900 che1 (~che@h240.tum.vpn.lrz.de)
12:57.30freemangordonPali: did you looked at what conflicts with gpio-switch driver?
12:57.48freemangordon*look
12:58.19Palithere is omap gpio switch driver which export that nokia gpio values under sys
12:58.40Palibut other drivers (like sound/jack or gpio buttons) use those gpios
12:58.53Paliand I disabled problematic one in omap gpio switch
12:59.03Paliit just export fake values in /sys
12:59.03freemangordonok
12:59.07Palito prevent conflicts
12:59.20freemangordonand is my cmt_speech patch included?
12:59.29PaliI think yes
12:59.38freemangordonhmm, weird
12:59.51freemangordonlibcmtspeechdata: hw6x_backend: unable to open device /dev/cmt_speech ('No such file or directory').
13:00.23freemangordonoh: "omap_ssi: probe of omap_ssi.0 failed with error -22"
13:00.54freemangordonand: "gpio-switch: gpio_reguest failed for cam_focus 68"
13:01.01freemangordonalong with 5 more gpios
13:01.23Palinow I updated v3.19-rc5-n900 branch
13:01.38Palitry to recompile again
13:01.41freemangordonah, I see :)
13:01.53freemangordondid you fix g_xxx stuff?
13:01.57Pali*now* = 1 minute ago
13:02.06Palinot yet
13:02.24freemangordonok
13:03.28Palibtw, look at patch a8f3cb498f5b0436aa626e1dace15864b38f0baf if is really needed
13:03.33Paliomap3-n900.dts: fix i2c busses numbering
13:03.45freemangordonyes, it is
13:03.48freemangordonfor fremantle
13:04.17freemangordonotherwise it cannot find devices on the bus
13:04.23Paliand what it is doing?
13:04.37Palii2c1 = &i2c1;
13:05.04freemangordonrenumbering the buses from i2c0..i2c2 to i2c1..i2c3
13:05.13DocScrutinizer05duh!
13:05.36Pali"i2c1 = &i2c1;" is what?
13:05.44Paliit really rename?
13:05.49DocScrutinizer05cruft :-)
13:06.30DocScrutinizer05anyway, what happened? kernel devels decided that I2C0 is called I2C-SR now?
13:09.22freemangordonPali: iiuc on the left is what gets exported and on the right is the device
13:09.32freemangordonbut don't quote me on that one :)
13:09.58DocScrutinizer05if it was rename, one of both should be i2c2, no?
13:09.58Palithen it is useless
13:10.11Paliassign 1 for 1
13:10.15Palior what?
13:10.16DocScrutinizer05:nod:
13:10.27freemangordonPali: no, as in omap3.dts we have i2c0 = &i2c1 etc
13:10.40freemangordonand we need to overwrite that
13:10.47DocScrutinizer05ugh
13:11.04Paliah, so overwrite overwritten alias...
13:11.09freemangordonyep
13:11.11DocScrutinizer05so the DT devels decided to break stuff
13:11.27Palifreemangordon: board code had also that alias?
13:11.43Paliif not then it is regression and your commit should go to upstream for rx51
13:12.15freemangordonyes. it is a regression, but I am not in a mood to fight with upstream devs right now :)
13:12.22DocScrutinizer05anyway seems the idea actually been to not count the SR I2C bus
13:12.29freemangordonhttps://lkml.org/lkml/2014/6/1/49
13:12.32DocScrutinizer05which happens to be I2C0
13:12.45DocScrutinizer05nonsense
13:13.21DocScrutinizer05bean-counters
13:14.03Palithis should be easy, Tony already asked us for reporting all regression which happend after rx51 moved from board code to DT
13:14.13DocScrutinizer05actually I think that's a bug in DT
13:14.26freemangordonhmm, seems I said I will send a patch :)
13:14.32Paliok :-)
13:15.05DocScrutinizer05so please kill that nonsense. A i2c bus is what it is, as written on chip pin table
13:15.15Palihttps://lkml.org/lkml/2013/10/16/744
13:15.17freemangordonhmm?
13:15.57freemangordonPali: yep
13:16.25Paliok, question is: what was i2c0 and what happened with it?
13:16.54DocScrutinizer05Pali: see my rant above
13:17.03DocScrutinizer05I2C0 is SmartReflex
13:17.17freemangordonPali: http://comments.gmane.org/gmane.linux.ports.arm.omap/115326
13:18.28freemangordonthere is no i2c0, it is just an alias for i2c1
13:18.42DocScrutinizer05freemangordon: ^^^ good, but rationale rather should be "a device name SHALL be in line with the name of the physical interface, as labeled in chip's TRM"
13:19.06freemangordonok, why arguing with me?!? :)
13:19.13Palifreemangordon: was your alias patch accepted to mainline?
13:19.16DocScrutinizer05not arguing with you
13:19.20freemangordonPali: no
13:19.29Paliok, so we need it in -n900 tree
13:19.31freemangordonbut it is not really needed
13:20.06Palihm.. why?
13:20.08freemangordonthe a8f3cb498f5b0436aa626e1dace15864b38f0baf does the trick without it
13:20.35Paliok
13:20.44Palithen send a8f3cb498f5b0436aa626e1dace15864b38f0baf patch to ML :-)
13:20.58freemangordonok
13:21.08freemangordonneeds to remember how :)
13:21.55Palicommit patch to git (add signed-off-by in commit message), then git format-patch HEAD^ and then git send-email file --to=... --cc=...
13:22.11freemangordonit is already signed by me, ain't?
13:22.18Paliand check ./scripts/get_mailtainer.pl file
13:22.30Paliit is
13:22.47DocScrutinizer05http://wstaw.org/m/2015/02/08/plasma-desktopbs1891.png  dunno what's going on there, but I'd expect the dev/<name> be in line with TRM
13:22.50freemangordonoh, I guess I should do it agains vanilla
13:23.10freemangordonDocScrutinizer05: :nod:
13:23.27freemangordonmaybe we should really fix omap3.dtsi instead
13:23.38*** join/#neo900 mvaenskae (~mvaenskae@unaffiliated/mvaenskae)
13:23.39DocScrutinizer05that's what I think, yes
13:23.39PaliDocScrutinizer05: we are expecting same numbering as in Maemo and as in mainline kernel without DT :-)
13:23.47Palito not break anything else again...
13:24.19freemangordonon the other hand, the numbering with legacy boot comes from the board code
13:24.22DocScrutinizer05yes, that's what we *need* - I told what I'd *expect*, dunno if that's identical
13:24.55DocScrutinizer05I always thought SR is on physical as well as logical I2C0
13:25.18freemangordonisn;t that behind the TWL?
13:25.30freemangordonso not really seen by the MPU?
13:25.51DocScrutinizer05huh? no, this is a dedicated I2C *between* TWL and CPU
13:26.07freemangordonoh, yes
13:26.43DocScrutinizer05you _could_ however use I2C0 on CPU in arbitrary other ways and simply disable SR
13:27.09DocScrutinizer05I2C1 is general purpose I2C between CPU and TWL
13:27.10freemangordonseems to caught doc's flue :(
13:27.18DocScrutinizer05eeew
13:27.47Paliin qemu with above alias patch I see: # ls /dev/i2c-*
13:27.47Pali/dev/i2c-1 /dev/i2c-2 /dev/i2c-3
13:28.04freemangordonand that's the correct numbering
13:28.05DocScrutinizer05I2C0 on CPU is special in that it's the only I2C IF that can do SR
13:28.11freemangordonwithout it you'll see 0..2
13:28.14DocScrutinizer05aiui
13:28.57DocScrutinizer05well, I2C0 is "not available" when used for SR
13:29.09DocScrutinizer05pinmux, I guess
13:29.29Paliwithout patch I see: # ls /dev/i2c*
13:29.29Pali/dev/i2c-0  /dev/i2c-1  /dev/i2c-2
13:29.33DocScrutinizer05this however doesn't "rename" I2C1
13:29.44freemangordonyep, it changes the aliases
13:30.01DocScrutinizer05I2C1 is I2C1 is I2C1
13:30.10Paliand we want starts numbering from 1
13:30.15DocScrutinizer05yes
13:30.37*** join/#neo900 NIN101 (~core@n900.quitesimple.org)
13:30.41DocScrutinizer05to stay in line with OMAP TRM
13:30.55Paliright, so we need freemangordon's patch in mainline
13:30.58DocScrutinizer05and schematics and all
13:31.13freemangordonok, I am fetching linus tree, will send a patch later
13:31.19DocScrutinizer05we should fix DT which seems fubar
13:31.50DocScrutinizer05prolly DT once again doesn't knlow how to correctly handle this
13:32.01freemangordonhmm, I'll check if NIshant is online, maybe he will want to fix the omap3.dtsi
13:32.17freemangordonno, he's mia
13:32.46DocScrutinizer05freemangordon: get some rum with tea!
13:32.51freemangordonDocScrutinizer05: no, DT is fine, it is NM's patch that numbered those that way
13:32.58DocScrutinizer05oooh
13:33.06DocScrutinizer05so we only need to revert the patch?
13:33.22DocScrutinizer05:-)
13:33.25freemangordonDocScrutinizer05: already had a coldrex (dunno if it is known in Germany), but it is paracetamol
13:33.31freemangordonDocScrutinizer05: no, we can't
13:33.41DocScrutinizer05dang!
13:33.42freemangordonas without it busses are numbered in a random order :D
13:34.00DocScrutinizer05DT is 'awesome'¡
13:34.01freemangordonis afk for a while
13:34.39DocScrutinizer05I really think DT wasn't made for embedded. No way
13:34.43Paliits not problem of DT, but way how kernel register i2c busses...
13:34.48Palisee description of: https://lkml.org/lkml/2013/10/16/744
13:35.12freemangordon:nod:
13:35.18DocScrutinizer05yeah, the kernel at large fails at consistent numbering
13:35.36DocScrutinizer05but DT doesn't help to fix the problem
13:35.58DocScrutinizer05despite I thought that's one of DT's main purposes
13:36.04Palibasically all numbering in kernel is done in way: first come, first take
13:36.15DocScrutinizer05that's idiocy
13:36.20Paliand if you need fixed number (eg. 42) you need to tell it to kernel
13:36.36Paliby default is first available (which is not reserved)
13:37.17DocScrutinizer05there should've been a mechanism like udev for this. In kernel
13:37.35Paliyes there is. in DT it is alias
13:38.10Palijust say that device XYZ has number 1, device ABC number 2, etc...
13:38.10DocScrutinizer05like "umm, this is I2C-HWADDR0x40080, and I'm told to alias it to I2C2"
13:38.43DocScrutinizer05exactly
13:39.00DocScrutinizer05so that's what's missing in DT, and it should get fixed
13:39.37Paliyes, freemangordon patch add alias, i2c1 has number 1, i2c2 has number 2, i2c2 has number 3 and nobody has number 0
13:40.09DocScrutinizer05that sounds ok, just I'd expect it getting done in DT
13:40.28DocScrutinizer05for all OMAP3, even all OMAP
13:40.47DocScrutinizer05even for all I2C
13:41.00Palifor some reasons Nishanth Menon did in patch https://lkml.org/lkml/2013/10/16/744 but starting from zero, not one
13:41.27DocScrutinizer05assigning the I2C0 pins to second function in pinmux doesn't rename I2C1 in real life, so it shouldn't in linux as well
13:41.37Palimaybe there is TI userspace which numbers it from zero (i2c1 as 0)
13:42.16DocScrutinizer05hardly
13:42.16PaliI know that developers are very creative, so I bet there can be boards which userspace needs it...
13:43.21DocScrutinizer05it's kernel devel "booohooowaaa I *want* devices get numbered starting at #0. ALWAYS!!!"
13:43.27Palihahaha, ubuntu except numbering from zero :-)
13:43.29Palinot one
13:43.49Paliexpecting /dev/i2c-0
13:44.40DocScrutinizer05in HDA/SDA they invented naming by label because of their idiotic non-stable numbering concept
13:44.44PaliI think it is because kernel devices are numbered from zero (and not one)
13:45.21Paliand they want to have same numbering in all schemes
13:45.22Palinot mess
13:45.38DocScrutinizer05it's because kernel device devels want it started at 0
13:46.05DocScrutinizer05mess == device names not in line with TRM names
13:46.23Paliyou can export device description
13:46.30Paliand write there correct name
13:46.43PaliI think that numbering of devices is not stable
13:47.21DocScrutinizer05such random numbering that has only one constant rule which is "pragma origin=0" is useful for a random set of absolutely equivalent devices *only*
13:47.47DocScrutinizer05I2C1 bus is NOT equivalent to I2C2 bus
13:47.59Palianyway if you need to use i2c bus, you need to enumerate all i2c devices in /dev/ and choose those which you want to use (check name of i2c device, etc)
13:48.05Palisame is for disks
13:48.19Pali/dev/sda does not have to be always same disk
13:48.46Paliits up to udev to do some stable numbering (e.g. using permanent cache rules)
13:49.02Pali/etc/udev/rules.d/70-persistent-cd.rules
13:49.05Pali/etc/udev/rules.d/70-persistent-net.rules
13:49.08DocScrutinizer05as I told above. it's idiocy for SDA and there you actually _could_ swap attached drives. For I2C you _never_ have any option to swap
13:49.09Palietc...
13:49.29DocScrutinizer05I2C is no pluggable interface
13:49.52DocScrutinizer05unlike SDA, USB, NET
13:49.54DocScrutinizer05...
13:50.37Paliyes, but that number is used only for userspace (if I understand correctly) and for entires in /dev/ is responsible userspace/udev
13:50.48DocScrutinizer05and unlike those, I2C is *very* low system level, other kernel drivers depend on it
13:50.49Palikernel does not have to export stable names
13:51.13Paliother kernel drivers use DT description of devices, not kernel number!
13:51.47PaliDT is device tree, you put other i2c devices to correct node in that tree
13:51.58DocScrutinizer05well, the whole thing is again a fuckup done by kernel devels who got no clue about hardware, as usual
13:53.09DocScrutinizer05how the heck is userland supposed to know which I2C bus is the right one, when they don't get stable numbering from DT or kernel itself?
13:53.41Palithey check description of i2c bus... same as for non removable hard disks
13:54.01DocScrutinizer05digging up hw addr of I2C bus in the doomed corners of /sys ?
13:54.17Palihow would I know if that disk (hitachi) is /dev/sda? and not /dev/sdb?
13:54.33DocScrutinizer05that is NOT DT!
13:54.49Paliyes, but same problem for userspace applications
13:54.54DocScrutinizer05DT has NFC which drive is plugged to which SATA interface
13:55.16DocScrutinizer05for I2C there *are no* plugs involved
13:55.31DocScrutinizer05so I expect DT do it _right_
13:55.53DocScrutinizer05and name I2C devices same way they are named in schematics and TRM
13:56.07DocScrutinizer05just like SDA is SATA bus #1
13:56.21Paliyes dt can do it right, it can aslo set "device description"
13:56.25DocScrutinizer05(the first one) always. It's written on board
13:57.15DocScrutinizer05same way I2C1 is "written on board"
13:57.23Paliif somebody in TRM decide to choose string name "i2c1 - special device" for first device, then you can specify that string name in DT for correct device
13:57.41Palibut I would say, internal kernel numbering of devices starts from zero
13:58.01DocScrutinizer05so I expect I2C1 being one bus I can point at without checking any furhter, just like I can point to SDA SATA bus jack
13:58.13Paliand from userspace, you choose i2c device with string name "i2c1 - special device" like you see in TRM
13:59.13DocScrutinizer05well, as mentioned for sATA it's even less strict since those are pluggable
13:59.58PaliOT: in some context i2c is also pluggable... (display adapters HDMI/DVI)
13:59.58DocScrutinizer05whatever sting name means
14:00.27DocScrutinizer05err still not really
14:00.38Paliyou can hotplug HDMI cable
14:00.40DocScrutinizer05it's invariably the HDMI I2C
14:01.16DocScrutinizer05and I'd wonder whom to kill if userland needs to find out which of I2C* is the one connected to the HDMI port
14:02.03Pali$ sudo i2cdetect -l
14:02.07DocScrutinizer05I look at schematics and see "aaah, that MUST be I2C-4" then use /dev/I2C-4 to access HDMI
14:02.30DocScrutinizer05dafaq! read big fat WARNING about I2Cdetect and similar stuff
14:02.56Paliits param '-l'
14:03.02Paliit just ask kernel for names
14:03.30DocScrutinizer05this definitely is NOT what userland is supposed to do, to find which /dev/i2c-* to use to talk to HDMI
14:04.00Pali-l is doing some find /sys and call ioctl which ask kernel for correct string name
14:04.03DocScrutinizer05honestly, kernel devels gone mad, or what?
14:04.31Paliyou can ask for that name via /sys/class/i2c-dev/<dev>/name
14:04.52DocScrutinizer05again, that's NOT what userland is supposed to do
14:05.04Paliwhy? this is what is suppsed to do
14:05.17DocScrutinizer05ohmy
14:05.55PaliI have two graphics cards, each card has more ports (hdmi1, hdmi2, dvi, vga, ...) and each graphics card has more i2c busses...
14:06.07Palionly one card can assign number 1 to kernel
14:06.19DocScrutinizer05those ARE NOT IN DT!!!
14:06.38Paliyou really should ask for kernel description of i2c busses
14:06.45Paliand not except some internal kernel numbering
14:07.39Palithere are other platform which do not use DT (eg. x86) and kernel cannot add special code for some platform (e.g arm) to provide other numbring in i2c subsystem
14:07.54Paliit will be big mess which is unmaintainable...
14:08.04DocScrutinizer05I don't want to check my device like transformers if it's currently configured as helicoper, boat, or jet, before I talk to the chip that's living on I2C#2 bus
14:08.37DocScrutinizer05and *always* will live on that very I2C bus, on same address
14:08.45Palithen you will ask kernel for i2c bus which has description "I2C#2 bus"
14:09.09Pali/dev/ is not stable and never it was (without udev)
14:09.11DocScrutinizer05bullshit, I will access /dev/i2c-2
14:09.28Paliis there any documentation which say that?
14:09.42DocScrutinizer05yes, 30 years of linux
14:09.59Paliread Documentation/i2c/dev-interface
14:10.11Pali"Each registered i2c adapter gets a number, counting from 0."
14:10.17DocScrutinizer05why the heck does kernel need to randomize stuff so userland needs to un-randomize it later on?
14:10.59Palibecause drivers are loaded in ranom order (and asynchronous)
14:11.02DocScrutinizer05(documentation/i2c) signed: Poettering
14:11.16DocScrutinizer05then that's a bug
14:11.44Palino, git tells me that this is since 2.6.12 (when linux moved to git)
14:11.55keriolol
14:12.07DocScrutinizer05when a driver can't tell "ooh this is hw addr 0.0080, so this is bus #2 on OMAP", not even with help of DT, then this is fubar
14:12.12Paliif you want, I can search in full linux history when was numbering from 0 introducted
14:13.03PaliDocScrutinizer05: there are two different things: 1) internal kernel numbering (which is by definitions from zero) and 2) external string description of bus
14:13.53Paliand if you did not read i2c *kernel* API 10 years ago (since which this is stable) you did not used i2c API on linux correctly
14:14.39DocScrutinizer05meh, I got better things to do than to blame kernel devels for all the idiocy they introduced and continue to introduce. With every new kernel version. I already said they are not happy when thy can't break things, if onyl for stuff like "we changed pragma origin=1 to pragma origin=0 this time"
14:15.07Palithere is one thing, userspace API is not going to break
14:15.30DocScrutinizer05just devels implementing a idiotic rule 10 years ago doesn't make it right
14:15.56DocScrutinizer05yeah, and since /sys is NOT part of userland API...
14:16.10DocScrutinizer05good luck with all that shit
14:16.17kerio"it's not how i imagined it to work therefore it's bad"
14:16.18Palifull /sys not, but some parts yes!
14:16.54Palibitkeeper tells me that numbering from zero is at least from 2002
14:18.01DocScrutinizer05numbering is worthless, no matter if from 0 or from 4711, when numbers are random anyway
14:18.14Pali"you have to decide which adapter you want to access. You should inspect /sys/class/i2c-dev/ or run "i2cdetect -l" to decide this."
14:18.21Palithis is what say API ^^^
14:18.39DocScrutinizer05now check changelog of /sys
14:18.51DocScrutinizer05brainfuck
14:18.53Pali/sys/class/i2c-dev/ is stable api
14:19.15DocScrutinizer05suuuure, since 20 years
14:19.45Palidid not you hear about Documentation/ABI/stable?
14:20.01Palibefore blaming you should read kernel docs!
14:20.03DocScrutinizer05bye
14:20.28DocScrutinizer05when kernel docs are bullshit i don't need to read them before starting ranting
14:20.47Paliyou did not read them, so you cannot say it is bullshit
14:20.57DocScrutinizer05I see the result
14:21.13DocScrutinizer05so it IS bullshit
14:21.42Paliresult of what??? that you want to use internal kernel numbering and excepting that internal numbering will be always same and stable?
14:22.18DocScrutinizer05why the f*ck is *internal* kernel nubering showing up in /dev?
14:22.31Palibecause some numbering must be used
14:22.35DocScrutinizer05sorry, I'm out. This is futile
14:23.22Palialso in output of ifconfig -a is used internal numbering
14:23.27*** join/#neo900 ashneo76 (~ashneo76@2002:47c2:f7fa:1:db49:886d:f90e:7868)
14:23.53ShadowJKSo it's a bit like /dev/sd* numbering changing across reboots etc?
14:24.18Paliyes, because kernel does not have windows like registry where to store numbering
14:24.20DocScrutinizer05yes, obviously for *all* /dev/*
14:24.33ShadowJKMy PC sometimes comes up with harddrives sda sdb sdc, sometimes sda sdf sdg
14:24.33Paliif you want stable /dev/ there is udev for it
14:24.46Wizzupsystemd-udevd * ;-)
14:24.51DocScrutinizer05since... /dev is not a stable userland API. /sys is, partially
14:25.11DocScrutinizer05:-S
14:25.27Paliif you use stable netlink daemon (= old udev version on systemded), then you can have stable /dev/
14:25.35DocScrutinizer05/dev isn't since kernel likes to randomize stuff, just for fun
14:26.00Palikernel just tell: new device with name NAME, id ID and description DESC was created
14:26.12Paliand netlink based daemon parse this message and create node in /dev/
14:26.29Paliits up to which userspace daemon will use for that
14:27.10Paliif DESC == "i2c bus number 2" ID == 0 SUBSYSTEM==I2C then its up to that daemon what will do
14:27.41Paliudev will probably create /dev/SUBSYSTEM-ID node
14:27.44DocScrutinizer05yeah, while kernel using $RANDOM for the name
14:28.17DocScrutinizer05excellent approach
14:28.18PaliDESC is what is sed by kernel driver or in DT (e.g that string from TRM), ID is first available
14:29.07Palinobody force you to use systemd or *default* udev rules (which some userspace devs created)
14:30.39Paliyou still do not see point? kernel tell you all information which you need (to userspace)
14:31.07Paliand its up to you what will you do with it (or what will your program with processing those information do)
14:33.00Palikernel must solve also problems like: two different devices (card1 and card2) provides i2c busses and both cards have bussed with number 2...
14:33.20Palii2c subsystem is generic for all platforms and must deal with this problem an all platforms
14:33.21DocScrutinizer05HUH?
14:33.33Pali(even on arm you can have 2 graphiscs cards)
14:33.34DocScrutinizer05s/i2c/usb/
14:34.50Paliand so devices are numbered internally (for historic reason from zero, not one) and its up to userspace daemon (e.g udev) if that number use for naming in /dev/ or not
14:35.59DocScrutinizer05I just wonder why kernel not simply creates /dev/device0000 to /dev/device9999 and completely hides all info that's already available to kernel drivers, like i2c bus number. after all some platform could have TWO fans or TWO power supplies or even 5 power switches
14:37.59Palibecause it is created by userspace, not kernel :-)
14:38.00DocScrutinizer05all the info would go to /sys so later on userland may find out what the heck is /dev/device4711
14:38.38Paliok, seems you totally did not understand it
14:38.48DocScrutinizer05what? /dev/ nodes are created by userland?
14:38.50Pali/dev/ nodes are created by userspace
14:38.59Pali/sys/ is exported by kernel
14:39.02Pali/proc/ by kernel too
14:39.54dos1(/dev/ nodes are created by userspace) unless you use devtmpfs
14:39.55Paliudev monitoring /sys (or waiting for messages from AF_NETLINK socket) and with information from rules it populates /dev/
14:40.15keriodos1: rip devtmpfs ;-;
14:40.41DocScrutinizer05then what the fuck is the problem of DT with I2C numbering?
14:40.45Palinew versions of linux have devtmpfs pseudo FS, which automatically create devices in /dev/ by schme which was used by by some version of udev
14:40.49DocScrutinizer05why did it even change?
14:41.01DocScrutinizer05while maemo userland clearly NOT changed
14:41.43Palimaemo usersland incorrectly use /dev/i2c* devices
14:42.04DocScrutinizer05if what you say was 100% correct, the I2C names must not change by changing kernel
14:42.06Palinokia hardcoded /dev/i2c* files instead checking bus description
14:42.50Paliand they hardcoded i2c device IDS into n900 board files as 1,2,3
14:42.59Paliand violated i2c documentation in kernel
14:43.01DocScrutinizer05yes, since that's a sane thing to do, since the hardware never chabges, so why not hardcode it?
14:43.06DocScrutinizer05changes*
14:43.12*** join/#neo900 arcean (~arcean@aacv34.neoplus.adsl.tpnet.pl)
14:43.28ShadowJKAnd since the OS uses busybox, why bother testing scripts in bash :D
14:43.33Paliand because it was used for a long time, we do not want to break it... and because fix is very easy and *only* for n900, we can send patch for it
14:43.44Paliwhich does not introduce problems for other devices
14:43.58DocScrutinizer05ShadowJK: ...and dash and tcsh and csh and...
14:44.12DocScrutinizer05no way
14:44.43Pali"<DocScrutinizer05> yes, since that's a sane thing to do, since the hardware never chabges, so why not hardcode it?" because internal kernel i2c numbering has nothing with it
14:45.06Palisame as for network devices in network subsystem
14:45.12DocScrutinizer05if that would be true, who cares about kernel anyway?
14:45.33DocScrutinizer05fsck DT!
14:45.47Paliwe, becase we have closed nokia apps which we would like to run
14:45.58DocScrutinizer05aha
14:46.00Paliand we cannot fix those nokia closed apps
14:46.05DocScrutinizer05aha
14:46.18DocScrutinizer05and that causes kenel to change device names how?
14:46.33DocScrutinizer05DT == 100% cruft
14:47.01Paliwhat caused changing internal kernel numbers? DT conversion...
14:47.09DocScrutinizer05DT == 100% cruft
14:47.54Paliit would be same, if you change DT code back to board code
14:48.14PaliDT is more easier to describe HW asn that board code...
14:48.49DocScrutinizer05yeah, of course¡ that's why we got wrong I2C names now
14:48.51Paliand before deleting board code from kernel permanently, we were asked to check and *report* regressions
14:49.01Paliso to minimalize problems
14:49.15Paliand one is also i2c numbering...
14:49.33Palinote that legacy board code for n900 was not removed yet!
14:49.42DocScrutinizer05"lemme introduce some DT cruft that does nothing to improve the system. Please check for regressions!"
14:50.04Palinope, it improve this ARM mess situation
14:50.18DocScrutinizer05aha, yeah I see that clearly
14:50.19Palilegacy board code is one big mess in ARM
14:50.26DocScrutinizer05it worked
14:50.35Palidid you see it?
14:50.50DocScrutinizer05why would I even look at it?
14:51.11Palito understand that board is is really worse then DT
14:53.03DocScrutinizer05you won't convince a dog about quality of dogfood by showing him the printing on label
14:53.12DocScrutinizer05it worked
14:53.25DocScrutinizer05so again, why would I look at it?
14:54.03DocScrutinizer05to understand why kernel devels feel like messing around with a new concept that THEY think THEY can understand more easily?
14:54.06PaliDocScrutinizer05: it worked but was not easy to extend that code
14:54.25Paliand do not rememember that we still have subsystems (like camera) which is not supported by upstream kernel yet
14:54.34Paliand one reason is that big mess in board code
14:54.47PaliDT is not new concept
14:54.54DocScrutinizer05no, reason is the mess in DT
14:54.55Paliits very old and now stable and used
14:55.05freemangordonPali: "do not remember" == "do not forget"?
14:55.37Palifreemangordon: what?
14:55.49freemangordon(16,54,24) Pali: and do not rememember that we still have subsystems (like camera) which is not supported by upstream kernel yet
14:56.11Paliright, forget :D
14:56.25freemangordon:)
14:56.25DocScrutinizer05anyway, futile discussion
14:57.18DocScrutinizer05I think embedded best uses "momolithic" kernel, not general purpose kernel that also could run on a IBM3500
14:57.42DocScrutinizer05thus hardcoded I2C is exactly the thing I'd prefer
14:57.57freemangordonDocScrutinizer05: noone says the must be only one kernel that fits them all
14:57.58DocScrutinizer05while DT is 100% useless
14:58.04freemangordon*there
14:58.32DocScrutinizer05bbl
14:58.44freemangordonomap2plus config (for example) is not for production )and that is even admitted by the kernel devs)
15:10.16DocScrutinizer05freemangordon: pali: please note http://projects.goldelico.com/p/neo900/issues/678/
15:10.58*** join/#neo900 norly (~norly@enpas.org)
15:12.51DocScrutinizer05thanks for your contributions which are appreciated and helped speeding up stuff
15:12.57DocScrutinizer05:-)
15:13.02Paliu-boot needs CONFIG_ONENAND
15:13.07DocScrutinizer05yes
15:13.19Palikernel: needs to modify DT
15:13.24DocScrutinizer05yes
15:13.36Paliand also u-boot (to specify 1GB and not 512M)
15:13.51Palibecause u-boot pass memory ATAG to kernel
15:14.03DocScrutinizer05for DT I hope for patches from your side, to offload some development workload from Nikolaus
15:14.12DocScrutinizer05for uBoot same
15:14.42DocScrutinizer05NB we're not using maemo kernel here
15:15.04Palithat board is omap3-beagle or omap3-beagle-xm-ab or omap3-beagle-xm?
15:15.30DocScrutinizer05Pali: you received that mail digest I forwarded to you?
15:15.42Paliyes, I recevided one looong email
15:16.18DocScrutinizer05that was backlog
15:16.35DocScrutinizer05further new mails will come in piecemeal
15:17.32Palione long email = email with lot of parts (and each part has mimetype message/rfc822)
15:17.36DocScrutinizer05the board is a beagleboard-xM
15:18.11Palineeds to edit memory in linux kernel: arch/arm/boot/dts/omap3-beagle-xm.dts
15:18.14DocScrutinizer05(mimetype) is this an inconvenient format for you?
15:18.33Palifor me its ok :-)
15:18.41DocScrutinizer05good
15:19.33Palialso adding content-disposition: inline for text parts is good
15:19.34DocScrutinizer05would you like to join the ML?
15:20.30DocScrutinizer05it's sort of low traffic volume usually, so please don't spam it with too much stuff for Nik to keep up with
15:21.26DocScrutinizer05other than that there's no sekrit sauce on the ML, just as name says: internal-devel
15:39.18*** join/#neo900 hbib (~user@xdsl-87-79-219-57.netcologne.de)
15:41.27*** join/#neo900 norly (~norly@enpas.org)
15:45.26*** join/#neo900 hbib (~user@xdsl-87-79-219-57.netcologne.de)
15:46.26*** part/#neo900 hbib (~user@xdsl-87-79-219-57.netcologne.de)
15:50.06freemangordonPali: patch sent
15:50.50Paligot it
15:51.48*** join/#neo900 norly (~norly@enpas.org)
16:09.21*** join/#neo900 hbib (~user@xdsl-87-79-219-57.netcologne.de)
16:10.13*** part/#neo900 hbib (~user@xdsl-87-79-219-57.netcologne.de)
16:30.34*** join/#neo900 nicksydney (~quassel@61.155.dsl.syd.iprimus.net.au)
18:13.03*** join/#neo900 modem (~modem@fsf/member/modem)
19:12.28*** join/#neo900 sparetire (~sparetire@unaffiliated/sparetire)
19:39.53*** join/#neo900 webmeister (webmeister@unaffiliated/webmeister)
19:41.39*** join/#neo900 b1101 (~b@fsf/member/b1101)
23:20.51*** join/#neo900 norly (~norly@enpas.org)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.