diff -u lirc-0.8.2/debian/changelog lirc-0.8.2/debian/changelog --- lirc-0.8.2/debian/changelog +++ lirc-0.8.2/debian/changelog @@ -1,3 +1,17 @@ +lirc (0.8.2-0ubuntu6) gutsy; urgency=low + + * Add 20_serial_igor.dpatch for additional serial kernel module + that is built with Igor Cesko support. (LP: #138247) + * debian/patches/21_atiusb.dpatch: + - for support of first generation ATI RF remote. (LP: #139238) + - snapstream firefly support. (LP: #140060) + * debian/lirc.postinst, debian/lirc.postrm, debian/lirc.templates: + - Blacklist lirc_atiusb.ko when necessary (LP: #139961) + * debian/rules, debian/lirc.preinst: + - Update the service to start after alsa-utils (LP: #123557) + + -- Mario Limonciello Mon, 17 Sep 2007 01:56:54 -0500 + lirc (0.8.2-0ubuntu5) gutsy; urgency=low [ Mario Limonciello ] diff -u lirc-0.8.2/debian/patches/00list lirc-0.8.2/debian/patches/00list --- lirc-0.8.2/debian/patches/00list +++ lirc-0.8.2/debian/patches/00list @@ -12,0 +13,2 @@ +20_serial_igor.dpatch +21_atiusb.dpatch diff -u lirc-0.8.2/debian/rules lirc-0.8.2/debian/rules --- lirc-0.8.2/debian/rules +++ lirc-0.8.2/debian/rules @@ -188,7 +188,7 @@ # dh_installemacsen # dh_installpam # dh_installmime - dh_installinit -s --update-rcd-params="defaults 19" + dh_installinit -s --update-rcd-params="defaults 51" dh_installcron -s dh_installinfo -s dh_installmodules -s diff -u lirc-0.8.2/debian/lirc.postrm lirc-0.8.2/debian/lirc.postrm --- lirc-0.8.2/debian/lirc.postrm +++ lirc-0.8.2/debian/lirc.postrm @@ -7,6 +7,7 @@ if [ "$1" = "purge" ]; then [ -x /usr/sbin/update-devfsd ] && /usr/sbin/update-devfsd >&2 + rm -f /etc/modprobe.d/lirc # rm -f /etc/lircd.conf.old /etc/lircd.conf.new fi diff -u lirc-0.8.2/debian/lirc.postinst lirc-0.8.2/debian/lirc.postinst --- lirc-0.8.2/debian/lirc.postinst +++ lirc-0.8.2/debian/lirc.postinst @@ -111,7 +111,7 @@ { #Find the current remote configuration db_get lirc/remote - OLDREMOTE=$RET + OLDREMOTE="$RET" #Present the user with some choices #To later explain what this is actually doing without man pages: @@ -155,6 +155,13 @@ else db_set lirc/driver "" fi + + #For atilibusb, we need to blacklist the kernel module + if [ "$DRIVER" = "atilibusb" ]; then + db_set lirc/blacklist "lirc_atiusb" + else + db_set lirc/blacklist "" + fi db_go elif [ "$CHOSEN_REMOTE" = "None" ]; then db_fset lirc/reconfigure config_changed true @@ -165,6 +172,28 @@ fi } +Setup_Blacklist() +{ + db_get lirc/blacklist + BLACKLIST=$RET + if [ ! -z "$BLACKLIST" ]; then + cat > /etc/modprobe.d/lirc < /dev/null; then + rmmod $BLACKLIST + fi + else + rm -f /etc/modprobe.d/lirc + + fi +} + + . /usr/share/debconf/confmodule if [ "$1" = "configure" ]; then @@ -176,6 +205,9 @@ #parse the lirc.hwdb to find our remote ChooseRemote + #Prepare the blacklisting for necessary modules + Setup_Blacklist + db_fget lirc/reconfigure config_changed CONFIG_CHANGED=$RET db_fset lirc/reconfigure config_changed false diff -u lirc-0.8.2/debian/lirc.templates lirc-0.8.2/debian/lirc.templates --- lirc-0.8.2/debian/lirc.templates +++ lirc-0.8.2/debian/lirc.templates @@ -74,6 +74,12 @@ You should not see this template as it is used internally by the maintainer scripts, please report this as a bug. +Template: lirc/blacklist +Type: string +Description: blacklisted kernel modules: + You should not see this template as it is used internally by the + maintainer scripts, please report this as a bug. + Template: lirc/cflags Type: string Description: Hint for lirc-modules-source: diff -u lirc-0.8.2/debian/po/cs.po lirc-0.8.2/debian/po/cs.po --- lirc-0.8.2/debian/po/cs.po +++ lirc-0.8.2/debian/po/cs.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: lirc\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-09-26 11:34+0200\n" "Last-Translator: Miroslav Jezbera \n" "Language-Team: Czech \n" @@ -407,13 +407,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "Mìl by lircmd pou¾ívat IntelliMouse protokol místo IMP2/2" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -425,7 +425,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -437,19 +437,19 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "POZNÁMKA: gpm odmítne pou¾ívat lircmd jako my¹ s protokolem IMPS/2." #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "Smazat /var/log/lircd?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -459,7 +459,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -469,13 +469,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/fr.po lirc-0.8.2/debian/po/fr.po --- lirc-0.8.2/debian/po/fr.po +++ lirc-0.8.2/debian/po/fr.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: lirc 0.8.0\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-08-20 20:42+0200\n" "Last-Translator: Jean-Luc Coulon (f5ibh) \n" "Language-Team: French \n" @@ -422,13 +422,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd devrait utiliser le protocole IntelliMouse à la place d'IMPS/2." #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -440,7 +440,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -453,7 +453,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "Note : lircmd ne pourra pas être utilisé comme souris par gpm si vous " @@ -461,13 +461,13 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "Faut-il effacer /var/log/lircd ?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -477,7 +477,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -487,13 +487,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/templates.pot lirc-0.8.2/debian/po/templates.pot --- lirc-0.8.2/debian/po/templates.pot +++ lirc-0.8.2/debian/po/templates.pot @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -344,13 +344,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -359,7 +359,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -368,19 +368,19 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -388,7 +388,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -396,13 +396,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/da.po lirc-0.8.2/debian/po/da.po --- lirc-0.8.2/debian/po/da.po +++ lirc-0.8.2/debian/po/da.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: lirc 0.6.6-12\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2005-12-12 20:41+0100\n" "Last-Translator: Morten Brix Pedersen \n" "Language-Team: Danish \n" @@ -394,13 +394,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd skal bruge IntelliMouse protokol istedet for IMPS/2" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -412,7 +412,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -424,20 +424,20 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "BEMÆRK: gpm vil nægte at bruge lircmd som en mus med IMPS/2 protokol." #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 #, fuzzy msgid "Delete /var/log/lircd?" msgstr "Skal jeg slette /var/log/lircd?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -447,7 +447,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -457,13 +457,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/vi.po lirc-0.8.2/debian/po/vi.po --- lirc-0.8.2/debian/po/vi.po +++ lirc-0.8.2/debian/po/vi.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: lirc 0.7.1pre2-6\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2005-12-12 20:44+0100\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" @@ -383,13 +383,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd nên dùng giao thức IntelliMouse thay vào IMPS/2" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -400,7 +400,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -412,20 +412,20 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "Ghi chú: gpm sẽ từ chối dùng lircmd là con chuá»™t vá»›i giao thức IMPS/2." #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 #, fuzzy msgid "Delete /var/log/lircd?" msgstr "Bạn có muốn xóa bỠ«/var/log/lircd» không?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -435,7 +435,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -443,13 +443,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/sv.po lirc-0.8.2/debian/po/sv.po --- lirc-0.8.2/debian/po/sv.po +++ lirc-0.8.2/debian/po/sv.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: lirc 0.7.1pre2-9\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2005-11-17 02:25+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -396,13 +396,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd bör använda IntelliMouse-protokollet istället för IMPS/2." #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -414,7 +414,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -426,7 +426,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "NOTERA: gpm kommer att vägra använda lircmd som en mus med IMPS/2-" @@ -434,14 +434,14 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 #, fuzzy msgid "Delete /var/log/lircd?" msgstr "Ska jag ta bort /var/log/lircd?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -451,7 +451,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -461,13 +461,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/ja.po lirc-0.8.2/debian/po/ja.po --- lirc-0.8.2/debian/po/ja.po +++ lirc-0.8.2/debian/po/ja.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: lirc\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-07-26 22:00+0900\n" "Last-Translator: Kenshi Muto \n" "Language-Team: Japanese \n" @@ -401,13 +401,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd 㯠IMPS/2 ã®ä»£ã‚ã‚Šã« IntelliMouse プロトコルを使ã„ã¾ã™" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -419,7 +419,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -431,20 +431,20 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "注æ„: gpm 㯠lircmd ã‚’ IMPS/2 プロトコルã®ãƒžã‚¦ã‚¹ã¨ã—ã¦ä½¿ã†ã®ã‚’許ã—ã¾ã›ã‚“。" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "/var/log/lircd を削除ã—ã¾ã™ã‹?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -454,7 +454,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -464,13 +464,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/nl.po lirc-0.8.2/debian/po/nl.po --- lirc-0.8.2/debian/po/nl.po +++ lirc-0.8.2/debian/po/nl.po @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: lirc_0.8.0-5_nl\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-06-15 20:03+0100\n" "Last-Translator: Kurt De Bree \n" "Language-Team: Dutch \n" @@ -417,13 +417,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd zou het IntelliMouse-protocol i.p.v. IMPS/2 moeten gebruiken." #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -435,7 +435,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -447,7 +447,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "MERK OP: gpm zal weigeren om lircmd met het IMPS/2-protocol te gebruiken als " @@ -455,13 +455,13 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "Wilt u dat /var/log/lircd verwijderd wordt?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -471,7 +471,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -481,13 +481,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/de.po lirc-0.8.2/debian/po/de.po --- lirc-0.8.2/debian/po/de.po +++ lirc-0.8.2/debian/po/de.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: lirc 0.7\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-05-18 16:34+0200\n" "Last-Translator: Franz Pletz \n" "Language-Team: German \n" @@ -420,7 +420,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "" "lircmd sollte anstatt des IMPS/2 Protokoll das IntelliMouse Protokoll " @@ -428,7 +428,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -440,7 +440,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -452,7 +452,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "Hinweis: gpm wird sich weigern lircmd als Maus mit dem IMPS/2 Protokoll zu " @@ -460,14 +460,14 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 #, fuzzy msgid "Delete /var/log/lircd?" msgstr "Soll /var/log/lircd gelöscht werden?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -477,7 +477,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -487,13 +487,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/pt.po lirc-0.8.2/debian/po/pt.po --- lirc-0.8.2/debian/po/pt.po +++ lirc-0.8.2/debian/po/pt.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: lirc 0.8.0-4\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-06-12 23:34+0100\n" "Last-Translator: Rui Branco \n" "Language-Team: Portuguese \n" @@ -401,13 +401,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "O lircmd deverá usar o protocolo IntelliMouse·em vez do IMPS/2" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -419,7 +419,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -431,20 +431,20 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "" "Nota: o gpm recusará utilizar o lircmd como um rato com o protocolo IMPS/2." #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "Apagar /var/log/lircd?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -454,7 +454,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -464,13 +464,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " diff -u lirc-0.8.2/debian/po/es.po lirc-0.8.2/debian/po/es.po --- lirc-0.8.2/debian/po/es.po +++ lirc-0.8.2/debian/po/es.po @@ -15,7 +15,7 @@ msgstr "" "Project-Id-Version: 0.8.0\n" "Report-Msgid-Bugs-To: ubuntu-devel-discuss@lists.ubuntu.com\n" -"POT-Creation-Date: 2007-08-10 03:40-0500\n" +"POT-Creation-Date: 2007-09-17 02:28-0500\n" "PO-Revision-Date: 2006-09-28 19:10+0200\n" "Last-Translator: Héctor García Ãlvarez \n" "Language-Team: LANGUAGE \n" @@ -415,13 +415,13 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "lircmd should use the IntelliMouse protocol instead of IMPS/2" msgstr "lircmd debería usar el protocolo IntelliMouse en vez de IMPS/2" #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "The method lircmd uses to simulate a mouse is not compatible with IMPS/2 " "protocol, so the IntelliMouse support has been added and is now the " @@ -433,7 +433,7 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "" "You ARE currently using lircmd with IMPS/2 protocol and are encouraged to " "update /etc/lirc/lircmd.conf and the configuration of any program which uses " @@ -445,19 +445,19 @@ #. Type: note #. Description -#: ../lirc.templates:13001 +#: ../lirc.templates:14001 msgid "NOTE: gpm will refuse to use lircmd as a mouse with IMPS/2 protocol." msgstr "NOTA: gpm se negará a usar lircmd como ratón con el protocolo IMPS/2." #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "Delete /var/log/lircd?" msgstr "¿Borrar /var/log/lircd?" #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "LIRC now uses syslog as a logging mechanism. This means that /var/log/lircd " "is not anymore pertinent." @@ -467,7 +467,7 @@ #. Type: boolean #. Description -#: ../lirc.templates:14001 +#: ../lirc.templates:15001 msgid "" "If you answer 'no' to this question /var/log/lircd will be left there and " "you will have to take care of it yourself." @@ -477,13 +477,13 @@ #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "Choose a remote if you would like to preload a configuration:" msgstr "" #. Type: select #. Description -#: ../lirc.templates:15001 +#: ../lirc.templates:16001 msgid "" "If you choose a remote, already have a configuration file in /etc/lirc/lircd." "conf, the existing file will be renamed to /etc/lirc/lircd.conf.dpkg-old and " only in patch2: unchanged: --- lirc-0.8.2.orig/debian/patches/21_atiusb.dpatch +++ lirc-0.8.2/debian/patches/21_atiusb.dpatch @@ -0,0 +1,465 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 21_atiusb.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad lirc-0.8.2~/doc/lirc.hwdb lirc-0.8.2/doc/lirc.hwdb +--- lirc-0.8.2~/doc/lirc.hwdb 2007-09-17 03:30:06.000000000 -0500 ++++ lirc-0.8.2/doc/lirc.hwdb 2007-09-17 03:30:19.000000000 -0500 +@@ -111,8 +111,8 @@ + ADSTech USBX-707 USB IR Blaster;usbx;none;hw_usbx;adstech/lircd.conf.usbx-707; + Apple Mac mini USB IR Receiver;macmini;none;hw_macmini;apple/lircd.conf.macmini; + Asus DH USB Remote;asusdh;none;hw_asusdh;asus/lircd.conf.asusdh; +-ATI/NVidia/X10 I & II RF Remote;atiusb;lirc_dev lirc_atiusb;hw_default;atiusb/lircd.conf.atiusb; +-ATI/NVidia/X10 RF Remote (userspace);atilibusb;none;hw_atilibusb;atiusb/lircd.conf.atilibusb; ++ATI/NVidia/Snapstream X10 RF (kernel);atiusb;lirc_dev lirc_atiusb;hw_default;atiusb/lircd.conf.atiusb; ++ATI/NVidia/Snapstream X10 RF (userspace);atilibusb;none;hw_atilibusb;atiusb/lircd.conf.atilibusb; + Creative USB IR Receiver (SB0540);sb0540;none;hw_sb0540;creative/lircd.conf.alsa_usb; + COMMANDIR USB Transceiver;cmdir;lirc_dev commandir lirc_cmdir;hw_default;; + Dign HV5 HTPC IR/VFD Module;sasem;lirc_dev lirc_sasem;hw_default;sasem/lircd.conf.sasem; +diff -urNad lirc-0.8.2~/remotes/atiusb/lircd.conf.atilibusb lirc-0.8.2/remotes/atiusb/lircd.conf.atilibusb +--- lirc-0.8.2~/remotes/atiusb/lircd.conf.atilibusb 2007-05-05 07:24:00.000000000 -0500 ++++ lirc-0.8.2/remotes/atiusb/lircd.conf.atilibusb 2007-09-17 03:30:06.000000000 -0500 +@@ -85,3 +85,199 @@ + end codes + + end remote ++ ++# ++# contributed by Michael Haas ++# ++# brand: ATI "RF Remote Control" (first generation) ++# model no. of remote control: Part #: 5000023600 ++# FCC ID: B4SUR84A ++# picture: http://www.mythtv.org/wiki/index.php/Image:Remotewonder1.jpg ++# receiver: http://www.mythtv.org/wiki/index.php/Image:Remotewonder2.jpg ++# ++# I created this new config file because the one for the ati remote wonder II ++# did not work for me. ++ ++begin remote ++ ++ name ati_remote_wonder_rf ++ bits 40 ++ eps 30 ++ aeps 100 ++ ++ one 0 0 ++ zero 0 0 ++ gap 147991 ++ toggle_bit 0 ++ ++ begin codes ++ 0 0x14DC170000 ++ 1 0x14D20D0000 ++ 2 0x14D30E0000 ++ 3 0x14D40F0000 ++ 4 0x14D5100000 ++ 5 0x14D6110000 ++ 6 0x14D7120000 ++ 7 0x14D8130000 ++ 8 0x14D9140000 ++ 9 0x14DA150000 ++ volup 0x14CD080000 ++ voldown 0x14CE090000 ++ mute 0x14CF0A0000 ++ chup 0x14D00B0000 ++ chdown 0x14D10C0000 ++ mouse_up 0x1437720000 ++ mouse_down 0x1438730000 ++ mouse_left 0x1435700000 ++ mouse_right 0x1436710000 ++ mouse_up_right 0x143A750000 ++ mouse_down_right 0x143B760000 ++ mouse_up_left 0x1439740000 ++ mouse_down_left 0x143C770000 ++ right_click 0x14417C0000 ++ left_click 0x143D780000 ++ hand 0x14CC070000 ++ book 0x14CB060000 ++ ? 0x14CA050000 ++ dvd 0x14C9040000 ++ tv 0x14C8030000 ++ a 0x14C5000000 ++ b 0x14C6010000 ++ power 0x14C7020000 ++ stop 0x14ED280000 ++ pause 0x14EE290000 ++ fforward 0x14EB260000 ++ rec 0x14EC270000 ++ rewind 0x14E9240000 ++ play 0x14EA250000 ++ d 0x14E01B0000 ++ c 0x14DE190000 ++ e 0x14E6210000 ++ f 0x14E8230000 ++ right 0x14E41F0000 ++ left 0x14E21D0000 ++ up 0x14DF1A0000 ++ down 0x14E7220000 ++ ok 0x14E31E0000 ++ timer 0x14E11C0000 ++ shrink_resize 0x14E5200000 ++ menu 0x14DB160000 ++ check 0x14DD180000 ++ end codes ++ ++end remote ++ ++begin remote ++ ++name Snapstream Firefly ++bits 40 ++eps 30 ++aeps 100 ++ ++one 0 0 ++zero 0 0 ++gap 219964 ++toggle_bit 0 ++ ++ ++begin codes ++MAXI 0x0000001481AC0000 ++MAXI 0x00000014012C0000 ++CLOSE 0x00000014D7020000 ++CLOSE 0x0000001457820000 ++1 0x00000014628D0000 ++1 0x00000014E20D0000 ++2 0x00000014E30E0000 ++2 0x00000014638E0000 ++3 0x00000014648F0000 ++3 0x00000014E40F0000 ++4 0x00000014E5100000 ++4 0x0000001465900000 ++5 0x0000001466910000 ++5 0x00000014E6110000 ++6 0x00000014E7120000 ++6 0x0000001467920000 ++7 0x0000001468930000 ++7 0x00000014E8130000 ++8 0x00000014E9140000 ++8 0x0000001469940000 ++9 0x000000146A950000 ++9 0x00000014EA150000 ++0 0x00000014EC170000 ++0 0x000000146C970000 ++BACK 0x000000146B960000 ++BACK 0x00000014EB160000 ++ENT 0x00000014ED180000 ++ENT 0x000000146D980000 ++VOL+ 0x000000145E890000 ++VOL+ 0x00000014DE090000 ++VOL- 0x000000145D880000 ++VOL- 0x00000014DD080000 ++MUTE 0x000000145F8A0000 ++MUTE 0x00000014DF0A0000 ++FIREFLY 0x0000001455800000 ++FIREFLY 0x00000014D5000000 ++CH+ 0x00000014608B0000 ++CH+ 0x00000014E00B0000 ++CH- 0x00000014618C0000 ++CH- 0x00000014E10C0000 ++INFO 0x0000001483AE0000 ++INFO 0x00000014032E0000 ++OPTION 0x0000001484AF0000 ++OPTION 0x00000014042F0000 ++UP 0x000000146F9A0000 ++UP 0x00000014EF1A0000 ++LEFT 0x00000014729D0000 ++LEFT 0x00000014F21D0000 ++DOWN 0x0000001477A20000 ++DOWN 0x00000014F7220000 ++RIGHT 0x00000014749F0000 ++RIGHT 0x00000014F41F0000 ++OK 0x00000014739E0000 ++OK 0x00000014F31E0000 ++MENU 0x00000014719C0000 ++MENU 0x00000014F11C0000 ++EXIT 0x0000001475A00000 ++EXIT 0x00000014F5200000 ++REC 0x00000014FC270000 ++REC 0x000000147CA70000 ++PLAY 0x00000014FA250000 ++PLAY 0x000000147AA50000 ++STOP 0x00000014FD280000 ++STOP 0x000000147DA80000 ++REW 0x00000014F9240000 ++REW 0x0000001479A40000 ++FWD 0x00000014FB260000 ++FWD 0x000000147BA60000 ++PREV 0x00000014002B0000 ++PREV 0x0000001480AB0000 ++PAUSE 0x00000014FE290000 ++PAUSE 0x000000147EA90000 ++NEXT 0x00000014FF2A0000 ++NEXT 0x000000147FAA0000 ++MUSIC 0x00000014DB060000 ++MUSIC 0x000000145B860000 ++PHOTOS 0x00000014DA050000 ++PHOTOS 0x000000145A850000 ++DVD 0x00000014D9040000 ++DVD 0x0000001459840000 ++TV 0x00000014D8030000 ++TV 0x0000001458830000 ++VIDEO 0x00000014DC070000 ++VIDEO 0x000000145C870000 ++HELP 0x00000014D6010000 ++HELP 0x0000001456810000 ++MOUSE 0x00000014022D0000 ++MOUSE 0x0000001482AD0000 ++A 0x00000014EE190000 ++A 0x000000146E990000 ++B 0x00000014F01B0000 ++B 0x00000014709B0000 ++C 0x00000014F6210000 ++C 0x0000001476A10000 ++D 0x00000014F8230000 ++D 0x0000001478A30000 ++ ++end codes ++ ++end remote +diff -urNad lirc-0.8.2~/remotes/atiusb/lircd.conf.atiusb lirc-0.8.2/remotes/atiusb/lircd.conf.atiusb +--- lirc-0.8.2~/remotes/atiusb/lircd.conf.atiusb 2007-06-08 11:16:34.000000000 -0500 ++++ lirc-0.8.2/remotes/atiusb/lircd.conf.atiusb 2007-09-17 03:30:06.000000000 -0500 +@@ -191,7 +191,7 @@ + # this config file was automatically generated + # using lirc-0.7.0-CVS(atiusb) on Sat May 15 10:44:51 2004 + # +-# contributed by Jurgen Kramer ++# contributed by Jurgen Kramer + # + # brand: ATI + # model no. of remote control: 5000023600 +@@ -365,7 +365,7 @@ + # matching MythTV configuration file at http://wendy.seltzer.org/mythtv/lircrc + # + # +-# brand: X-10 Lola ++# brand: X-10 Lola + # model no. of remote control: UR89A + # devices being controlled by this remote: mythtv + # +@@ -379,7 +379,7 @@ + + one 0 0 + zero 0 0 +- ++ + pre_data_bits 8 + pre_data 0x14 + post_data_bits 16 +@@ -525,10 +525,10 @@ + # contributed by Martin Tomasek + # + # brand: ATI Remote Wonder +-# model no. of remote control: ++# model no. of remote control: + # devices being controlled by this remote: ATI USB Receiver (X10). + # +-# * remote is set to channel 1, driver reports channel 16. don't know ++# * remote is set to channel 1, driver reports channel 16. don't know + # which is true. + + # +@@ -615,7 +615,7 @@ + # contributed by Phil Speights + # + # brand: nvidia +-# model no. of remote control: UR88A ++# model no. of remote control: UR88A + # devices being controlled by this remote: nvidia personal cinema + # + +@@ -875,10 +875,10 @@ + # this config file was automatically generated + # using lirc-0.7.0(any) on Sun Jan 16 14:58:13 2005 + # +-# contributed by ++# contributed by + # + # brand: Niveus +-# model no. of remote control: ++# model no. of remote control: + # devices being controlled by this remote: Niveus X10 + # + +@@ -1024,7 +1024,7 @@ + Info 0x84af + Menu 0x6e99 + left 0x729d +- up_0 0x4d78 ++ up_0 0x4d78 + up_1 0x4e79 + up_2 0x4f7a + up_3 0x507b +@@ -1064,7 +1064,7 @@ + Record 0x7ca7 + FastForward 0x7ba6 + +- end codes ++ end codes + end remote + + +@@ -1076,7 +1076,7 @@ + # + # brand: MEDION X10 RF + # model no. of remote control: remote P/N:20014752, receiver P/N:20014751 +-# devices being controlled by this remote: ++# devices being controlled by this remote: + # + + begin remote +@@ -1387,7 +1387,7 @@ + # this config file was automatically generated + # using lirc-0.8.0(atiusb) on Mon Dec 11 20:45:22 2006 + # +-# contributed by Wim Lemmers ++# contributed by Wim Lemmers + # + # brand: Medion + # model no. of remote control: OR24E RF MCE Remote Control +@@ -1469,7 +1469,7 @@ + # + # contributed by Harald Wild - www.wild-technology.de + # +-# brand: Q-Sonic Master Remote PC / TV ++# brand: Q-Sonic Master Remote PC / TV + # model no. of remote control: Art.Nr. PE-9999 + # frequency: 433.92 MHz + # distributor Germany: PEARL AGENCY - www.pearl.de +@@ -1703,9 +1703,9 @@ + # this config file was automatically generated + # using lirc-0.8.2-CVS(atilibusb) on Fri Jun 8 13:19:29 2007 + # +-# contributed by ++# contributed by + # +-# brand: ++# brand: + # model no. of remote control: ATI/X10 RF USB Remote Control v. 2.2.1 + # devices being controlled by this remote: + # +@@ -1782,4 +1782,118 @@ + + end remote + ++begin remote ++ ++name Snapstream Firefly ++bits 40 ++eps 30 ++aeps 100 ++ ++one 0 0 ++zero 0 0 ++gap 219964 ++toggle_bit 0 ++ ++ ++begin codes ++MAXI 0x0000001481AC0000 ++MAXI 0x00000014012C0000 ++CLOSE 0x00000014D7020000 ++CLOSE 0x0000001457820000 ++1 0x00000014628D0000 ++1 0x00000014E20D0000 ++2 0x00000014E30E0000 ++2 0x00000014638E0000 ++3 0x00000014648F0000 ++3 0x00000014E40F0000 ++4 0x00000014E5100000 ++4 0x0000001465900000 ++5 0x0000001466910000 ++5 0x00000014E6110000 ++6 0x00000014E7120000 ++6 0x0000001467920000 ++7 0x0000001468930000 ++7 0x00000014E8130000 ++8 0x00000014E9140000 ++8 0x0000001469940000 ++9 0x000000146A950000 ++9 0x00000014EA150000 ++0 0x00000014EC170000 ++0 0x000000146C970000 ++BACK 0x000000146B960000 ++BACK 0x00000014EB160000 ++ENT 0x00000014ED180000 ++ENT 0x000000146D980000 ++VOL+ 0x000000145E890000 ++VOL+ 0x00000014DE090000 ++VOL- 0x000000145D880000 ++VOL- 0x00000014DD080000 ++MUTE 0x000000145F8A0000 ++MUTE 0x00000014DF0A0000 ++FIREFLY 0x0000001455800000 ++FIREFLY 0x00000014D5000000 ++CH+ 0x00000014608B0000 ++CH+ 0x00000014E00B0000 ++CH- 0x00000014618C0000 ++CH- 0x00000014E10C0000 ++INFO 0x0000001483AE0000 ++INFO 0x00000014032E0000 ++OPTION 0x0000001484AF0000 ++OPTION 0x00000014042F0000 ++UP 0x000000146F9A0000 ++UP 0x00000014EF1A0000 ++LEFT 0x00000014729D0000 ++LEFT 0x00000014F21D0000 ++DOWN 0x0000001477A20000 ++DOWN 0x00000014F7220000 ++RIGHT 0x00000014749F0000 ++RIGHT 0x00000014F41F0000 ++OK 0x00000014739E0000 ++OK 0x00000014F31E0000 ++MENU 0x00000014719C0000 ++MENU 0x00000014F11C0000 ++EXIT 0x0000001475A00000 ++EXIT 0x00000014F5200000 ++REC 0x00000014FC270000 ++REC 0x000000147CA70000 ++PLAY 0x00000014FA250000 ++PLAY 0x000000147AA50000 ++STOP 0x00000014FD280000 ++STOP 0x000000147DA80000 ++REW 0x00000014F9240000 ++REW 0x0000001479A40000 ++FWD 0x00000014FB260000 ++FWD 0x000000147BA60000 ++PREV 0x00000014002B0000 ++PREV 0x0000001480AB0000 ++PAUSE 0x00000014FE290000 ++PAUSE 0x000000147EA90000 ++NEXT 0x00000014FF2A0000 ++NEXT 0x000000147FAA0000 ++MUSIC 0x00000014DB060000 ++MUSIC 0x000000145B860000 ++PHOTOS 0x00000014DA050000 ++PHOTOS 0x000000145A850000 ++DVD 0x00000014D9040000 ++DVD 0x0000001459840000 ++TV 0x00000014D8030000 ++TV 0x0000001458830000 ++VIDEO 0x00000014DC070000 ++VIDEO 0x000000145C870000 ++HELP 0x00000014D6010000 ++HELP 0x0000001456810000 ++MOUSE 0x00000014022D0000 ++MOUSE 0x0000001482AD0000 ++A 0x00000014EE190000 ++A 0x000000146E990000 ++B 0x00000014F01B0000 ++B 0x00000014709B0000 ++C 0x00000014F6210000 ++C 0x0000001476A10000 ++D 0x00000014F8230000 ++D 0x0000001478A30000 ++ ++end codes ++ ++end remote + only in patch2: unchanged: --- lirc-0.8.2.orig/debian/patches/20_serial_igor.dpatch +++ lirc-0.8.2/debian/patches/20_serial_igor.dpatch @@ -0,0 +1,1895 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## serial_igor.dpatch by Mario Limonciello +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad lirc-0.8.2~/doc/lirc.hwdb lirc-0.8.2/doc/lirc.hwdb +--- lirc-0.8.2~/doc/lirc.hwdb 2007-09-17 01:55:17.000000000 -0500 ++++ lirc-0.8.2/doc/lirc.hwdb 2007-09-17 01:56:38.000000000 -0500 +@@ -10,6 +10,7 @@ + # + # + Home-brew (16x50 UART compatible serial port);serial;lirc_dev lirc_serial;hw_default;; ++Home-brew (Igor Cesko's variant)(16x50 UART compatible serial port);serial;lirc_dev lirc_serial_igor;hw_default;; + Home-brew (parallel port);parallel;lirc_dev lirc_parallel;hw_default;; + Network (UDP);udp;none;hw_udp;; + +diff -urNad lirc-0.8.2~/drivers/Makefile.am lirc-0.8.2/drivers/Makefile.am +--- lirc-0.8.2~/drivers/Makefile.am 2007-09-17 01:55:17.000000000 -0500 ++++ lirc-0.8.2/drivers/Makefile.am 2007-09-17 01:55:17.000000000 -0500 +@@ -22,6 +22,7 @@ + lirc_pvr150 \ + lirc_sasem \ + lirc_serial \ ++ lirc_serial_igor \ + lirc_sir \ + lirc_streamzap \ + lirc_ttusbir +diff -urNad lirc-0.8.2~/drivers/Makefile.in lirc-0.8.2/drivers/Makefile.in +--- lirc-0.8.2~/drivers/Makefile.in 2007-09-17 01:55:17.000000000 -0500 ++++ lirc-0.8.2/drivers/Makefile.in 2007-09-17 01:55:17.000000000 -0500 +@@ -141,6 +141,7 @@ + lirc_pvr150 \ + lirc_sasem \ + lirc_serial \ ++ lirc_serial_igor \ + lirc_sir \ + lirc_streamzap \ + lirc_ttusbir +diff -urNad lirc-0.8.2~/drivers/lirc_serial_igor/Makefile.am lirc-0.8.2/drivers/lirc_serial_igor/Makefile.am +--- lirc-0.8.2~/drivers/lirc_serial_igor/Makefile.am 1969-12-31 18:00:00.000000000 -0600 ++++ lirc-0.8.2/drivers/lirc_serial_igor/Makefile.am 2007-09-17 01:55:17.000000000 -0500 +@@ -0,0 +1,13 @@ ++## $Id: Makefile.am,v 5.14 2004/04/25 16:29:27 lirc Exp $ ++ ++## Process this file with automake to produce Makefile.in ++ ++## this is so that Automake includes the C compiling definitions, and ++## includes the source files in the distribution. ++EXTRA_PROGRAMS = automake_dummy ++automake_dummy_SOURCES = lirc_serial_igor.c ++ ++## there is no *just* object file support in automake. This is close enough ++module_DATA = lirc_serial_igor.o ++ ++include ../Makefile.common +diff -urNad lirc-0.8.2~/drivers/lirc_serial_igor/Makefile.in lirc-0.8.2/drivers/lirc_serial_igor/Makefile.in +--- lirc-0.8.2~/drivers/lirc_serial_igor/Makefile.in 1969-12-31 18:00:00.000000000 -0600 ++++ lirc-0.8.2/drivers/lirc_serial_igor/Makefile.in 2007-09-17 01:55:17.000000000 -0500 +@@ -0,0 +1,417 @@ ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++# $Id: Makefile.common,v 5.4 2007/01/17 08:50:31 lirc Exp $ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++host_alias = @host_alias@ ++host_triplet = @host@ ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AR = @AR@ ++AS = @AS@ ++AWK = @AWK@ ++CC = @CC@ ++CXX = @CXX@ ++CXXCPP = @CXXCPP@ ++DEPDIR = @DEPDIR@ ++DLLTOOL = @DLLTOOL@ ++ECHO = @ECHO@ ++EGREP = @EGREP@ ++F77 = @F77@ ++GCJ = @GCJ@ ++GCJFLAGS = @GCJFLAGS@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LIBTOOL = @LIBTOOL@ ++LIBUSB_CONFIG = @LIBUSB_CONFIG@ ++LN_S = @LN_S@ ++OBJDUMP = @OBJDUMP@ ++PACKAGE = @PACKAGE@ ++RANLIB = @RANLIB@ ++RC = @RC@ ++STRIP = @STRIP@ ++VERSION = @VERSION@ ++X_CFLAGS = @X_CFLAGS@ ++X_EXTRA_LIBS = @X_EXTRA_LIBS@ ++X_LIBS = @X_LIBS@ ++X_PRE_LIBS = @X_PRE_LIBS@ ++ac_pkss_mktemp = @ac_pkss_mktemp@ ++alsa_lib = @alsa_lib@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++atilibusb_lib = @atilibusb_lib@ ++caraca_lib = @caraca_lib@ ++daemon = @daemon@ ++depmod = @depmod@ ++devdir = @devdir@ ++driver = @driver@ ++forkpty = @forkpty@ ++hw_module = @hw_module@ ++iguanaIR_lib = @iguanaIR_lib@ ++install_sh = @install_sh@ ++irman_lib = @irman_lib@ ++irtty = @irtty@ ++kernelcc = @kernelcc@ ++kerneldir = @kerneldir@ ++kernelext = @kernelext@ ++lirc_driver = @lirc_driver@ ++lirc_major = @lirc_major@ ++lircd_conf = @lircd_conf@ ++lircmd_conf = @lircmd_conf@ ++maintmode_daemons_extra = @maintmode_daemons_extra@ ++mkfifo = @mkfifo@ ++mknod = @mknod@ ++moduledir = @moduledir@ ++portaudio_lib = @portaudio_lib@ ++vga_progs = @vga_progs@ ++x_progs = @x_progs@ ++ ++EXTRA_PROGRAMS = automake_dummy ++automake_dummy_SOURCES = lirc_serial_igor.c ++ ++module_DATA = lirc_serial_igor.o ++ ++# where the kernel sources are located ++KERNEL_LOCATION = @kerneldir@ ++ ++LIRC_DEVDIR = $(shell pwd) ++ ++# some magic for using linux kernel settings ++# when compiling module(s) ++KBUILD_VERBOSE = 1 ++LIRC_EXTRA_CFLAGS = -DIRCTL_DEV_MAJOR=$(lirc_major) -DEXPORT_SYMTAB $(DEFS) \ ++ $(DEFAULT_INCLUDES) -I$(LIRC_DEVDIR)/../.. \ ++ -I$(KERNEL_LOCATION)/include/ \ ++ -I$(KERNEL_LOCATION)/drivers/media/video/ ++ ++ ++CLEANFILES = $(module_DATA) .$(module_DATA).flags $(module_DATA:.o=.mod.c) $(module_DATA:.o=.@kernelext@) *~ ++subdir = drivers/lirc_serial_igor ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++EXTRA_PROGRAMS = automake_dummy$(EXEEXT) ++am_automake_dummy_OBJECTS = lirc_serial_igor.$(OBJEXT) ++automake_dummy_OBJECTS = $(am_automake_dummy_OBJECTS) ++automake_dummy_LDADD = $(LDADD) ++automake_dummy_DEPENDENCIES = ++automake_dummy_LDFLAGS = ++ ++DEFS = @DEFS@ ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++CPPFLAGS = @CPPFLAGS@ ++LDFLAGS = @LDFLAGS@ ++LIBS = @LIBS@ ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/lirc_serial_igor.Po ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ ++ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CFLAGS = @CFLAGS@ ++DIST_SOURCES = $(automake_dummy_SOURCES) ++DATA = $(module_DATA) ++ ++DIST_COMMON = Makefile.am Makefile.in ++SOURCES = $(automake_dummy_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .c .lo .o .obj ++$(srcdir)/Makefile.in: Makefile.am $(srcdir)/../Makefile.common $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu drivers/lirc_serial_igor/Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++automake_dummy$(EXEEXT): $(automake_dummy_OBJECTS) $(automake_dummy_DEPENDENCIES) ++ @rm -f automake_dummy$(EXEEXT) ++ $(LINK) $(automake_dummy_LDFLAGS) $(automake_dummy_OBJECTS) $(automake_dummy_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lirc_serial_igor.Po@am__quote@ ++ ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `cygpath -w $<` ++ ++.c.lo: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< ++CCDEPMODE = @CCDEPMODE@ ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++distclean-libtool: ++ -rm -f libtool ++uninstall-info-am: ++moduleDATA_INSTALL = $(INSTALL_DATA) ++ ++ETAGS = etags ++ETAGSFLAGS = ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(DATA) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(moduledir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-libtool distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-data-local install-moduleDATA ++ ++install-exec-am: install-exec-local ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++uninstall-am: uninstall-info-am uninstall-local uninstall-moduleDATA ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool distclean distclean-compile distclean-depend \ ++ distclean-generic distclean-libtool distclean-tags distdir dvi \ ++ dvi-am info info-am install install-am install-data \ ++ install-data-am install-data-local install-exec install-exec-am \ ++ install-exec-local install-info install-info-am install-man \ ++ install-moduleDATA install-strip installcheck installcheck-am \ ++ installdirs maintainer-clean maintainer-clean-generic \ ++ mostlyclean mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool tags uninstall uninstall-am \ ++ uninstall-info-am uninstall-local uninstall-moduleDATA ++ ++export LIRC_EXTRA_CFLAGS KERNEL_LOCATION module_DATA ++ ++$(module_DATA): $(automake_dummy_SOURCES) $(top_srcdir)/config.h ../lirc.h ++ mv Makefile Makefile.automake ++ cp ../Makefile.kernel Makefile ++ $(MAKE) -C $(KERNEL_LOCATION) SUBDIRS=$(LIRC_DEVDIR) modules \ ++ KBUILD_VERBOSE=$(KBUILD_VERBOSE) ++ mv Makefile.automake Makefile ++ ++install-moduleDATA: $(module_DATA) ++ $(mkinstalldirs) $(DESTDIR)$(moduledir) ++ @list='$(module_DATA:.o=.@kernelext@)'; for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f="`echo $$p | sed -e 's|^.*/||'`"; \ ++ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(moduledir)/$$f"; \ ++ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(moduledir)/$$f; \ ++ done ++ ++uninstall-moduleDATA: ++ @list='$(module_DATA:.o=.@kernelext@)'; for p in $$list; do \ ++ f="`echo $$p | sed -e 's|^.*/||'`"; \ ++ echo " rm -f $(DESTDIR)$(moduledir)/$$f"; \ ++ rm -f $(DESTDIR)$(moduledir)/$$f; \ ++ done ++ ++@SANDBOXED_FALSE@install-exec-local: mkdev ++@SANDBOXED_FALSE@uninstall-local: rmdev ++ ++mkdev: ++ test -e $(DESTDIR)$(devdir)/lirc || ($(mkinstalldirs) $(DESTDIR)$(devdir) && @mknod@ $(DESTDIR)$(devdir)/lirc c @lirc_major@ 0) ++ ++rmdev: ++ -test -c $(DESTDIR)$(devdir)/lirc && $(RM) $(DESTDIR)$(devdir)/lirc ++ ++@SANDBOXED_FALSE@install-data-local: install-moduleDATA ++@SANDBOXED_FALSE@ -@depmod@ -a ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +diff -urNad lirc-0.8.2~/drivers/lirc_serial_igor/lirc_serial_igor.c lirc-0.8.2/drivers/lirc_serial_igor/lirc_serial_igor.c +--- lirc-0.8.2~/drivers/lirc_serial_igor/lirc_serial_igor.c 1969-12-31 18:00:00.000000000 -0600 ++++ lirc-0.8.2/drivers/lirc_serial_igor/lirc_serial_igor.c 2007-09-17 01:55:17.000000000 -0500 +@@ -0,0 +1,1413 @@ ++/* $Id: lirc_serial_igor.c,v 5.83 2007/08/30 19:35:42 lirc Exp $ */ ++ ++/**************************************************************************** ++ ** lirc_serial_igor.c ****************************************************** ++ **************************************************************************** ++ * ++ * lirc_serial_igor - Device driver that records pulse- and pause-lengths ++ * (space-lengths) between DDCD event on a serial port. ++ * Compiled with igor's variation for Ubuntu ++ * ++ * Copyright (C) 1996,97 Ralph Metzler ++ * Copyright (C) 1998 Trent Piepho ++ * Copyright (C) 1998 Ben Pfaff ++ * Copyright (C) 1999 Christoph Bartelmus ++ * Copyright (C) 2007 Andrei Tanas (suspend/resume support) ++ * Copyright (C) 2007 Mario Limonciello Compile for Ubuntu with igor support ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ */ ++ ++/* Steve's changes to improve transmission fidelity: ++ - for systems with the rdtsc instruction and the clock counter, a ++ send_pule that times the pulses directly using the counter. ++ This means that the LIRC_SERIAL_TRANSMITTER_LATENCY fudge is ++ not needed. Measurement shows very stable waveform, even where ++ PCI activity slows the access to the UART, which trips up other ++ versions. ++ - For other system, non-integer-microsecond pulse/space lengths, ++ done using fixed point binary. So, much more accurate carrier ++ frequency. ++ - fine tuned transmitter latency, taking advantage of fractional ++ microseconds in previous change ++ - Fixed bug in the way transmitter latency was accounted for by ++ tuning the pulse lengths down - the send_pulse routine ignored ++ this overhead as it timed the overall pulse length - so the ++ pulse frequency was right but overall pulse length was too ++ long. Fixed by accounting for latency on each pulse/space ++ iteration. ++ ++ Steve Davies July 2001 ++*/ ++ ++#ifdef HAVE_CONFIG_H ++# include ++#endif ++ ++#include ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 2, 18) ++#error "**********************************************************" ++#error " Sorry, this driver needs kernel version 2.2.18 or higher " ++#error "**********************************************************" ++#endif ++ ++#include ++ ++#if defined(CONFIG_SERIAL) || defined(CONFIG_SERIAL_8250) ++#warning "******************************************" ++#warning " Your serial port driver is compiled into " ++#warning " the kernel. You will have to release the " ++#warning " port you want to use for LIRC with: " ++#warning " setserial /dev/ttySx uart none " ++#warning "******************************************" ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) ++#include ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++ ++#if defined(LIRC_SERIAL_NSLU2) ++#include ++/* From Intel IXP42X Developer's Manual (#252480-005): */ ++/* ftp://download.intel.com/design/network/manuals/25248005.pdf */ ++#define UART_IE_IXP42X_UUE 0x40 /* IXP42X UART Unit enable */ ++#define UART_IE_IXP42X_RTOIE 0x10 /* IXP42X Receiver Data Timeout int.enable */ ++#ifndef NSLU2_LED_GRN_GPIO ++/* added in 2.6.22 */ ++#define NSLU2_LED_GRN_GPIO NSLU2_LED_GRN ++#endif ++#endif ++ ++#include "drivers/lirc.h" ++#include "drivers/kcompat.h" ++#include "drivers/lirc_dev/lirc_dev.h" ++ ++#if defined(LIRC_SERIAL_SOFTCARRIER) && !defined(LIRC_SERIAL_TRANSMITTER) ++#warning "Software carrier only affects transmitting" ++#endif ++ ++#if defined(rdtsc) ++ ++#define USE_RDTSC ++#warning "Note: using rdtsc instruction" ++#endif ++ ++#ifdef LIRC_SERIAL_ANIMAX ++#ifdef LIRC_SERIAL_TRANSMITTER ++#warning "******************************************" ++#warning " This receiver does not have a " ++#warning " transmitter diode " ++#warning "******************************************" ++#endif ++#endif ++ ++#define LIRC_DRIVER_NAME "lirc_serial_igor" ++ ++struct lirc_serial_igor ++{ ++ int signal_pin; ++ int signal_pin_change; ++ int on; ++ int off; ++ long (*send_pulse)(unsigned long length); ++ void (*send_space)(long length); ++ int features; ++}; ++ ++#define LIRC_HOMEBREW 0 ++#define LIRC_IRDEO 1 ++#define LIRC_IRDEO_REMOTE 2 ++#define LIRC_ANIMAX 3 ++#define LIRC_IGOR 4 ++#define LIRC_NSLU2 5 ++ ++static int type=LIRC_IGOR; ++ ++/* Set defaults for NSLU2 */ ++#if defined(LIRC_SERIAL_NSLU2) ++#ifndef LIRC_IRQ ++#define LIRC_IRQ IRQ_IXP4XX_UART2 ++#endif ++#ifndef LIRC_PORT ++#define LIRC_PORT (IXP4XX_UART2_BASE_VIRT + REG_OFFSET) ++#endif ++#ifndef LIRC_IOMMAP ++#define LIRC_IOMMAP IXP4XX_UART2_BASE_PHYS ++#endif ++#ifndef LIRC_IOSHIFT ++#define LIRC_IOSHIFT 2 ++#endif ++#ifndef LIRC_ALLOW_MMAPPED_IO ++#define LIRC_ALLOW_MMAPPED_IO ++#endif ++#endif ++ ++#if defined(LIRC_ALLOW_MMAPPED_IO) ++#ifndef LIRC_IOMMAP ++#define LIRC_IOMMAP 0 ++#endif ++#ifndef LIRC_IOSHIFT ++#define LIRC_IOSHIFT 0 ++#endif ++static int iommap = LIRC_IOMMAP; ++static int ioshift = LIRC_IOSHIFT; ++#endif ++ ++ ++static int softcarrier=1; ++ ++static int share_irq = 0; ++static int debug = 0; ++ ++#define dprintk(fmt, args...) \ ++ do{ \ ++ if(debug) \ ++ printk(KERN_DEBUG LIRC_DRIVER_NAME ": " \ ++ fmt, ## args); \ ++ }while(0) ++ ++/* forward declarations */ ++static long send_pulse_irdeo(unsigned long length); ++static long send_pulse_homebrew(unsigned long length); ++static void send_space_irdeo(long length); ++static void send_space_homebrew(long length); ++ ++static struct lirc_serial_igor hardware[]= ++{ ++ /* home-brew receiver/transmitter */ ++ { ++ UART_MSR_DCD, ++ UART_MSR_DDCD, ++ UART_MCR_RTS|UART_MCR_OUT2|UART_MCR_DTR, ++ UART_MCR_RTS|UART_MCR_OUT2, ++ send_pulse_homebrew, ++ send_space_homebrew, ++ ( ++#ifdef LIRC_SERIAL_TRANSMITTER ++ LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SET_SEND_CARRIER| ++ LIRC_CAN_SEND_PULSE| ++#endif ++ LIRC_CAN_REC_MODE2) ++ }, ++ ++ /* IRdeo classic */ ++ { ++ UART_MSR_DSR, ++ UART_MSR_DDSR, ++ UART_MCR_OUT2, ++ UART_MCR_RTS|UART_MCR_DTR|UART_MCR_OUT2, ++ send_pulse_irdeo, ++ send_space_irdeo, ++ (LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SEND_PULSE| ++ LIRC_CAN_REC_MODE2) ++ }, ++ ++ /* IRdeo remote */ ++ { ++ UART_MSR_DSR, ++ UART_MSR_DDSR, ++ UART_MCR_RTS|UART_MCR_DTR|UART_MCR_OUT2, ++ UART_MCR_RTS|UART_MCR_DTR|UART_MCR_OUT2, ++ send_pulse_irdeo, ++ send_space_irdeo, ++ (LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SEND_PULSE| ++ LIRC_CAN_REC_MODE2) ++ }, ++ ++ /* AnimaX */ ++ { ++ UART_MSR_DCD, ++ UART_MSR_DDCD, ++ 0, ++ UART_MCR_RTS|UART_MCR_DTR|UART_MCR_OUT2, ++ NULL, ++ NULL, ++ LIRC_CAN_REC_MODE2 ++ }, ++ ++ /* home-brew receiver/transmitter (Igor Cesko's variation) */ ++ { ++ UART_MSR_DSR, ++ UART_MSR_DDSR, ++ UART_MCR_RTS|UART_MCR_OUT2|UART_MCR_DTR, ++ UART_MCR_RTS|UART_MCR_OUT2, ++ send_pulse_homebrew, ++ send_space_homebrew, ++ ( ++#ifdef LIRC_SERIAL_TRANSMITTER ++ LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SET_SEND_CARRIER| ++ LIRC_CAN_SEND_PULSE| ++#endif ++ LIRC_CAN_REC_MODE2) ++ }, ++ ++#if defined(LIRC_SERIAL_NSLU2) ++ /* Modified Linksys Network Storage Link USB 2.0 (NSLU2): ++ We receive on CTS of the 2nd serial port (R142,LHS), we ++ transmit with a IR diode between GPIO[1] (green status LED), ++ and ground (Matthias Goebl ). ++ See also http://www.nslu2-linux.org for this device */ ++ { ++ UART_MSR_CTS, ++ UART_MSR_DCTS, ++ UART_MCR_RTS|UART_MCR_OUT2|UART_MCR_DTR, ++ UART_MCR_RTS|UART_MCR_OUT2, ++ send_pulse_homebrew, ++ send_space_homebrew, ++ ( ++#ifdef LIRC_SERIAL_TRANSMITTER ++ LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SET_SEND_CARRIER| ++ LIRC_CAN_SEND_PULSE| ++#endif ++ LIRC_CAN_REC_MODE2) ++ }, ++#endif ++ ++}; ++ ++#define RS_ISR_PASS_LIMIT 256 ++ ++/* A long pulse code from a remote might take upto 300 bytes. The ++ daemon should read the bytes as soon as they are generated, so take ++ the number of keys you think you can push before the daemon runs ++ and multiply by 300. The driver will warn you if you overrun this ++ buffer. If you have a slow computer or non-busmastering IDE disks, ++ maybe you will need to increase this. */ ++ ++/* This MUST be a power of two! It has to be larger than 1 as well. */ ++ ++#define RBUF_LEN 256 ++#define WBUF_LEN 256 ++ ++static int sense = -1; /* -1 = auto, 0 = active high, 1 = active low */ ++static int txsense = 0; /* 0 = active high, 1 = active low */ ++ ++#ifndef LIRC_IRQ ++#define LIRC_IRQ 4 ++#endif ++#ifndef LIRC_PORT ++#define LIRC_PORT 0x3f8 ++#endif ++ ++static int io = LIRC_PORT; ++static int irq = LIRC_IRQ; ++ ++static struct timeval lasttv = {0, 0}; ++ ++static struct lirc_buffer rbuf; ++ ++static lirc_t wbuf[WBUF_LEN]; ++ ++static unsigned int freq = 38000; ++static unsigned int duty_cycle = 50; ++ ++/* Initialized in init_timing_params() */ ++static unsigned long period = 0; ++static unsigned long pulse_width = 0; ++static unsigned long space_width = 0; ++ ++#if defined(__i386__) ++/* ++ From: ++ Linux I/O port programming mini-HOWTO ++ Author: Riku Saikkonen ++ v, 28 December 1997 ++ ++ [...] ++ Actually, a port I/O instruction on most ports in the 0-0x3ff range ++ takes almost exactly 1 microsecond, so if you're, for example, using ++ the parallel port directly, just do additional inb()s from that port ++ to delay. ++ [...] ++*/ ++/* transmitter latency 1.5625us 0x1.90 - this figure arrived at from ++ * comment above plus trimming to match actual measured frequency. ++ * This will be sensitive to cpu speed, though hopefully most of the 1.5us ++ * is spent in the uart access. Still - for reference test machine was a ++ * 1.13GHz Athlon system - Steve ++ */ ++ ++/* changed from 400 to 450 as this works better on slower machines; ++ faster machines will use the rdtsc code anyway */ ++ ++#define LIRC_SERIAL_TRANSMITTER_LATENCY 450 ++ ++#else ++ ++/* does anybody have information on other platforms ? */ ++/* 256 = 1<<8 */ ++#define LIRC_SERIAL_TRANSMITTER_LATENCY 256 ++ ++#endif /* __i386__ */ ++ ++static inline unsigned int sinp(int offset) ++{ ++#if defined(LIRC_ALLOW_MMAPPED_IO) ++ if(iommap != 0) /* the register is memory-mapped */ ++ { ++ offset <<= ioshift; ++ return readb(io + offset); ++ } ++#endif ++ return inb(io + offset); ++} ++ ++static inline void soutp(int offset, int value) ++{ ++#if defined(LIRC_ALLOW_MMAPPED_IO) ++ if(iommap != 0) /* the register is memory-mapped */ ++ { ++ offset <<= ioshift; ++ writeb(value, io + offset); ++ } ++#endif ++ outb(value, io + offset); ++} ++ ++static inline void on(void) ++{ ++#if defined(LIRC_SERIAL_NSLU2) ++ /* On NSLU2, we put the transmit diode between the output of the green ++ status LED and ground */ ++ if(type == LIRC_NSLU2) ++ { ++ gpio_line_set(NSLU2_LED_GRN_GPIO, IXP4XX_GPIO_LOW); ++ return; ++ } ++#endif ++ if (txsense) ++ { ++ soutp(UART_MCR,hardware[type].off); ++ } ++ else ++ { ++ soutp(UART_MCR,hardware[type].on); ++ } ++} ++ ++static inline void off(void) ++{ ++#if defined(LIRC_SERIAL_NSLU2) ++ if(type == LIRC_NSLU2) ++ { ++ gpio_line_set(NSLU2_LED_GRN_GPIO, IXP4XX_GPIO_HIGH); ++ return; ++ } ++#endif ++ if (txsense) ++ { ++ soutp(UART_MCR,hardware[type].on); ++ } ++ else ++ { ++ soutp(UART_MCR,hardware[type].off); ++ } ++} ++ ++#ifndef MAX_UDELAY_MS ++#define MAX_UDELAY_US 5000 ++#else ++#define MAX_UDELAY_US (MAX_UDELAY_MS*1000) ++#endif ++ ++static inline void safe_udelay(unsigned long usecs) ++{ ++ while(usecs>MAX_UDELAY_US) ++ { ++ udelay(MAX_UDELAY_US); ++ usecs-=MAX_UDELAY_US; ++ } ++ udelay(usecs); ++} ++ ++#ifdef USE_RDTSC ++/* This is an overflow/precision juggle, complicated in that we can't ++ do long long divide in the kernel */ ++ ++/* When we use the rdtsc instruction to measure clocks, we keep the ++ * pulse and space widths as clock cycles. As this is CPU speed ++ * dependent, the widths must be calculated in init_port and ioctl ++ * time ++ */ ++ ++/* So send_pulse can quickly convert microseconds to clocks */ ++static unsigned long conv_us_to_clocks = 0; ++ ++static inline int init_timing_params(unsigned int new_duty_cycle, ++ unsigned int new_freq) ++{ ++ unsigned long long loops_per_sec,work; ++ ++ duty_cycle=new_duty_cycle; ++ freq=new_freq; ++ ++ loops_per_sec=current_cpu_data.loops_per_jiffy; ++ loops_per_sec*=HZ; ++ ++ /* How many clocks in a microsecond?, avoiding long long divide */ ++ work=loops_per_sec; ++ work*=4295; /* 4295 = 2^32 / 1e6 */ ++ conv_us_to_clocks=(work>>32); ++ ++ /* Carrier period in clocks, approach good up to 32GHz clock, ++ gets carrier frequency within 8Hz */ ++ period=loops_per_sec>>3; ++ period/=(freq>>3); ++ ++ /* Derive pulse and space from the period */ ++ ++ pulse_width = period*duty_cycle/100; ++ space_width = period - pulse_width; ++ dprintk("in init_timing_params, freq=%d, duty_cycle=%d, " ++ "clk/jiffy=%ld, pulse=%ld, space=%ld, " ++ "conv_us_to_clocks=%ld\n", ++ freq, duty_cycle, current_cpu_data.loops_per_jiffy, ++ pulse_width, space_width, conv_us_to_clocks); ++ return 0; ++} ++#else /* ! USE_RDTSC */ ++static inline int init_timing_params(unsigned int new_duty_cycle, ++ unsigned int new_freq) ++{ ++/* period, pulse/space width are kept with 8 binary places - ++ * IE multiplied by 256. */ ++ if(256*1000000L/new_freq*new_duty_cycle/100<= ++ LIRC_SERIAL_TRANSMITTER_LATENCY) return(-EINVAL); ++ if(256*1000000L/new_freq*(100-new_duty_cycle)/100<= ++ LIRC_SERIAL_TRANSMITTER_LATENCY) return(-EINVAL); ++ duty_cycle=new_duty_cycle; ++ freq=new_freq; ++ period=256*1000000L/freq; ++ pulse_width=period*duty_cycle/100; ++ space_width=period-pulse_width; ++ dprintk("in init_timing_params, freq=%d pulse=%ld, " ++ "space=%ld\n", freq, pulse_width, space_width); ++ return 0; ++} ++#endif /* USE_RDTSC */ ++ ++ ++/* return value: space length delta */ ++ ++static long send_pulse_irdeo(unsigned long length) ++{ ++ long rawbits; ++ int i; ++ unsigned char output; ++ unsigned char chunk,shifted; ++ ++ /* how many bits have to be sent ? */ ++ rawbits=length*1152/10000; ++ if(duty_cycle>50) chunk=3; ++ else chunk=1; ++ for(i=0,output=0x7f;rawbits>0;rawbits-=3) ++ { ++ shifted=chunk<<(i*3); ++ shifted>>=1; ++ output&=(~shifted); ++ i++; ++ if(i==3) ++ { ++ soutp(UART_TX,output); ++ while(!(sinp(UART_LSR) & UART_LSR_THRE)); ++ output=0x7f; ++ i=0; ++ } ++ } ++ if(i!=0) ++ { ++ soutp(UART_TX,output); ++ while(!(sinp(UART_LSR) & UART_LSR_TEMT)); ++ } ++ ++ if(i==0) ++ { ++ return((-rawbits)*10000/1152); ++ } ++ else ++ { ++ return((3-i)*3*10000/1152+(-rawbits)*10000/1152); ++ } ++} ++ ++#ifdef USE_RDTSC ++/* Version that uses Pentium rdtsc instruction to measure clocks */ ++ ++/* This version does sub-microsecond timing using rdtsc instruction, ++ * and does away with the fudged LIRC_SERIAL_TRANSMITTER_LATENCY ++ * Implicitly i586 architecture... - Steve ++ */ ++ ++static inline long send_pulse_homebrew_softcarrier(unsigned long length) ++{ ++ int flag; ++ unsigned long target, start, now; ++ ++ /* Get going quick as we can */ ++ rdtscl(start);on(); ++ /* Convert length from microseconds to clocks */ ++ length*=conv_us_to_clocks; ++ /* And loop till time is up - flipping at right intervals */ ++ now=start; ++ target=pulse_width; ++ flag=1; ++ while((now-start)>8; ++ /* Note - we've checked in ioctl that the pulse/space ++ widths are big enough so that d is > 0 */ ++ udelay(d); ++ actual+=(d<<8)+LIRC_SERIAL_TRANSMITTER_LATENCY; ++ flag=!flag; ++ } ++ return((actual-length)>>8); ++} ++#endif /* USE_RDTSC */ ++ ++static long send_pulse_homebrew(unsigned long length) ++{ ++ if(length<=0) return 0; ++ if(softcarrier) ++ { ++ return send_pulse_homebrew_softcarrier(length); ++ } ++ else ++ { ++ on(); ++ safe_udelay(length); ++ return(0); ++ } ++} ++ ++static void send_space_irdeo(long length) ++{ ++ if(length<=0) return; ++ safe_udelay(length); ++} ++ ++static void send_space_homebrew(long length) ++{ ++ off(); ++ if(length<=0) return; ++ safe_udelay(length); ++} ++ ++static void inline rbwrite(lirc_t l) ++{ ++ if(lirc_buffer_full(&rbuf)) /* no new signals will be accepted */ ++ { ++ dprintk("Buffer overrun\n"); ++ return; ++ } ++ _lirc_buffer_write_1(&rbuf, (void *)&l); ++} ++ ++static void inline frbwrite(lirc_t l) ++{ ++ /* simple noise filter */ ++ static lirc_t pulse=0L,space=0L; ++ static unsigned int ptr=0; ++ ++ if(ptr>0 && (l&PULSE_BIT)) ++ { ++ pulse+=l&PULSE_MASK; ++ if(pulse>250) ++ { ++ rbwrite(space); ++ rbwrite(pulse|PULSE_BIT); ++ ptr=0; ++ pulse=0; ++ } ++ return; ++ } ++ if(!(l&PULSE_BIT)) ++ { ++ if(ptr==0) ++ { ++ if(l>20000) ++ { ++ space=l; ++ ptr++; ++ return; ++ } ++ } ++ else ++ { ++ if(l>20000) ++ { ++ space+=pulse; ++ if(space>PULSE_MASK) space=PULSE_MASK; ++ space+=l; ++ if(space>PULSE_MASK) space=PULSE_MASK; ++ pulse=0; ++ return; ++ } ++ rbwrite(space); ++ rbwrite(pulse|PULSE_BIT); ++ ptr=0; ++ pulse=0; ++ } ++ } ++ rbwrite(l); ++} ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 19) ++static irqreturn_t irq_handler(int i, void *blah) ++#else ++static irqreturn_t irq_handler(int i, void *blah, struct pt_regs *regs) ++#endif ++{ ++ struct timeval tv; ++ int status,counter,dcd; ++ long deltv; ++ lirc_t data; ++ static int last_dcd = -1; ++ ++ if((sinp(UART_IIR) & UART_IIR_NO_INT)) ++ { ++ /* not our interrupt */ ++ return IRQ_RETVAL(IRQ_NONE); ++ } ++ ++ counter=0; ++ do{ ++ counter++; ++ status=sinp(UART_MSR); ++ if(counter>RS_ISR_PASS_LIMIT) ++ { ++ printk(KERN_WARNING LIRC_DRIVER_NAME ": AIEEEE: " ++ "We're caught!\n"); ++ break; ++ } ++ if((status&hardware[type].signal_pin_change) && sense!=-1) ++ { ++ /* get current time */ ++ do_gettimeofday(&tv); ++ ++ /* New mode, written by Trent Piepho ++ . */ ++ ++ /* The old format was not very portable. ++ We now use the type lirc_t to pass pulses ++ and spaces to user space. ++ ++ If PULSE_BIT is set a pulse has been ++ received, otherwise a space has been ++ received. The driver needs to know if your ++ receiver is active high or active low, or ++ the space/pulse sense could be ++ inverted. The bits denoted by PULSE_MASK are ++ the length in microseconds. Lengths greater ++ than or equal to 16 seconds are clamped to ++ PULSE_MASK. All other bits are unused. ++ This is a much simpler interface for user ++ programs, as well as eliminating "out of ++ phase" errors with space/pulse ++ autodetection. */ ++ ++ /* calculate time since last interrupt in ++ microseconds */ ++ dcd=(status & hardware[type].signal_pin) ? 1:0; ++ ++ if(dcd == last_dcd) ++ { ++ printk(KERN_WARNING LIRC_DRIVER_NAME ++ ": ignoring spike: %d %d %lx %lx %lx %lx\n", ++ dcd,sense, ++ tv.tv_sec,lasttv.tv_sec, ++ tv.tv_usec,lasttv.tv_usec); ++ continue; ++ } ++ ++ deltv=tv.tv_sec-lasttv.tv_sec; ++ if(tv.tv_sec15) ++ { ++ data=PULSE_MASK; /* really long time */ ++ if(!(dcd^sense)) /* sanity check */ ++ { ++ printk(KERN_WARNING LIRC_DRIVER_NAME ++ ": AIEEEE: %d %d %lx %lx %lx %lx\n", ++ dcd,sense, ++ tv.tv_sec,lasttv.tv_sec, ++ tv.tv_usec,lasttv.tv_usec); ++ /* detecting pulse while this ++ MUST be a space! */ ++ sense=sense ? 0:1; ++ } ++ } ++ else ++ { ++ data=(lirc_t) (deltv*1000000+ ++ tv.tv_usec- ++ lasttv.tv_usec); ++ } ++ frbwrite(dcd^sense ? data : (data|PULSE_BIT)); ++ lasttv=tv; ++ last_dcd = dcd; ++ wake_up_interruptible(&rbuf.wait_poll); ++ } ++ } while(!(sinp(UART_IIR) & UART_IIR_NO_INT)); /* still pending ? */ ++ return IRQ_RETVAL(IRQ_HANDLED); ++} ++ ++static void hardware_init_port(void) ++{ ++ unsigned long flags; ++ local_irq_save(flags); ++ ++ /* Set DLAB 0. */ ++ soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB)); ++ ++ /* First of all, disable all interrupts */ ++ soutp(UART_IER, sinp(UART_IER)& ++ (~(UART_IER_MSI|UART_IER_RLSI|UART_IER_THRI|UART_IER_RDI))); ++ ++ /* Clear registers. */ ++ sinp(UART_LSR); ++ sinp(UART_RX); ++ sinp(UART_IIR); ++ sinp(UART_MSR); ++ ++#if defined(LIRC_SERIAL_NSLU2) ++ if(type == LIRC_NSLU2) /* Setup NSLU2 UART */ ++ { ++ /* Enable UART */ ++ soutp(UART_IER, sinp(UART_IER) | UART_IE_IXP42X_UUE); ++ /* Disable Receiver data Time out interrupt */ ++ soutp(UART_IER, sinp(UART_IER) & ~UART_IE_IXP42X_RTOIE); ++ /* set out2 = interupt unmask; off() doesn't set MCR ++ on NSLU2 */ ++ soutp(UART_MCR,UART_MCR_RTS|UART_MCR_OUT2); ++ } ++#endif ++ ++ /* Set line for power source */ ++ off(); ++ ++ /* Clear registers again to be sure. */ ++ sinp(UART_LSR); ++ sinp(UART_RX); ++ sinp(UART_IIR); ++ sinp(UART_MSR); ++ ++ switch(type) ++ { ++ case LIRC_IRDEO: ++ case LIRC_IRDEO_REMOTE: ++ /* setup port to 7N1 @ 115200 Baud */ ++ /* 7N1+start = 9 bits at 115200 ~ 3 bits at 38kHz */ ++ ++ /* Set DLAB 1. */ ++ soutp(UART_LCR, sinp(UART_LCR) | UART_LCR_DLAB); ++ /* Set divisor to 1 => 115200 Baud */ ++ soutp(UART_DLM,0); ++ soutp(UART_DLL,1); ++ /* Set DLAB 0 + 7N1 */ ++ soutp(UART_LCR,UART_LCR_WLEN7); ++ /* THR interrupt already disabled at this point */ ++ break; ++ default: ++ break; ++ } ++ ++ local_irq_restore(flags); ++} ++ ++static int init_port(void) ++{ ++ int i, nlow, nhigh; ++ ++ /* Reserve io region. */ ++#if defined(LIRC_ALLOW_MMAPPED_IO) ++ /* Future MMAP-Developers: Attention! ++ For memory mapped I/O you *might* need to use ioremap() first, ++ for the NSLU2 it's done in boot code. */ ++ if(((iommap != 0) ++ && (request_mem_region(iommap, 8<= nhigh ? 1 : 0); ++ printk(KERN_INFO LIRC_DRIVER_NAME ": auto-detected active " ++ "%s receiver\n",sense ? "low":"high"); ++ } ++ else ++ { ++ printk(KERN_INFO LIRC_DRIVER_NAME ": Manually using active " ++ "%s receiver\n",sense ? "low":"high"); ++ }; ++ ++ return 0; ++} ++ ++static int set_use_inc(void* data) ++{ ++ int result; ++ unsigned long flags; ++ ++ /* Init read buffer. */ ++ if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) ++ return -ENOMEM; ++ ++ /* initialize timestamp */ ++ do_gettimeofday(&lasttv); ++ ++ result=request_irq(irq,irq_handler, ++ SA_INTERRUPT | (share_irq ? SA_SHIRQ:0), ++ LIRC_DRIVER_NAME,(void *)&hardware); ++ ++ switch(result) ++ { ++ case -EBUSY: ++ printk(KERN_ERR LIRC_DRIVER_NAME ": IRQ %d busy\n", irq); ++ lirc_buffer_free(&rbuf); ++ return -EBUSY; ++ case -EINVAL: ++ printk(KERN_ERR LIRC_DRIVER_NAME ++ ": Bad irq number or handler\n"); ++ lirc_buffer_free(&rbuf); ++ return -EINVAL; ++ default: ++ dprintk("Interrupt %d, port %04x obtained\n", irq, io); ++ break; ++ }; ++ ++ local_irq_save(flags); ++ ++ /* Set DLAB 0. */ ++ soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB)); ++ ++ soutp(UART_IER, sinp(UART_IER)|UART_IER_MSI); ++ ++ local_irq_restore(flags); ++ ++ MOD_INC_USE_COUNT; ++ return 0; ++} ++ ++static void set_use_dec(void* data) ++{ unsigned long flags; ++ ++ local_irq_save(flags); ++ ++ /* Set DLAB 0. */ ++ soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB)); ++ ++ /* First of all, disable all interrupts */ ++ soutp(UART_IER, sinp(UART_IER)& ++ (~(UART_IER_MSI|UART_IER_RLSI|UART_IER_THRI|UART_IER_RDI))); ++ local_irq_restore(flags); ++ ++ free_irq(irq, (void *)&hardware); ++ ++ dprintk("freed IRQ %d\n", irq); ++ lirc_buffer_free(&rbuf); ++ ++ MOD_DEC_USE_COUNT; ++} ++ ++static ssize_t lirc_write(struct file *file, const char *buf, ++ size_t n, loff_t * ppos) ++{ ++ int i,count; ++ unsigned long flags; ++ long delta=0; ++ ++ if(!(hardware[type].features&LIRC_CAN_SEND_PULSE)) ++ { ++ return(-EBADF); ++ } ++ ++ if(n%sizeof(lirc_t)) return(-EINVAL); ++ count=n/sizeof(lirc_t); ++ if(count>WBUF_LEN || count%2==0) return(-EINVAL); ++ if(copy_from_user(wbuf,buf,n)) return -EFAULT; ++ local_irq_save(flags); ++ if(type == LIRC_IRDEO) ++ { ++ /* DTR, RTS down */ ++ on(); ++ } ++ for(i=0;i100) return(-EINVAL); ++ return init_timing_params(ivalue, freq); ++ break; ++ ++ case LIRC_SET_SEND_CARRIER: ++ dprintk("SET_SEND_CARRIER\n"); ++ if(!(hardware[type].features&LIRC_CAN_SET_SEND_CARRIER)) ++ { ++ return(-ENOIOCTLCMD); ++ } ++ ++ result=get_user(ivalue,(unsigned int *) arg); ++ if(result) return(result); ++ if(ivalue>500000 || ivalue<20000) return(-EINVAL); ++ return init_timing_params(duty_cycle, ivalue); ++ break; ++ ++ default: ++ return(-ENOIOCTLCMD); ++ } ++ return(0); ++} ++ ++static struct file_operations lirc_fops = ++{ ++ write: lirc_write, ++}; ++ ++static struct lirc_plugin plugin = { ++ name: LIRC_DRIVER_NAME, ++ minor: -1, ++ code_length: 1, ++ sample_rate: 0, ++ data: NULL, ++ add_to_buf: NULL, ++ get_queue: NULL, ++ rbuf: &rbuf, ++ set_use_inc: set_use_inc, ++ set_use_dec: set_use_dec, ++ ioctl: lirc_ioctl, ++ fops: &lirc_fops, ++ dev: NULL, ++ owner: THIS_MODULE, ++}; ++ ++#ifdef MODULE ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) ++static struct platform_device *lirc_serial_igor_dev; ++ ++static int __devinit lirc_serial_igor_probe(struct platform_device *dev) { ++ return 0; ++} ++ ++static int __devexit lirc_serial_igor_remove(struct platform_device * dev) { ++ return 0; ++} ++ ++static int lirc_serial_igor_suspend(struct platform_device *dev, pm_message_t state) { ++ /* Set DLAB 0. */ ++ soutp(UART_LCR, sinp(UART_LCR) & (~UART_LCR_DLAB)); ++ ++ /* Disable all interrupts */ ++ soutp(UART_IER, sinp(UART_IER)& ++ (~(UART_IER_MSI|UART_IER_RLSI|UART_IER_THRI|UART_IER_RDI))); ++ ++ /* Clear registers. */ ++ sinp(UART_LSR); ++ sinp(UART_RX); ++ sinp(UART_IIR); ++ sinp(UART_MSR); ++ ++ return 0; ++} ++ ++static int lirc_serial_igor_resume(struct platform_device *dev) { ++ unsigned long flags; ++ ++ hardware_init_port(); ++ ++ local_irq_save(flags); ++ /* Enable Interrupt */ ++ do_gettimeofday(&lasttv); ++ soutp(UART_IER, sinp(UART_IER)|UART_IER_MSI); ++ off(); ++ ++ lirc_buffer_clear(&rbuf); ++ ++ local_irq_restore(flags); ++ ++ return 0; ++} ++ ++static struct platform_driver lirc_serial_igor_driver = { ++ .probe = lirc_serial_igor_probe, ++ .remove = __devexit_p(lirc_serial_igor_remove), ++ .suspend = lirc_serial_igor_suspend, ++ .resume = lirc_serial_igor_resume, ++ .driver = { ++ .name = "lirc_serial_igor", ++ .owner = THIS_MODULE, ++ }, ++}; ++ ++static int __init lirc_serial_igor_init(void) ++{ ++ int result; ++ ++ result = platform_driver_register(&lirc_serial_igor_driver); ++ if (result) { ++ printk("lirc register returned %d\n", result); ++ return result; ++ } ++ ++ lirc_serial_igor_dev = platform_device_alloc("lirc_serial_igor", 0); ++ if (!lirc_serial_igor_dev) { ++ result = -ENOMEM; ++ goto exit_driver_unregister; ++ } ++ ++ result = platform_device_add(lirc_serial_igor_dev); ++ if (result) { ++ goto exit_device_put; ++ } ++ ++ return 0; ++ ++exit_device_put: ++ platform_device_put(lirc_serial_igor_dev); ++exit_driver_unregister: ++ platform_driver_unregister(&lirc_serial_igor_driver); ++ return result; ++} ++ ++static void __exit lirc_serial_igor_exit(void) ++{ ++ platform_device_unregister(lirc_serial_igor_dev); ++ platform_driver_unregister(&lirc_serial_igor_driver); ++} ++#endif ++ ++int __init init_module(void) ++{ ++ int result; ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) ++ result = lirc_serial_igor_init(); ++ if(result) { ++ return result; ++ } ++#endif ++ switch(type) ++ { ++ case LIRC_HOMEBREW: ++ case LIRC_IRDEO: ++ case LIRC_IRDEO_REMOTE: ++ case LIRC_ANIMAX: ++ case LIRC_IGOR: ++#if defined(LIRC_SERIAL_NSLU2) ++ case LIRC_NSLU2: ++#endif ++ break; ++ default: ++ result = -EINVAL; ++ goto exit_serial_exit; ++ } ++ if(!softcarrier) ++ { ++ switch(type) ++ { ++ case LIRC_HOMEBREW: ++ case LIRC_IGOR: ++ case LIRC_NSLU2: ++ hardware[type].features&= ++ ~(LIRC_CAN_SET_SEND_DUTY_CYCLE| ++ LIRC_CAN_SET_SEND_CARRIER); ++ break; ++ } ++ } ++ if((result = init_port()) < 0) ++ { ++ goto exit_serial_exit; ++ } ++ plugin.features = hardware[type].features; ++ if ((plugin.minor = lirc_register_plugin(&plugin)) < 0) { ++ printk(KERN_ERR LIRC_DRIVER_NAME ++ ": register_chrdev failed!\n"); ++ result = -EIO; ++ goto exit_release; ++ } ++ return 0; ++ ++exit_release: ++ release_region(io, 8); ++exit_serial_exit: ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) ++ lirc_serial_igor_exit(); ++#endif ++ return result; ++} ++ ++void __exit cleanup_module(void) ++{ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 18) ++ lirc_serial_igor_exit(); ++#endif ++#if defined(LIRC_ALLOW_MMAPPED_IO) ++ if(iommap != 0) ++ { ++ release_mem_region(iommap, 8< /dev/null + fi + ;; +esac + +