diff options
| author | Adrian Bunk <bunk@stusta.de> | 2006-06-30 10:30:20 -0400 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-30 14:59:48 -0400 |
| commit | 07e337eeab3660559cbe1fee6907d1092037aea7 (patch) | |
| tree | d1960df404e80f7480c34a44f94ba599eb8df031 | |
| parent | c02a34f4e3e65a7b1fb64507ec5c093e8328335e (diff) | |
V4L/DVB (4287): Pvrusb2/: possible cleanups
This patch contains the following possible cleanups:
- make needlessly global code static
- #if 0 unused global functions
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-debugifc.c | 4 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h | 17 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.c | 114 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw.h | 32 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-i2c-core.c | 22 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-i2c-core.h | 3 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-io.c | 39 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-io.h | 13 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-ioread.c | 8 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-ioread.h | 1 | ||||
| -rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 16 |
11 files changed, 74 insertions, 195 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c index 586900e365ff..8092b239cf27 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-debugifc.c +++ b/drivers/media/video/pvrusb2/pvrusb2-debugifc.c | |||
| @@ -337,8 +337,8 @@ int pvr2_debugifc_print_status(struct pvr2_hdw *hdw, | |||
| 337 | } | 337 | } |
| 338 | 338 | ||
| 339 | 339 | ||
| 340 | int pvr2_debugifc_do1cmd(struct pvr2_hdw *hdw,const char *buf, | 340 | static int pvr2_debugifc_do1cmd(struct pvr2_hdw *hdw,const char *buf, |
| 341 | unsigned int count) | 341 | unsigned int count) |
| 342 | { | 342 | { |
| 343 | const char *wptr; | 343 | const char *wptr; |
| 344 | unsigned int wlen; | 344 | unsigned int wlen; |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h index ba2afbfe32c5..0d6dc33ca320 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h | |||
| @@ -354,23 +354,6 @@ struct pvr2_hdw { | |||
| 354 | unsigned int control_cnt; | 354 | unsigned int control_cnt; |
| 355 | }; | 355 | }; |
| 356 | 356 | ||
| 357 | int pvr2_hdw_commit_ctl_internal(struct pvr2_hdw *hdw); | ||
| 358 | |||
| 359 | unsigned int pvr2_hdw_get_signal_status_internal(struct pvr2_hdw *); | ||
| 360 | |||
| 361 | void pvr2_hdw_subsys_bit_chg_no_lock(struct pvr2_hdw *hdw, | ||
| 362 | unsigned long msk,unsigned long val); | ||
| 363 | void pvr2_hdw_subsys_stream_bit_chg_no_lock(struct pvr2_hdw *hdw, | ||
| 364 | unsigned long msk, | ||
| 365 | unsigned long val); | ||
| 366 | |||
| 367 | void pvr2_hdw_internal_find_stdenum(struct pvr2_hdw *hdw); | ||
| 368 | void pvr2_hdw_internal_set_std_avail(struct pvr2_hdw *hdw); | ||
| 369 | |||
| 370 | int pvr2_i2c_basic_op(struct pvr2_hdw *,u8 i2c_addr, | ||
| 371 | u8 *wdata,u16 wlen, | ||
| 372 | u8 *rdata,u16 rlen); | ||
| 373 | |||
| 374 | #endif /* __PVRUSB2_HDW_INTERNAL_H */ | 357 | #endif /* __PVRUSB2_HDW_INTERNAL_H */ |
| 375 | 358 | ||
| 376 | /* | 359 | /* |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c index c6105bce4fe8..9638591cc06f 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c | |||
| @@ -88,7 +88,7 @@ static struct pvr2_string_table pvr2_client_lists[] = { | |||
| 88 | }; | 88 | }; |
| 89 | 89 | ||
| 90 | static struct pvr2_hdw *unit_pointers[PVR_NUM] = {[ 0 ... PVR_NUM-1 ] = 0}; | 90 | static struct pvr2_hdw *unit_pointers[PVR_NUM] = {[ 0 ... PVR_NUM-1 ] = 0}; |
| 91 | DECLARE_MUTEX(pvr2_unit_sem); | 91 | static DECLARE_MUTEX(pvr2_unit_sem); |
| 92 | 92 | ||
| 93 | static int ctlchg = 0; | 93 | static int ctlchg = 0; |
| 94 | static int initusbreset = 1; | 94 | static int initusbreset = 1; |
| @@ -261,6 +261,25 @@ static const char *control_values_subsystem[] = { | |||
| 261 | [PVR2_SUBSYS_B_ENC_RUN] = "enc_run", | 261 | [PVR2_SUBSYS_B_ENC_RUN] = "enc_run", |
| 262 | }; | 262 | }; |
| 263 | 263 | ||
| 264 | static int pvr2_hdw_cmd_usbstream(struct pvr2_hdw *hdw,int runFl); | ||
| 265 | static int pvr2_hdw_commit_ctl_internal(struct pvr2_hdw *hdw); | ||
| 266 | static int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *hdw); | ||
| 267 | static unsigned int pvr2_hdw_get_signal_status_internal(struct pvr2_hdw *hdw); | ||
| 268 | static void pvr2_hdw_internal_find_stdenum(struct pvr2_hdw *hdw); | ||
| 269 | static void pvr2_hdw_internal_set_std_avail(struct pvr2_hdw *hdw); | ||
| 270 | static void pvr2_hdw_render_useless_unlocked(struct pvr2_hdw *hdw); | ||
| 271 | static void pvr2_hdw_subsys_bit_chg_no_lock(struct pvr2_hdw *hdw, | ||
| 272 | unsigned long msk, | ||
| 273 | unsigned long val); | ||
| 274 | static void pvr2_hdw_subsys_stream_bit_chg_no_lock(struct pvr2_hdw *hdw, | ||
| 275 | unsigned long msk, | ||
| 276 | unsigned long val); | ||
| 277 | static int pvr2_send_request_ex(struct pvr2_hdw *hdw, | ||
| 278 | unsigned int timeout,int probe_fl, | ||
| 279 | void *write_data,unsigned int write_len, | ||
| 280 | void *read_data,unsigned int read_len); | ||
| 281 | static int pvr2_write_u16(struct pvr2_hdw *hdw, u16 data, int res); | ||
| 282 | static int pvr2_write_u8(struct pvr2_hdw *hdw, u8 data, int res); | ||
| 264 | 283 | ||
| 265 | static int ctrl_channelfreq_get(struct pvr2_ctrl *cptr,int *vp) | 284 | static int ctrl_channelfreq_get(struct pvr2_ctrl *cptr,int *vp) |
| 266 | { | 285 | { |
| @@ -834,14 +853,6 @@ unsigned long pvr2_hdw_get_sn(struct pvr2_hdw *hdw) | |||
| 834 | } | 853 | } |
| 835 | 854 | ||
| 836 | 855 | ||
| 837 | struct pvr2_hdw *pvr2_hdw_find(int unit_number) | ||
| 838 | { | ||
| 839 | if (unit_number < 0) return 0; | ||
| 840 | if (unit_number >= PVR_NUM) return 0; | ||
| 841 | return unit_pointers[unit_number]; | ||
| 842 | } | ||
| 843 | |||
| 844 | |||
| 845 | int pvr2_hdw_get_unit_number(struct pvr2_hdw *hdw) | 856 | int pvr2_hdw_get_unit_number(struct pvr2_hdw *hdw) |
| 846 | { | 857 | { |
| 847 | return hdw->unit_number; | 858 | return hdw->unit_number; |
| @@ -915,7 +926,7 @@ static int pvr2_locate_firmware(struct pvr2_hdw *hdw, | |||
| 915 | * is not suitable for an usb transaction. | 926 | * is not suitable for an usb transaction. |
| 916 | * | 927 | * |
| 917 | */ | 928 | */ |
| 918 | int pvr2_upload_firmware1(struct pvr2_hdw *hdw) | 929 | static int pvr2_upload_firmware1(struct pvr2_hdw *hdw) |
| 919 | { | 930 | { |
| 920 | const struct firmware *fw_entry = 0; | 931 | const struct firmware *fw_entry = 0; |
| 921 | void *fw_ptr; | 932 | void *fw_ptr; |
| @@ -1164,8 +1175,9 @@ int pvr2_upload_firmware2(struct pvr2_hdw *hdw) | |||
| 1164 | reconfigure and start over. | 1175 | reconfigure and start over. |
| 1165 | 1176 | ||
| 1166 | */ | 1177 | */ |
| 1167 | void pvr2_hdw_subsys_bit_chg_no_lock(struct pvr2_hdw *hdw, | 1178 | static void pvr2_hdw_subsys_bit_chg_no_lock(struct pvr2_hdw *hdw, |
| 1168 | unsigned long msk,unsigned long val) | 1179 | unsigned long msk, |
| 1180 | unsigned long val) | ||
| 1169 | { | 1181 | { |
| 1170 | unsigned long nmsk; | 1182 | unsigned long nmsk; |
| 1171 | unsigned long vmsk; | 1183 | unsigned long vmsk; |
| @@ -1316,18 +1328,6 @@ void pvr2_hdw_subsys_bit_chg(struct pvr2_hdw *hdw, | |||
| 1316 | } | 1328 | } |
| 1317 | 1329 | ||
| 1318 | 1330 | ||
| 1319 | void pvr2_hdw_subsys_bit_set(struct pvr2_hdw *hdw,unsigned long msk) | ||
| 1320 | { | ||
| 1321 | pvr2_hdw_subsys_bit_chg(hdw,msk,msk); | ||
| 1322 | } | ||
| 1323 | |||
| 1324 | |||
| 1325 | void pvr2_hdw_subsys_bit_clr(struct pvr2_hdw *hdw,unsigned long msk) | ||
| 1326 | { | ||
| 1327 | pvr2_hdw_subsys_bit_chg(hdw,msk,0); | ||
| 1328 | } | ||
| 1329 | |||
| 1330 | |||
| 1331 | unsigned long pvr2_hdw_subsys_get(struct pvr2_hdw *hdw) | 1331 | unsigned long pvr2_hdw_subsys_get(struct pvr2_hdw *hdw) |
| 1332 | { | 1332 | { |
| 1333 | return hdw->subsys_enabled_mask; | 1333 | return hdw->subsys_enabled_mask; |
| @@ -1340,9 +1340,9 @@ unsigned long pvr2_hdw_subsys_stream_get(struct pvr2_hdw *hdw) | |||
| 1340 | } | 1340 | } |
| 1341 | 1341 | ||
| 1342 | 1342 | ||
| 1343 | void pvr2_hdw_subsys_stream_bit_chg_no_lock(struct pvr2_hdw *hdw, | 1343 | static void pvr2_hdw_subsys_stream_bit_chg_no_lock(struct pvr2_hdw *hdw, |
| 1344 | unsigned long msk, | 1344 | unsigned long msk, |
| 1345 | unsigned long val) | 1345 | unsigned long val) |
| 1346 | { | 1346 | { |
| 1347 | unsigned long val2; | 1347 | unsigned long val2; |
| 1348 | msk &= PVR2_SUBSYS_ALL; | 1348 | msk &= PVR2_SUBSYS_ALL; |
| @@ -1364,7 +1364,7 @@ void pvr2_hdw_subsys_stream_bit_chg(struct pvr2_hdw *hdw, | |||
| 1364 | } | 1364 | } |
| 1365 | 1365 | ||
| 1366 | 1366 | ||
| 1367 | int pvr2_hdw_set_streaming_no_lock(struct pvr2_hdw *hdw,int enableFl) | 1367 | static int pvr2_hdw_set_streaming_no_lock(struct pvr2_hdw *hdw,int enableFl) |
| 1368 | { | 1368 | { |
| 1369 | if ((!enableFl) == !(hdw->flag_streaming_enabled)) return 0; | 1369 | if ((!enableFl) == !(hdw->flag_streaming_enabled)) return 0; |
| 1370 | if (enableFl) { | 1370 | if (enableFl) { |
| @@ -1398,8 +1398,8 @@ int pvr2_hdw_set_streaming(struct pvr2_hdw *hdw,int enable_flag) | |||
| 1398 | } | 1398 | } |
| 1399 | 1399 | ||
| 1400 | 1400 | ||
| 1401 | int pvr2_hdw_set_stream_type_no_lock(struct pvr2_hdw *hdw, | 1401 | static int pvr2_hdw_set_stream_type_no_lock(struct pvr2_hdw *hdw, |
| 1402 | enum pvr2_config config) | 1402 | enum pvr2_config config) |
| 1403 | { | 1403 | { |
| 1404 | unsigned long sm = hdw->subsys_enabled_mask; | 1404 | unsigned long sm = hdw->subsys_enabled_mask; |
| 1405 | if (!hdw->flag_ok) return -EIO; | 1405 | if (!hdw->flag_ok) return -EIO; |
| @@ -1926,7 +1926,7 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf, | |||
| 1926 | 1926 | ||
| 1927 | /* Remove _all_ associations between this driver and the underlying USB | 1927 | /* Remove _all_ associations between this driver and the underlying USB |
| 1928 | layer. */ | 1928 | layer. */ |
| 1929 | void pvr2_hdw_remove_usb_stuff(struct pvr2_hdw *hdw) | 1929 | static void pvr2_hdw_remove_usb_stuff(struct pvr2_hdw *hdw) |
| 1930 | { | 1930 | { |
| 1931 | if (hdw->flag_disconnected) return; | 1931 | if (hdw->flag_disconnected) return; |
| 1932 | pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_remove_usb_stuff: hdw=%p",hdw); | 1932 | pvr2_trace(PVR2_TRACE_INIT,"pvr2_hdw_remove_usb_stuff: hdw=%p",hdw); |
| @@ -2016,7 +2016,7 @@ void pvr2_hdw_disconnect(struct pvr2_hdw *hdw) | |||
| 2016 | 2016 | ||
| 2017 | // Attempt to autoselect an appropriate value for std_enum_cur given | 2017 | // Attempt to autoselect an appropriate value for std_enum_cur given |
| 2018 | // whatever is currently in std_mask_cur | 2018 | // whatever is currently in std_mask_cur |
| 2019 | void pvr2_hdw_internal_find_stdenum(struct pvr2_hdw *hdw) | 2019 | static void pvr2_hdw_internal_find_stdenum(struct pvr2_hdw *hdw) |
| 2020 | { | 2020 | { |
| 2021 | unsigned int idx; | 2021 | unsigned int idx; |
| 2022 | for (idx = 1; idx < hdw->std_enum_cnt; idx++) { | 2022 | for (idx = 1; idx < hdw->std_enum_cnt; idx++) { |
| @@ -2031,7 +2031,7 @@ void pvr2_hdw_internal_find_stdenum(struct pvr2_hdw *hdw) | |||
| 2031 | 2031 | ||
| 2032 | // Calculate correct set of enumerated standards based on currently known | 2032 | // Calculate correct set of enumerated standards based on currently known |
| 2033 | // set of available standards bits. | 2033 | // set of available standards bits. |
| 2034 | void pvr2_hdw_internal_set_std_avail(struct pvr2_hdw *hdw) | 2034 | static void pvr2_hdw_internal_set_std_avail(struct pvr2_hdw *hdw) |
| 2035 | { | 2035 | { |
| 2036 | struct v4l2_standard *newstd; | 2036 | struct v4l2_standard *newstd; |
| 2037 | unsigned int std_cnt; | 2037 | unsigned int std_cnt; |
| @@ -2180,7 +2180,7 @@ static const char *get_ctrl_typename(enum pvr2_ctl_type tp) | |||
| 2180 | state(s) back to their previous value before this function was called. | 2180 | state(s) back to their previous value before this function was called. |
| 2181 | Thus we can automatically reconfigure affected pieces of the driver as | 2181 | Thus we can automatically reconfigure affected pieces of the driver as |
| 2182 | controls are changed. */ | 2182 | controls are changed. */ |
| 2183 | int pvr2_hdw_commit_ctl_internal(struct pvr2_hdw *hdw) | 2183 | static int pvr2_hdw_commit_ctl_internal(struct pvr2_hdw *hdw) |
| 2184 | { | 2184 | { |
| 2185 | unsigned long saved_subsys_mask = hdw->subsys_enabled_mask; | 2185 | unsigned long saved_subsys_mask = hdw->subsys_enabled_mask; |
| 2186 | unsigned long stale_subsys_mask = 0; | 2186 | unsigned long stale_subsys_mask = 0; |
| @@ -2319,14 +2319,6 @@ void pvr2_hdw_poll_trigger_unlocked(struct pvr2_hdw *hdw) | |||
| 2319 | } | 2319 | } |
| 2320 | 2320 | ||
| 2321 | 2321 | ||
| 2322 | void pvr2_hdw_poll_trigger(struct pvr2_hdw *hdw) | ||
| 2323 | { | ||
| 2324 | LOCK_TAKE(hdw->big_lock); do { | ||
| 2325 | pvr2_hdw_poll_trigger_unlocked(hdw); | ||
| 2326 | } while (0); LOCK_GIVE(hdw->big_lock); | ||
| 2327 | } | ||
| 2328 | |||
| 2329 | |||
| 2330 | /* Return name for this driver instance */ | 2322 | /* Return name for this driver instance */ |
| 2331 | const char *pvr2_hdw_get_driver_name(struct pvr2_hdw *hdw) | 2323 | const char *pvr2_hdw_get_driver_name(struct pvr2_hdw *hdw) |
| 2332 | { | 2324 | { |
| @@ -2335,7 +2327,7 @@ const char *pvr2_hdw_get_driver_name(struct pvr2_hdw *hdw) | |||
| 2335 | 2327 | ||
| 2336 | 2328 | ||
| 2337 | /* Return bit mask indicating signal status */ | 2329 | /* Return bit mask indicating signal status */ |
| 2338 | unsigned int pvr2_hdw_get_signal_status_internal(struct pvr2_hdw *hdw) | 2330 | static unsigned int pvr2_hdw_get_signal_status_internal(struct pvr2_hdw *hdw) |
| 2339 | { | 2331 | { |
| 2340 | unsigned int msk = 0; | 2332 | unsigned int msk = 0; |
| 2341 | switch (hdw->input_val) { | 2333 | switch (hdw->input_val) { |
| @@ -2517,22 +2509,6 @@ void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *hdw,int v) | |||
| 2517 | } | 2509 | } |
| 2518 | 2510 | ||
| 2519 | 2511 | ||
| 2520 | void pvr2_reset_ctl_endpoints(struct pvr2_hdw *hdw) | ||
| 2521 | { | ||
| 2522 | if (!hdw->usb_dev) return; | ||
| 2523 | usb_settoggle(hdw->usb_dev, PVR2_CTL_WRITE_ENDPOINT & 0xf, | ||
| 2524 | !(PVR2_CTL_WRITE_ENDPOINT & USB_DIR_IN), 0); | ||
| 2525 | usb_settoggle(hdw->usb_dev, PVR2_CTL_READ_ENDPOINT & 0xf, | ||
| 2526 | !(PVR2_CTL_READ_ENDPOINT & USB_DIR_IN), 0); | ||
| 2527 | usb_clear_halt(hdw->usb_dev, | ||
| 2528 | usb_rcvbulkpipe(hdw->usb_dev, | ||
| 2529 | PVR2_CTL_READ_ENDPOINT & 0x7f)); | ||
| 2530 | usb_clear_halt(hdw->usb_dev, | ||
| 2531 | usb_sndbulkpipe(hdw->usb_dev, | ||
| 2532 | PVR2_CTL_WRITE_ENDPOINT & 0x7f)); | ||
| 2533 | } | ||
| 2534 | |||
| 2535 | |||
| 2536 | static void pvr2_ctl_write_complete(struct urb *urb, struct pt_regs *regs) | 2512 | static void pvr2_ctl_write_complete(struct urb *urb, struct pt_regs *regs) |
| 2537 | { | 2513 | { |
| 2538 | struct pvr2_hdw *hdw = urb->context; | 2514 | struct pvr2_hdw *hdw = urb->context; |
| @@ -2566,10 +2542,10 @@ static void pvr2_ctl_timeout(unsigned long data) | |||
| 2566 | } | 2542 | } |
| 2567 | 2543 | ||
| 2568 | 2544 | ||
| 2569 | int pvr2_send_request_ex(struct pvr2_hdw *hdw, | 2545 | static int pvr2_send_request_ex(struct pvr2_hdw *hdw, |
| 2570 | unsigned int timeout,int probe_fl, | 2546 | unsigned int timeout,int probe_fl, |
| 2571 | void *write_data,unsigned int write_len, | 2547 | void *write_data,unsigned int write_len, |
| 2572 | void *read_data,unsigned int read_len) | 2548 | void *read_data,unsigned int read_len) |
| 2573 | { | 2549 | { |
| 2574 | unsigned int idx; | 2550 | unsigned int idx; |
| 2575 | int status = 0; | 2551 | int status = 0; |
| @@ -2824,7 +2800,7 @@ int pvr2_write_register(struct pvr2_hdw *hdw, u16 reg, u32 data) | |||
| 2824 | } | 2800 | } |
| 2825 | 2801 | ||
| 2826 | 2802 | ||
| 2827 | int pvr2_read_register(struct pvr2_hdw *hdw, u16 reg, u32 *data) | 2803 | static int pvr2_read_register(struct pvr2_hdw *hdw, u16 reg, u32 *data) |
| 2828 | { | 2804 | { |
| 2829 | int ret = 0; | 2805 | int ret = 0; |
| 2830 | 2806 | ||
| @@ -2848,7 +2824,7 @@ int pvr2_read_register(struct pvr2_hdw *hdw, u16 reg, u32 *data) | |||
| 2848 | } | 2824 | } |
| 2849 | 2825 | ||
| 2850 | 2826 | ||
| 2851 | int pvr2_write_u16(struct pvr2_hdw *hdw, u16 data, int res) | 2827 | static int pvr2_write_u16(struct pvr2_hdw *hdw, u16 data, int res) |
| 2852 | { | 2828 | { |
| 2853 | int ret; | 2829 | int ret; |
| 2854 | 2830 | ||
| @@ -2865,7 +2841,7 @@ int pvr2_write_u16(struct pvr2_hdw *hdw, u16 data, int res) | |||
| 2865 | } | 2841 | } |
| 2866 | 2842 | ||
| 2867 | 2843 | ||
| 2868 | int pvr2_write_u8(struct pvr2_hdw *hdw, u8 data, int res) | 2844 | static int pvr2_write_u8(struct pvr2_hdw *hdw, u8 data, int res) |
| 2869 | { | 2845 | { |
| 2870 | int ret; | 2846 | int ret; |
| 2871 | 2847 | ||
| @@ -2881,7 +2857,7 @@ int pvr2_write_u8(struct pvr2_hdw *hdw, u8 data, int res) | |||
| 2881 | } | 2857 | } |
| 2882 | 2858 | ||
| 2883 | 2859 | ||
| 2884 | void pvr2_hdw_render_useless_unlocked(struct pvr2_hdw *hdw) | 2860 | static void pvr2_hdw_render_useless_unlocked(struct pvr2_hdw *hdw) |
| 2885 | { | 2861 | { |
| 2886 | if (!hdw->flag_ok) return; | 2862 | if (!hdw->flag_ok) return; |
| 2887 | pvr2_trace(PVR2_TRACE_INIT,"render_useless"); | 2863 | pvr2_trace(PVR2_TRACE_INIT,"render_useless"); |
| @@ -2994,7 +2970,7 @@ int pvr2_hdw_cmd_decoder_reset(struct pvr2_hdw *hdw) | |||
| 2994 | } | 2970 | } |
| 2995 | 2971 | ||
| 2996 | 2972 | ||
| 2997 | int pvr2_hdw_cmd_usbstream(struct pvr2_hdw *hdw,int runFl) | 2973 | static int pvr2_hdw_cmd_usbstream(struct pvr2_hdw *hdw,int runFl) |
| 2998 | { | 2974 | { |
| 2999 | int status; | 2975 | int status; |
| 3000 | LOCK_TAKE(hdw->ctl_lock); do { | 2976 | LOCK_TAKE(hdw->ctl_lock); do { |
| @@ -3092,7 +3068,7 @@ int pvr2_hdw_gpio_chg_out(struct pvr2_hdw *hdw,u32 msk,u32 val) | |||
| 3092 | } | 3068 | } |
| 3093 | 3069 | ||
| 3094 | 3070 | ||
| 3095 | int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *hdw) | 3071 | static int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *hdw) |
| 3096 | { | 3072 | { |
| 3097 | int result; | 3073 | int result; |
| 3098 | LOCK_TAKE(hdw->ctl_lock); do { | 3074 | LOCK_TAKE(hdw->ctl_lock); do { |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.h b/drivers/media/video/pvrusb2/pvrusb2-hdw.h index 63f529154431..fd931b5da490 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw.h +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.h | |||
| @@ -91,7 +91,6 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf, | |||
| 91 | void pvr2_hdw_poll(struct pvr2_hdw *); | 91 | void pvr2_hdw_poll(struct pvr2_hdw *); |
| 92 | 92 | ||
| 93 | /* Trigger a poll to take place later at a convenient time */ | 93 | /* Trigger a poll to take place later at a convenient time */ |
| 94 | void pvr2_hdw_poll_trigger(struct pvr2_hdw *); | ||
| 95 | void pvr2_hdw_poll_trigger_unlocked(struct pvr2_hdw *); | 94 | void pvr2_hdw_poll_trigger_unlocked(struct pvr2_hdw *); |
| 96 | 95 | ||
| 97 | /* Register a callback used to trigger a future poll */ | 96 | /* Register a callback used to trigger a future poll */ |
| @@ -99,9 +98,6 @@ void pvr2_hdw_setup_poll_trigger(struct pvr2_hdw *, | |||
| 99 | void (*func)(void *), | 98 | void (*func)(void *), |
| 100 | void *data); | 99 | void *data); |
| 101 | 100 | ||
| 102 | /* Get pointer to structure given unit number */ | ||
| 103 | struct pvr2_hdw *pvr2_hdw_find(int unit_number); | ||
| 104 | |||
| 105 | /* Destroy hardware interaction structure */ | 101 | /* Destroy hardware interaction structure */ |
| 106 | void pvr2_hdw_destroy(struct pvr2_hdw *); | 102 | void pvr2_hdw_destroy(struct pvr2_hdw *); |
| 107 | 103 | ||
| @@ -180,12 +176,6 @@ int pvr2_hdw_get_stdenum_value(struct pvr2_hdw *hdw,struct v4l2_standard *std, | |||
| 180 | void pvr2_hdw_subsys_bit_chg(struct pvr2_hdw *hdw, | 176 | void pvr2_hdw_subsys_bit_chg(struct pvr2_hdw *hdw, |
| 181 | unsigned long msk,unsigned long val); | 177 | unsigned long msk,unsigned long val); |
| 182 | 178 | ||
| 183 | /* Shortcut for pvr2_hdw_subsys_bit_chg(hdw,msk,msk) */ | ||
| 184 | void pvr2_hdw_subsys_bit_set(struct pvr2_hdw *hdw,unsigned long msk); | ||
| 185 | |||
| 186 | /* Shortcut for pvr2_hdw_subsys_bit_chg(hdw,msk,0) */ | ||
| 187 | void pvr2_hdw_subsys_bit_clr(struct pvr2_hdw *hdw,unsigned long msk); | ||
| 188 | |||
| 189 | /* Retrieve mask indicating which pieces of hardware are currently enabled | 179 | /* Retrieve mask indicating which pieces of hardware are currently enabled |
| 190 | / configured. */ | 180 | / configured. */ |
| 191 | unsigned long pvr2_hdw_subsys_get(struct pvr2_hdw *); | 181 | unsigned long pvr2_hdw_subsys_get(struct pvr2_hdw *); |
| @@ -225,34 +215,18 @@ void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *,int); | |||
| 225 | /* The following entry points are all lower level things you normally don't | 215 | /* The following entry points are all lower level things you normally don't |
| 226 | want to worry about. */ | 216 | want to worry about. */ |
| 227 | 217 | ||
| 228 | /* Attempt to recover from a USB foul-up (in practice I find that if you | ||
| 229 | have to do this, then it's already too late). */ | ||
| 230 | void pvr2_reset_ctl_endpoints(struct pvr2_hdw *hdw); | ||
| 231 | |||
| 232 | /* Issue a command and get a response from the device. LOTS of higher | 218 | /* Issue a command and get a response from the device. LOTS of higher |
| 233 | level stuff is built on this. */ | 219 | level stuff is built on this. */ |
| 234 | int pvr2_send_request(struct pvr2_hdw *, | 220 | int pvr2_send_request(struct pvr2_hdw *, |
| 235 | void *write_ptr,unsigned int write_len, | 221 | void *write_ptr,unsigned int write_len, |
| 236 | void *read_ptr,unsigned int read_len); | 222 | void *read_ptr,unsigned int read_len); |
| 237 | 223 | ||
| 238 | /* Issue a command and get a response from the device. This extended | ||
| 239 | version includes a probe flag (which if set means that device errors | ||
| 240 | should not be logged or treated as fatal) and a timeout in jiffies. | ||
| 241 | This can be used to non-lethally probe the health of endpoint 1. */ | ||
| 242 | int pvr2_send_request_ex(struct pvr2_hdw *,unsigned int timeout,int probe_fl, | ||
| 243 | void *write_ptr,unsigned int write_len, | ||
| 244 | void *read_ptr,unsigned int read_len); | ||
| 245 | |||
| 246 | /* Slightly higher level device communication functions. */ | 224 | /* Slightly higher level device communication functions. */ |
| 247 | int pvr2_write_register(struct pvr2_hdw *, u16, u32); | 225 | int pvr2_write_register(struct pvr2_hdw *, u16, u32); |
| 248 | int pvr2_read_register(struct pvr2_hdw *, u16, u32 *); | ||
| 249 | int pvr2_write_u16(struct pvr2_hdw *, u16, int); | ||
| 250 | int pvr2_write_u8(struct pvr2_hdw *, u8, int); | ||
| 251 | 226 | ||
| 252 | /* Call if for any reason we can't talk to the hardware anymore - this will | 227 | /* Call if for any reason we can't talk to the hardware anymore - this will |
| 253 | cause the driver to stop flailing on the device. */ | 228 | cause the driver to stop flailing on the device. */ |
| 254 | void pvr2_hdw_render_useless(struct pvr2_hdw *); | 229 | void pvr2_hdw_render_useless(struct pvr2_hdw *); |
| 255 | void pvr2_hdw_render_useless_unlocked(struct pvr2_hdw *); | ||
| 256 | 230 | ||
| 257 | /* Set / clear 8051's reset bit */ | 231 | /* Set / clear 8051's reset bit */ |
| 258 | void pvr2_hdw_cpureset_assert(struct pvr2_hdw *,int); | 232 | void pvr2_hdw_cpureset_assert(struct pvr2_hdw *,int); |
| @@ -271,12 +245,6 @@ int pvr2_hdw_cmd_powerup(struct pvr2_hdw *); | |||
| 271 | /* Order decoder to reset */ | 245 | /* Order decoder to reset */ |
| 272 | int pvr2_hdw_cmd_decoder_reset(struct pvr2_hdw *); | 246 | int pvr2_hdw_cmd_decoder_reset(struct pvr2_hdw *); |
| 273 | 247 | ||
| 274 | /* Stop / start video stream transport */ | ||
| 275 | int pvr2_hdw_cmd_usbstream(struct pvr2_hdw *hdw,int runFl); | ||
| 276 | |||
| 277 | /* Find I2C address of eeprom */ | ||
| 278 | int pvr2_hdw_get_eeprom_addr(struct pvr2_hdw *); | ||
| 279 | |||
| 280 | /* Direct manipulation of GPIO bits */ | 248 | /* Direct manipulation of GPIO bits */ |
| 281 | int pvr2_hdw_gpio_get_dir(struct pvr2_hdw *hdw,u32 *); | 249 | int pvr2_hdw_gpio_get_dir(struct pvr2_hdw *hdw,u32 *); |
| 282 | int pvr2_hdw_gpio_get_out(struct pvr2_hdw *hdw,u32 *); | 250 | int pvr2_hdw_gpio_get_out(struct pvr2_hdw *hdw,u32 *); |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c index c8d0bdee3ff1..eca48c90b553 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c +++ b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.c | |||
| @@ -37,6 +37,10 @@ static unsigned int i2c_scan = 0; | |||
| 37 | module_param(i2c_scan, int, S_IRUGO|S_IWUSR); | 37 | module_param(i2c_scan, int, S_IRUGO|S_IWUSR); |
| 38 | MODULE_PARM_DESC(i2c_scan,"scan i2c bus at insmod time"); | 38 | MODULE_PARM_DESC(i2c_scan,"scan i2c bus at insmod time"); |
| 39 | 39 | ||
| 40 | static unsigned int pvr2_i2c_client_describe(struct pvr2_i2c_client *cp, | ||
| 41 | unsigned int detail, | ||
| 42 | char *buf,unsigned int maxlen); | ||
| 43 | |||
| 40 | static int pvr2_i2c_write(struct pvr2_hdw *hdw, /* Context */ | 44 | static int pvr2_i2c_write(struct pvr2_hdw *hdw, /* Context */ |
| 41 | u8 i2c_addr, /* I2C address we're talking to */ | 45 | u8 i2c_addr, /* I2C address we're talking to */ |
| 42 | u8 *data, /* Data to write */ | 46 | u8 *data, /* Data to write */ |
| @@ -165,12 +169,12 @@ static int pvr2_i2c_read(struct pvr2_hdw *hdw, /* Context */ | |||
| 165 | 169 | ||
| 166 | /* This is the common low level entry point for doing I2C operations to the | 170 | /* This is the common low level entry point for doing I2C operations to the |
| 167 | hardware. */ | 171 | hardware. */ |
| 168 | int pvr2_i2c_basic_op(struct pvr2_hdw *hdw, | 172 | static int pvr2_i2c_basic_op(struct pvr2_hdw *hdw, |
| 169 | u8 i2c_addr, | 173 | u8 i2c_addr, |
| 170 | u8 *wdata, | 174 | u8 *wdata, |
| 171 | u16 wlen, | 175 | u16 wlen, |
| 172 | u8 *rdata, | 176 | u8 *rdata, |
| 173 | u16 rlen) | 177 | u16 rlen) |
| 174 | { | 178 | { |
| 175 | if (!rdata) rlen = 0; | 179 | if (!rdata) rlen = 0; |
| 176 | if (!wdata) wlen = 0; | 180 | if (!wdata) wlen = 0; |
| @@ -705,9 +709,9 @@ int pvr2_i2c_core_check_stale(struct pvr2_hdw *hdw) | |||
| 705 | return (hdw->i2c_pend_types & PVR2_I2C_PEND_ALL) != 0; | 709 | return (hdw->i2c_pend_types & PVR2_I2C_PEND_ALL) != 0; |
| 706 | } | 710 | } |
| 707 | 711 | ||
| 708 | unsigned int pvr2_i2c_client_describe(struct pvr2_i2c_client *cp, | 712 | static unsigned int pvr2_i2c_client_describe(struct pvr2_i2c_client *cp, |
| 709 | unsigned int detail, | 713 | unsigned int detail, |
| 710 | char *buf,unsigned int maxlen) | 714 | char *buf,unsigned int maxlen) |
| 711 | { | 715 | { |
| 712 | unsigned int ccnt,bcnt; | 716 | unsigned int ccnt,bcnt; |
| 713 | int spcfl = 0; | 717 | int spcfl = 0; |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.h b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.h index e8af5b0ed3ce..6d7e25247576 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-i2c-core.h +++ b/drivers/media/video/pvrusb2/pvrusb2-i2c-core.h | |||
| @@ -75,9 +75,6 @@ unsigned int pvr2_i2c_report(struct pvr2_hdw *,char *buf,unsigned int maxlen); | |||
| 75 | PVR2_I2C_DETAIL_DEBUG |\ | 75 | PVR2_I2C_DETAIL_DEBUG |\ |
| 76 | PVR2_I2C_DETAIL_HANDLER |\ | 76 | PVR2_I2C_DETAIL_HANDLER |\ |
| 77 | PVR2_I2C_DETAIL_CTLMASK) | 77 | PVR2_I2C_DETAIL_CTLMASK) |
| 78 | unsigned int pvr2_i2c_client_describe(struct pvr2_i2c_client *, | ||
| 79 | unsigned int detail_mask, | ||
| 80 | char *buf,unsigned int maxlen); | ||
| 81 | 78 | ||
| 82 | void pvr2_i2c_probe(struct pvr2_hdw *,struct pvr2_i2c_client *); | 79 | void pvr2_i2c_probe(struct pvr2_hdw *,struct pvr2_i2c_client *); |
| 83 | const struct pvr2_i2c_op *pvr2_i2c_get_op(unsigned int idx); | 80 | const struct pvr2_i2c_op *pvr2_i2c_get_op(unsigned int idx); |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-io.c b/drivers/media/video/pvrusb2/pvrusb2-io.c index a984c91f571c..c032777a977f 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-io.c +++ b/drivers/media/video/pvrusb2/pvrusb2-io.c | |||
| @@ -93,7 +93,7 @@ struct pvr2_buffer { | |||
| 93 | struct urb *purb; | 93 | struct urb *purb; |
| 94 | }; | 94 | }; |
| 95 | 95 | ||
| 96 | const char *pvr2_buffer_state_decode(enum pvr2_buffer_state st) | 96 | static const char *pvr2_buffer_state_decode(enum pvr2_buffer_state st) |
| 97 | { | 97 | { |
| 98 | switch (st) { | 98 | switch (st) { |
| 99 | case pvr2_buffer_state_none: return "none"; | 99 | case pvr2_buffer_state_none: return "none"; |
| @@ -104,7 +104,8 @@ const char *pvr2_buffer_state_decode(enum pvr2_buffer_state st) | |||
| 104 | return "unknown"; | 104 | return "unknown"; |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | void pvr2_buffer_describe(struct pvr2_buffer *bp,const char *msg) | 107 | #ifdef SANITY_CHECK_BUFFERS |
| 108 | static void pvr2_buffer_describe(struct pvr2_buffer *bp,const char *msg) | ||
| 108 | { | 109 | { |
| 109 | pvr2_trace(PVR2_TRACE_INFO, | 110 | pvr2_trace(PVR2_TRACE_INFO, |
| 110 | "buffer%s%s %p state=%s id=%d status=%d" | 111 | "buffer%s%s %p state=%s id=%d status=%d" |
| @@ -119,6 +120,7 @@ void pvr2_buffer_describe(struct pvr2_buffer *bp,const char *msg) | |||
| 119 | (bp ? bp->purb : 0), | 120 | (bp ? bp->purb : 0), |
| 120 | (bp ? bp->signature : 0)); | 121 | (bp ? bp->signature : 0)); |
| 121 | } | 122 | } |
| 123 | #endif /* SANITY_CHECK_BUFFERS */ | ||
| 122 | 124 | ||
| 123 | static void pvr2_buffer_remove(struct pvr2_buffer *bp) | 125 | static void pvr2_buffer_remove(struct pvr2_buffer *bp) |
| 124 | { | 126 | { |
| @@ -513,10 +515,6 @@ void pvr2_stream_set_callback(struct pvr2_stream *sp, | |||
| 513 | } | 515 | } |
| 514 | 516 | ||
| 515 | /* Query / set the nominal buffer count */ | 517 | /* Query / set the nominal buffer count */ |
| 516 | int pvr2_stream_get_buffer_count(struct pvr2_stream *sp) | ||
| 517 | { | ||
| 518 | return sp->buffer_target_count; | ||
| 519 | } | ||
| 520 | 518 | ||
| 521 | int pvr2_stream_set_buffer_count(struct pvr2_stream *sp,unsigned int cnt) | 519 | int pvr2_stream_set_buffer_count(struct pvr2_stream *sp,unsigned int cnt) |
| 522 | { | 520 | { |
| @@ -555,17 +553,6 @@ int pvr2_stream_get_ready_count(struct pvr2_stream *sp) | |||
| 555 | return sp->r_count; | 553 | return sp->r_count; |
| 556 | } | 554 | } |
| 557 | 555 | ||
| 558 | int pvr2_stream_get_idle_count(struct pvr2_stream *sp) | ||
| 559 | { | ||
| 560 | return sp->i_count; | ||
| 561 | } | ||
| 562 | |||
| 563 | void pvr2_stream_flush(struct pvr2_stream *sp) | ||
| 564 | { | ||
| 565 | mutex_lock(&sp->mutex); do { | ||
| 566 | pvr2_stream_internal_flush(sp); | ||
| 567 | } while(0); mutex_unlock(&sp->mutex); | ||
| 568 | } | ||
| 569 | 556 | ||
| 570 | void pvr2_stream_kill(struct pvr2_stream *sp) | 557 | void pvr2_stream_kill(struct pvr2_stream *sp) |
| 571 | { | 558 | { |
| @@ -620,20 +607,6 @@ int pvr2_buffer_queue(struct pvr2_buffer *bp) | |||
| 620 | return ret; | 607 | return ret; |
| 621 | } | 608 | } |
| 622 | 609 | ||
| 623 | int pvr2_buffer_idle(struct pvr2_buffer *bp) | ||
| 624 | { | ||
| 625 | struct pvr2_stream *sp; | ||
| 626 | if (!bp) return -EINVAL; | ||
| 627 | sp = bp->stream; | ||
| 628 | mutex_lock(&sp->mutex); do { | ||
| 629 | pvr2_buffer_wipe(bp); | ||
| 630 | pvr2_buffer_set_idle(bp); | ||
| 631 | if (sp->buffer_total_count != sp->buffer_target_count) { | ||
| 632 | pvr2_stream_achieve_buffer_count(sp); | ||
| 633 | } | ||
| 634 | } while(0); mutex_unlock(&sp->mutex); | ||
| 635 | return 0; | ||
| 636 | } | ||
| 637 | 610 | ||
| 638 | int pvr2_buffer_set_buffer(struct pvr2_buffer *bp,void *ptr,unsigned int cnt) | 611 | int pvr2_buffer_set_buffer(struct pvr2_buffer *bp,void *ptr,unsigned int cnt) |
| 639 | { | 612 | { |
| @@ -673,10 +646,6 @@ int pvr2_buffer_get_status(struct pvr2_buffer *bp) | |||
| 673 | return bp->status; | 646 | return bp->status; |
| 674 | } | 647 | } |
| 675 | 648 | ||
| 676 | enum pvr2_buffer_state pvr2_buffer_get_state(struct pvr2_buffer *bp) | ||
| 677 | { | ||
| 678 | return bp->state; | ||
| 679 | } | ||
| 680 | 649 | ||
| 681 | int pvr2_buffer_get_id(struct pvr2_buffer *bp) | 650 | int pvr2_buffer_get_id(struct pvr2_buffer *bp) |
| 682 | { | 651 | { |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-io.h b/drivers/media/video/pvrusb2/pvrusb2-io.h index 65e11385b2b3..96285ad234a6 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-io.h +++ b/drivers/media/video/pvrusb2/pvrusb2-io.h | |||
| @@ -36,8 +36,6 @@ enum pvr2_buffer_state { | |||
| 36 | struct pvr2_stream; | 36 | struct pvr2_stream; |
| 37 | struct pvr2_buffer; | 37 | struct pvr2_buffer; |
| 38 | 38 | ||
| 39 | const char *pvr2_buffer_state_decode(enum pvr2_buffer_state); | ||
| 40 | |||
| 41 | /* Initialize / tear down stream structure */ | 39 | /* Initialize / tear down stream structure */ |
| 42 | struct pvr2_stream *pvr2_stream_create(void); | 40 | struct pvr2_stream *pvr2_stream_create(void); |
| 43 | void pvr2_stream_destroy(struct pvr2_stream *); | 41 | void pvr2_stream_destroy(struct pvr2_stream *); |
| @@ -49,7 +47,6 @@ void pvr2_stream_set_callback(struct pvr2_stream *, | |||
| 49 | void *data); | 47 | void *data); |
| 50 | 48 | ||
| 51 | /* Query / set the nominal buffer count */ | 49 | /* Query / set the nominal buffer count */ |
| 52 | int pvr2_stream_get_buffer_count(struct pvr2_stream *); | ||
| 53 | int pvr2_stream_set_buffer_count(struct pvr2_stream *,unsigned int); | 50 | int pvr2_stream_set_buffer_count(struct pvr2_stream *,unsigned int); |
| 54 | 51 | ||
| 55 | /* Get a pointer to a buffer that is either idle, ready, or is specified | 52 | /* Get a pointer to a buffer that is either idle, ready, or is specified |
| @@ -59,12 +56,8 @@ struct pvr2_buffer *pvr2_stream_get_ready_buffer(struct pvr2_stream *); | |||
| 59 | struct pvr2_buffer *pvr2_stream_get_buffer(struct pvr2_stream *sp,int id); | 56 | struct pvr2_buffer *pvr2_stream_get_buffer(struct pvr2_stream *sp,int id); |
| 60 | 57 | ||
| 61 | /* Find out how many buffers are idle or ready */ | 58 | /* Find out how many buffers are idle or ready */ |
| 62 | int pvr2_stream_get_idle_count(struct pvr2_stream *); | ||
| 63 | int pvr2_stream_get_ready_count(struct pvr2_stream *); | 59 | int pvr2_stream_get_ready_count(struct pvr2_stream *); |
| 64 | 60 | ||
| 65 | /* Kill all pending operations */ | ||
| 66 | void pvr2_stream_flush(struct pvr2_stream *); | ||
| 67 | |||
| 68 | /* Kill all pending buffers and throw away any ready buffers as well */ | 61 | /* Kill all pending buffers and throw away any ready buffers as well */ |
| 69 | void pvr2_stream_kill(struct pvr2_stream *); | 62 | void pvr2_stream_kill(struct pvr2_stream *); |
| 70 | 63 | ||
| @@ -77,18 +70,12 @@ unsigned int pvr2_buffer_get_count(struct pvr2_buffer *); | |||
| 77 | /* Retrieve completion code for given ready buffer */ | 70 | /* Retrieve completion code for given ready buffer */ |
| 78 | int pvr2_buffer_get_status(struct pvr2_buffer *); | 71 | int pvr2_buffer_get_status(struct pvr2_buffer *); |
| 79 | 72 | ||
| 80 | /* Retrieve state of given buffer */ | ||
| 81 | enum pvr2_buffer_state pvr2_buffer_get_state(struct pvr2_buffer *); | ||
| 82 | |||
| 83 | /* Retrieve ID of given buffer */ | 73 | /* Retrieve ID of given buffer */ |
| 84 | int pvr2_buffer_get_id(struct pvr2_buffer *); | 74 | int pvr2_buffer_get_id(struct pvr2_buffer *); |
| 85 | 75 | ||
| 86 | /* Start reading into given buffer (kill it if needed) */ | 76 | /* Start reading into given buffer (kill it if needed) */ |
| 87 | int pvr2_buffer_queue(struct pvr2_buffer *); | 77 | int pvr2_buffer_queue(struct pvr2_buffer *); |
| 88 | 78 | ||
| 89 | /* Move buffer back to idle pool (kill it if needed) */ | ||
| 90 | int pvr2_buffer_idle(struct pvr2_buffer *); | ||
| 91 | |||
| 92 | #endif /* __PVRUSB2_IO_H */ | 79 | #endif /* __PVRUSB2_IO_H */ |
| 93 | 80 | ||
| 94 | /* | 81 | /* |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-ioread.c b/drivers/media/video/pvrusb2/pvrusb2-ioread.c index 49da062e3271..4dce1a462f50 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-ioread.c +++ b/drivers/media/video/pvrusb2/pvrusb2-ioread.c | |||
| @@ -251,12 +251,8 @@ int pvr2_ioread_set_enabled(struct pvr2_ioread *cp,int fl) | |||
| 251 | return ret; | 251 | return ret; |
| 252 | } | 252 | } |
| 253 | 253 | ||
| 254 | int pvr2_ioread_get_enabled(struct pvr2_ioread *cp) | ||
| 255 | { | ||
| 256 | return cp->enabled != 0; | ||
| 257 | } | ||
| 258 | 254 | ||
| 259 | int pvr2_ioread_get_buffer(struct pvr2_ioread *cp) | 255 | static int pvr2_ioread_get_buffer(struct pvr2_ioread *cp) |
| 260 | { | 256 | { |
| 261 | int stat; | 257 | int stat; |
| 262 | 258 | ||
| @@ -307,7 +303,7 @@ int pvr2_ioread_get_buffer(struct pvr2_ioread *cp) | |||
| 307 | return !0; | 303 | return !0; |
| 308 | } | 304 | } |
| 309 | 305 | ||
| 310 | void pvr2_ioread_filter(struct pvr2_ioread *cp) | 306 | static void pvr2_ioread_filter(struct pvr2_ioread *cp) |
| 311 | { | 307 | { |
| 312 | unsigned int idx; | 308 | unsigned int idx; |
| 313 | if (!cp->enabled) return; | 309 | if (!cp->enabled) return; |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-ioread.h b/drivers/media/video/pvrusb2/pvrusb2-ioread.h index 6b002597f5de..1d362f833588 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-ioread.h +++ b/drivers/media/video/pvrusb2/pvrusb2-ioread.h | |||
| @@ -33,7 +33,6 @@ void pvr2_ioread_set_sync_key(struct pvr2_ioread *, | |||
| 33 | const char *sync_key_ptr, | 33 | const char *sync_key_ptr, |
| 34 | unsigned int sync_key_len); | 34 | unsigned int sync_key_len); |
| 35 | int pvr2_ioread_set_enabled(struct pvr2_ioread *,int fl); | 35 | int pvr2_ioread_set_enabled(struct pvr2_ioread *,int fl); |
| 36 | int pvr2_ioread_get_enabled(struct pvr2_ioread *); | ||
| 37 | int pvr2_ioread_read(struct pvr2_ioread *,void __user *buf,unsigned int cnt); | 36 | int pvr2_ioread_read(struct pvr2_ioread *,void __user *buf,unsigned int cnt); |
| 38 | int pvr2_ioread_avail(struct pvr2_ioread *); | 37 | int pvr2_ioread_avail(struct pvr2_ioread *); |
| 39 | 38 | ||
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index 59f5ef5558c8..b12c2a7f1359 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c | |||
| @@ -81,7 +81,7 @@ static int video_nr[PVR_NUM] = {[0 ... PVR_NUM-1] = -1}; | |||
| 81 | module_param_array(video_nr, int, NULL, 0444); | 81 | module_param_array(video_nr, int, NULL, 0444); |
| 82 | MODULE_PARM_DESC(video_nr, "Offset for device's minor"); | 82 | MODULE_PARM_DESC(video_nr, "Offset for device's minor"); |
| 83 | 83 | ||
| 84 | struct v4l2_capability pvr_capability ={ | 84 | static struct v4l2_capability pvr_capability ={ |
| 85 | .driver = "pvrusb2", | 85 | .driver = "pvrusb2", |
| 86 | .card = "Hauppauge WinTV pvr-usb2", | 86 | .card = "Hauppauge WinTV pvr-usb2", |
| 87 | .bus_info = "usb", | 87 | .bus_info = "usb", |
| @@ -111,7 +111,7 @@ static struct v4l2_tuner pvr_v4l2_tuners[]= { | |||
| 111 | } | 111 | } |
| 112 | }; | 112 | }; |
| 113 | 113 | ||
| 114 | struct v4l2_fmtdesc pvr_fmtdesc [] = { | 114 | static struct v4l2_fmtdesc pvr_fmtdesc [] = { |
| 115 | { | 115 | { |
| 116 | .index = 0, | 116 | .index = 0, |
| 117 | .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, | 117 | .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, |
| @@ -127,7 +127,7 @@ struct v4l2_fmtdesc pvr_fmtdesc [] = { | |||
| 127 | #define PVR_FORMAT_PIX 0 | 127 | #define PVR_FORMAT_PIX 0 |
| 128 | #define PVR_FORMAT_VBI 1 | 128 | #define PVR_FORMAT_VBI 1 |
| 129 | 129 | ||
| 130 | struct v4l2_format pvr_format [] = { | 130 | static struct v4l2_format pvr_format [] = { |
| 131 | [PVR_FORMAT_PIX] = { | 131 | [PVR_FORMAT_PIX] = { |
| 132 | .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, | 132 | .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, |
| 133 | .fmt = { | 133 | .fmt = { |
| @@ -724,7 +724,7 @@ static void pvr2_v4l2_destroy_no_lock(struct pvr2_v4l2 *vp) | |||
| 724 | } | 724 | } |
| 725 | 725 | ||
| 726 | 726 | ||
| 727 | void pvr2_v4l2_internal_check(struct pvr2_channel *chp) | 727 | static void pvr2_v4l2_internal_check(struct pvr2_channel *chp) |
| 728 | { | 728 | { |
| 729 | struct pvr2_v4l2 *vp; | 729 | struct pvr2_v4l2 *vp; |
| 730 | vp = container_of(chp,struct pvr2_v4l2,channel); | 730 | vp = container_of(chp,struct pvr2_v4l2,channel); |
| @@ -734,8 +734,8 @@ void pvr2_v4l2_internal_check(struct pvr2_channel *chp) | |||
| 734 | } | 734 | } |
| 735 | 735 | ||
| 736 | 736 | ||
| 737 | int pvr2_v4l2_ioctl(struct inode *inode, struct file *file, | 737 | static int pvr2_v4l2_ioctl(struct inode *inode, struct file *file, |
| 738 | unsigned int cmd, unsigned long arg) | 738 | unsigned int cmd, unsigned long arg) |
| 739 | { | 739 | { |
| 740 | 740 | ||
| 741 | /* Temporary hack : use ivtv api until a v4l2 one is available. */ | 741 | /* Temporary hack : use ivtv api until a v4l2 one is available. */ |
| @@ -746,7 +746,7 @@ int pvr2_v4l2_ioctl(struct inode *inode, struct file *file, | |||
| 746 | } | 746 | } |
| 747 | 747 | ||
| 748 | 748 | ||
| 749 | int pvr2_v4l2_release(struct inode *inode, struct file *file) | 749 | static int pvr2_v4l2_release(struct inode *inode, struct file *file) |
| 750 | { | 750 | { |
| 751 | struct pvr2_v4l2_fh *fhp = file->private_data; | 751 | struct pvr2_v4l2_fh *fhp = file->private_data; |
| 752 | struct pvr2_v4l2 *vp = fhp->vhead; | 752 | struct pvr2_v4l2 *vp = fhp->vhead; |
| @@ -793,7 +793,7 @@ int pvr2_v4l2_release(struct inode *inode, struct file *file) | |||
| 793 | } | 793 | } |
| 794 | 794 | ||
| 795 | 795 | ||
| 796 | int pvr2_v4l2_open(struct inode *inode, struct file *file) | 796 | static int pvr2_v4l2_open(struct inode *inode, struct file *file) |
| 797 | { | 797 | { |
| 798 | struct pvr2_v4l2_dev *dip = 0; /* Our own context pointer */ | 798 | struct pvr2_v4l2_dev *dip = 0; /* Our own context pointer */ |
| 799 | struct pvr2_v4l2_fh *fhp; | 799 | struct pvr2_v4l2_fh *fhp; |
