OSDN Git Service

ALSA: dice: Split transaction functionality into a file
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 28 Nov 2014 15:59:13 +0000 (00:59 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sat, 29 Nov 2014 19:04:15 +0000 (20:04 +0100)
commit7c2d4c0cf5bacb42bc3079e61d299dfaa3dbdde5
tree6ff440320390f383d2af28128e409a56b4f5feb5
parent14ff6a094815988b018ea4d698c2e2cc3ceee27c
ALSA: dice: Split transaction functionality into a file

This commit adds a file with some helper functions for transaction, and move
some codes into the file with some arrangements.

For Dice chipset, well-known FCP or AV/C commands are not used to control
devices. It's achieved by read/write transactions into specific addresses.

Dice's address area is split into 5 areas. Each area has its own role. The
offset for each area can be got by reading head of the address area. By
reading these areas, drivers can get to know device status. By writing these
areas, drivers can change device status.

Dice has a specific mechanism called as 'notification'. When device status is
changed, Dice devices tells the event by sending transaction. This notification
is sent to an address which drivers register in advance. But this causes an
issue to drivers.

To handle the notification, drivers need to allocate its own callback function
to the address region in host controller. This region is exclusive. For the
other applications, drivers must give a mechanism to read the received
notification. For this purpose, Dice driver already implements hwdep interface.

Dice chipset doesn't allow drivers to register several addresses. In this
reason, when this driver is applied to a device, the other drivers should
_not_ try to register its own address to the device.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/dice/Makefile
sound/firewire/dice/dice-transaction.c [new file with mode: 0644]
sound/firewire/dice/dice.c
sound/firewire/dice/dice.h [new file with mode: 0644]