первый водитель - spi структура для Linux

This is first time i am writing a driver for linux SPI framework for ADS7846. Found this excellent tutorial to understand the concept of linux SPI :--- http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=57&Itemid=62

It also have a sample co-de. https://github.com/scottellis/spike/blob/part3/spike.c

1> Few points which i was not able to get why we are using semaphore befor accessing -- spike_dev.user_buff.

нам действительно нужен семафор? Поскольку за один раз моя прикладная программа willonly прочитанный() или пишет() или открытый() водитель?

2> Also to select the chip select we are using :-- /* specify a chip select line */

SPI_BUS_CS1

Здесь, почему мы не specifing, с которым ПОРТ будет CS - линия быть связанным?

3> As what i have read spinlock should be used with interupt handler. Also what is the use of this spinlock in the driver. Here we do not have spi Interupt handler.But while accessing -- spi_async & spi_device -- we are using spinlock ?

spin_lock_irqsave spi_async spin_unlock_irqrestore

4> Also can we have multiple "protocol drivers" registered to same SPI device ?

Любое предложение будет цениться.

0
добавлено
Просмотры: 2
nl ja de

1 ответы

2> it is could be mentioned in .controllerdata the bus num and chipselect is to enumerate the SPI devices

3> it is used for taks which can sleep

0
добавлено
Linux Help
Linux Help
2 686 участник(ов)

Правила: https://telegra.ph/Pravila-Linux-Help-10-15

Linux Security
Linux Security
652 участник(ов)

Данная группа принципиально про безопасность и в частности про безопасность Linux. Прочие темы просим обсуждать в профильных чатах.

Linux Gaming RUS
Linux Gaming RUS
28 участник(ов)

Русскоязычный чатик, посвящённый играм на различных дистрибутивах Linux, а также wine, proton Arch Linux RU @ArchLinuxChatRU Gnome RU @gnome_ru