| TODOs |
| ----- |
| 1. Implement retries for RCODE_BUSY, RCODE_NO_ACK and RCODE_SEND_ERROR |
| - I/O is handled asynchronously which presents some issues when error |
| conditions occur. |
| 2. Implement _robust_ console on top of this. The existing prototype console |
| driver is not ready for the big leagues yet. |
| 3. Expose means of controlling attach/detach of peers via sysfs. Include |
| GUID-to-port matching/whitelist/blacklist. |
| |
| -- Issues with firewire stack -- |
| 1. This driver uses the same unregistered vendor id that the firewire core does |
| (0xd00d1e). Perhaps this could be exposed as a define in |
| firewire-constants.h? |
| 2. MAX_ASYNC_PAYLOAD needs to be publicly exposed by core/ohci |
| - otherwise how will this driver know the max size of address window to |
| open for one packet write? |
| 3. Maybe device_max_receive() and link_speed_to_max_payload() should be |
| taken up by the firewire core? |
| 4. To avoid dropping rx data while still limiting the maximum buffering, |
| the size of the AR context must be known. How to expose this to drivers? |
| 5. Explore if bigger AR context will reduce RCODE_BUSY responses |
| (or auto-grow to certain max size -- but this would require major surgery |
| as the current AR is contiguously mapped) |
| |
| -- Issues with TTY core -- |
| 1. Hack for alternate device name scheme |
| - because udev no longer allows device renaming, devices should have |
| their proper names on creation. This is an issue for creating the |
| fwloop<n> device with the fwtty<n> devices because although duplicating |
| roughly the same operations as tty_port_register_device() isn't difficult, |
| access to the tty_class & tty_fops is restricted in scope. |
| |
| This is currently being worked around in create_loop_device() by |
| extracting the tty_class ptr and tty_fops ptr from the previously created |
| tty devices. Perhaps an add'l api can be added -- eg., |
| tty_{port_}register_named_device(). |