Thread (13 messages) 13 messages, 3 authors, 2014-12-13

__hci_cmd_sync() not suitable for nokia h4p

flat view

From: marcel@holtmann.org (Marcel Holtmann)
Date: 2014-12-12 12:28:11
Also in: linux-bluetooth, linux-omap, lkml

Hi Pavel,
quoted
quoted
quoted
quoted
quoted
What needs to be done is the bring up of the device including the proper UART settings and speed and then just run the firmware downloads. All firmware files on the Nokia devices where just HCI commands with vendor specific details. Some from CSR, some from Broadcom and some from TI. You can actually decode them if you really want to. Shouldn't be that hard.
Speed changes at the end of firmware load, but I guess that's detail?
Anyway, patch would look like this.
You should really look into providing hdev->setup() callback. That is normally the callback where you want to load the firmware.
I can provide setup() callback and load firmware from there.

I have created provisional device tree binding, and the driver still
works.

Some time ago you mentioned that with the "big" issues fixed, you'd be
willing to take it into the tree. What way forward do you see? Would
it make sense to re-enable the driver in staging, so that "big"
changes could be applied, followed by renames?
If the driver is clean, there is no point in taking it through staging. It can be cleaned up and then merged all together.
Ok, so you can revert a4102f90e87cfaa3fdbed6fdf469b23f0eeb4bfd in your
tree, and I can post patches against that?
just treat this a submission of a new driver.
quoted
I think the important part is to focus on the N900 derivative with
the Broadcom chip inside. And just ignore all the rest. So start
small and do not try to carry the N770, N800, N810 hacks over.
Well, I did remove non-relevant firmware loaders, and I can remove the
switches for different firmware loaders, too, but spending time
removing support for different hardware does not sound quite right.
Lets face it, you are not getting it upstream that way. If nobody has the hardware to test it or cares about the hardware anymore, then this should not be upstream in the first place.

Make your life easier and get your hardware supported. Then someone can evolve this for older Nokia devices. But I am not taking code that nobody has tested.

Keep it simple is really the only way to get this driver merged. There is so much old cruft in there that you are better off only caring about the N900 version of the hardware.
quoted
However you might want to check Neil Brown's patches for TTY-slave
devices he just posted. Maybe the N900 devices should be exposed as
TTY and we just attach N_HCI line discipline to it. If all the GPIO
wiggling can be done automatically at TTY open, then that should be
the way to go. I also send an email about using the new unconfigured
stage to get this done cleanly.
I seen them, but they don't help, I'm afraid. The GPIOs are used for
power saving, and they are used in various places including the serial
irq handler.
That is something that might need some extra work on it, but it seems that the general direction of TTY slaves is the right one.

Anyway, the main order of business is really that it supports DT and that it can be compiled on every single platform and you could even load the driver on x86 without doing any harm.

Regards

Marcel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help